New issue
Advanced search Search tips

Issue 759310 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 18
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocked on:
issue 760348
issue 763150

Blocking:
issue 582955



Sign in to add a comment

Remove client-side code that is handled by the new CopyOutputRequest API features

Project Member Reported by m...@chromium.org, Aug 26 2017

Issue description

While updating the viz::CopyOutputRequest/Result API, I noticed code in content/browser/renderer_host/render_widget_host_view_android.cc that requests texture copies and then has extensive infrastructure to maintain a GLHelper instance to read back the textures into SkBitmaps.

However, the CopyOutputRequest API already has a way to require SkBitmap results. Thus, all the code related to managing textures and reading them back via GLHelper can be removed.
 

Comment 1 by m...@chromium.org, Aug 27 2017

Summary: content::CopyFromCompositingSurfaceHasResult() doesn't need textures/GLHelper (was: RenderWidgetHostViewAndroid::CopyFromSurface doesn't need textures/GLHelper)
As I've been looking around more, it seems this is a much wider issue, as some of the same assumptions were made (i.e., that GPU readback must be done client-side) when refactoring similar code into surface_utils.cc. I've changed the title of this bug to reflect that.

The cool thing is: Once all  bug 754872  is resolved, fixing this is pretty much just deleting several hundred lines of extra code we don't need anymore. :-)
Project Member

Comment 2 by bugdroid1@chromium.org, Sep 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b9ad27a485e6c86c9a953686821492c6d8549e1e

commit b9ad27a485e6c86c9a953686821492c6d8549e1e
Author: Yuri Wiitala <miu@chromium.org>
Date: Wed Sep 06 19:13:50 2017

Tab Capture in VIZ: CopyOutputRequest/Result API changes.

Simplified creation of requests and sending of results to support the
effort to move tab/desktop capture into the VIZ component. The high-
level philosophy here is for clients to get exactly the result type they
ask for, matched to their use case. For example, one-off snapshots need
scaled SkBitmaps that are immediately ready for use, while layer
animations only need a texture reference to assign to an animated layer.
Furthermore, clients should not be burdened with having to deal with ALL
of the possible separate storage/access or ownership semantics that are
specific to whichever DirectRenderer happened to generate the results.

Summary of changes:

CopyOutputRequest: 1) Removed pre-C++11-style CreateXYZ() methods in
favor of a simple ctor. 2) Removed SendXYZ() methods in favor of a
single SendResult() method that works with the new polymorphic
CopyOutputResults. 3) Replaced CreateEmptyRequest() with
CreateStubForTesting(), since non-test code should never create empty
requests. 4) Add ResultFormat enum to allow clients to request exactly
what they should get, rather than be burdened with coding for all
possible result formats.

CopyOutputResult: Common accessor API, but each DirectRenderer impl that
executes copy requests can use their own subclass impl(s) to manage
their own special result storage/access and ownership semantics and
provide auto-format conversions where it makes sense.

Updated mojo IDL, struct traits, client code, and unit tests to match
the API changes.

Bug:  754872 , 758057, 644851,  759310 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ia309e261a92e05a475a35732ba6df3497366478d
Reviewed-on: https://chromium-review.googlesource.com/637003
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: ccameron chromium <ccameron@chromium.org>
Reviewed-by: Alexandre Elias <aelias@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#500033}
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ash/rotator/screen_rotation_animator.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/ipc/copy_output_result.mojom
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/ipc/copy_output_result_struct_traits.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/ipc/copy_output_result_struct_traits.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/ipc/struct_traits_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/layers/layer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/layers/layer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/direct_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/direct_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/software_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/software_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/software_renderer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/vulkan_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/output/vulkan_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/quads/render_pass_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/test/layer_test_common.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/test/layer_tree_pixel_test.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/test/layer_tree_pixel_test.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/test/pixel_test.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_common_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_pixeltest_readback.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/cc/trees/occlusion_tracker_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/exo/pointer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/OWNERS
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/common/quads/copy_output_request.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/common/quads/copy_output_request.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/common/quads/copy_output_result.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/common/quads/copy_output_result.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/display_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/gl_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/gl_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/gl_renderer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/skia_renderer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/skia_renderer.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/surface_aggregator.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/display/surface_aggregator_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/frame_sinks/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/surfaces/surface.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/components/viz/service/surfaces/surface_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/compositor/surface_utils.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/media/capture/aura_window_capture_machine.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/browser/renderer_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/remoting/host/chromeos/aura_desktop_capturer.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/remoting/host/chromeos/aura_desktop_capturer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/services/viz/public/cpp/compositing/copy_output_request_struct_traits.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/services/viz/public/cpp/compositing/copy_output_request_struct_traits.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/services/viz/public/interfaces/compositing/copy_output_request.mojom
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/android/delegated_frame_host_android.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/android/delegated_frame_host_android.h
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/compositor/layer_unittest.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/snapshot/snapshot_android.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/snapshot/snapshot_async.cc
[modify] https://crrev.com/b9ad27a485e6c86c9a953686821492c6d8549e1e/ui/snapshot/snapshot_aura.cc

Comment 3 by m...@chromium.org, Sep 8 2017

Blockedon: 763150
Note: For Android, we will need to be careful about testing changes related to this issue. Please see  bug 763150  for details.

Comment 4 by m...@chromium.org, Sep 23 2017

Blockedon: 760348
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/33c015fe245e81ae4186db1c05a636d16cf38a8f

commit 33c015fe245e81ae4186db1c05a636d16cf38a8f
Author: Yuri Wiitala <miu@chromium.org>
Date: Thu Sep 28 06:46:12 2017

Add scaling capability to CopyOutputRequests. (Part 1 of 2)

Introduce a new scaling ratio property to CopyOutputRequest that asks
for result bitmaps/textures to be scaled. This is the first of a
two-part change: The CopyOutputRequest API is changed, along with its
corresponding mojo struct traits, and the SoftwareRenderer impl to
support this feature is put in place. (Part 2 will add the GLRenderer
implementation.)

This is a prerequisite change needed for moving tab capture into VIZ, as
well as several clean-up efforts to simplify the snapshot-taking code in
libcontent.

TBR=fsamuel@chromium.org

Bug:  760348 ,  759310 
Change-Id: I98d2f5fdb4ea2b7dfe234f35873a9a0cc56d4ccb
Reviewed-on: https://chromium-review.googlesource.com/679975
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504927}
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/common/BUILD.gn
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/common/frame_sinks/copy_output_request.cc
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/common/frame_sinks/copy_output_request.h
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/common/frame_sinks/copy_output_result.h
[add] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/common/frame_sinks/copy_output_util.cc
[add] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/common/frame_sinks/copy_output_util.h
[add] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/common/frame_sinks/copy_output_util_unittest.cc
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/service/display/gl_renderer.cc
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/service/display/software_renderer.cc
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/components/viz/service/display/software_renderer_unittest.cc
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/services/viz/public/cpp/compositing/copy_output_request_struct_traits.cc
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/services/viz/public/cpp/compositing/copy_output_request_struct_traits.h
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/33c015fe245e81ae4186db1c05a636d16cf38a8f/services/viz/public/interfaces/compositing/copy_output_request.mojom

Project Member

Comment 6 by bugdroid1@chromium.org, Oct 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/081f9dcc223a535202a52c351392514ad5635650

commit 081f9dcc223a535202a52c351392514ad5635650
Author: Yuri Wiitala <miu@chromium.org>
Date: Fri Oct 06 23:50:16 2017

Add scaling capability to CopyOutputRequests. (Part 2 of 2)

This adds the GLRenderer implementation needed to support "scaling"
CopyOutputRequests. Because this and additional upcoming implementation
are rather "meaty," the decision was made to break out all the code
related to copy request execution into a separate helper class,
GLRendererCopier.

GLRendererCopier not only executes CopyOutputRequests using GL, it also
manages the caching of resources needed to ensure efficient video
performance (i.e., for screen capture use cases). This change should
perform as well, or better, than the previous implementation in the perf
bot waterfall.

This change also adds a plethora of testing to ensure all possible code
paths are exercised, rect calculations and Y-flipping are being done
correctly, caching works as expected, and enables the GLRenderer-variant
of the recently-added scaling tests in copy_output_scaling_pixeltest.cc.

This is a prerequisite change needed for moving tab capture into VIZ, as
well as several clean-up efforts to simplify the snapshot-taking code in
libcontent.

Bug:  760348 ,  759310 
Change-Id: Idff091ec34c8f76bffce859615308084be310abe
Reviewed-on: https://chromium-review.googlesource.com/696489
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507232}
[modify] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/BUILD.gn
[modify] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/common/frame_sinks/copy_output_request.h
[modify] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/common/frame_sinks/copy_output_result.cc
[modify] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/service/BUILD.gn
[modify] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/service/display/copy_output_scaling_pixeltest.cc
[modify] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/service/display/direct_renderer.cc
[modify] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/service/display/gl_renderer.cc
[modify] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/service/display/gl_renderer.h
[add] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/service/display/gl_renderer_copier.cc
[add] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/service/display/gl_renderer_copier.h
[add] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/service/display/gl_renderer_copier_pixeltest.cc
[add] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/service/display/gl_renderer_copier_unittest.cc
[add] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/test/data/16_color_rects.png
[add] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/test/data/half_of_one_of_16_color_rects.png
[add] https://crrev.com/081f9dcc223a535202a52c351392514ad5635650/components/viz/test/data/one_of_16_color_rects.png

Comment 7 by piman@chromium.org, Dec 19 2017

Cc: ericrk@chromium.org

Comment 8 by m...@chromium.org, Jan 26 2018

At this point, the additions to the CopyOutputRequest API should be unblocking this bug. We can start replacing all the GLHelper+texture readback+etc. stuff in surface_utils.cc with properties set on the copy request.

Comment 9 by m...@chromium.org, Jan 27 2018

Summary: Remove client-side code that is handled by the new CopyOutputRequest API features (was: content::CopyFromCompositingSurfaceHasResult() doesn't need textures/GLHelper)

Comment 10 by m...@chromium.org, Feb 7 2018

Components: Internals>Media>ScreenCapture
Project Member

Comment 11 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/483530c1094f0ad6fe36663262b484be300f472e

commit 483530c1094f0ad6fe36663262b484be300f472e
Author: Yuri Wiitala <miu@chromium.org>
Date: Thu Feb 08 07:17:34 2018

Layer CopyOutputRequests execute in VIZ service.

Implements the final missing pieces allowing CopyOutputRequests made on
Layers to propagate and execute in the VIZ display compositor:

1. Added missing mojo fields and struct traits for viz::CopyOutputRequest
and viz::RenderPass.

2. Added extra transform code to cc::EffectTree::TakeCRsAndTransform()
to account for the scaling ratio, not just the source area.

3. Updated DelegatedFrameHost::CopyFromCompositingSurface() to use the
new scaling APIs, enabling testing and otherwise proving that all "the
plumbing" is in-place.

4. Updated RenderWidgetHostViewBrowserTests so that they now work with
--enabled-features=VizDisplayCompositor. (And, disabled dead tests I did
not feel we should bother updating; to be removed in a later change.)

5. Added privilege checks to make sure CopyOutputRequests cannot be made
from unprivileged clients. Added new RWHostImpl browser test to confirm.

Testing (all with and without --enable-features=VizDisplayCompositor):

1. All RenderWidgetHostViewBrowserTest content_browsertests pass.

2. On CrOS Ash desktop, tested CTRL-F5 (full screenshot) and
SHIFT-CTRL-F5 (partial screenshot).

3. On Linux, confirmed chrome.captureVisibleTab() screenshot API works
via the common/extensions/docs/examples/api/tabs/screenshot demo
extension.

Bug:  806375 ,  806366 ,  759310 ,  771354 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I98ad6cd90f332318dbdea9449e5d9c3a31679114
Reviewed-on: https://chromium-review.googlesource.com/890339
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535325}
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/cc/trees/property_tree.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/common/quads/compositor_frame.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/common/quads/compositor_frame.h
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/common/quads/render_pass.h
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/service/display/surface_aggregator_unittest.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/service/frame_sinks/compositor_frame_sink_impl.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/service/frame_sinks/compositor_frame_sink_support.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/service/frame_sinks/compositor_frame_sink_support.h
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/service/frame_sinks/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/service/frame_sinks/root_compositor_frame_sink_impl.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/components/viz/test/test_layer_tree_frame_sink.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/content/browser/bad_message.h
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/content/browser/renderer_host/delegated_frame_host.cc
[add] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/content/browser/renderer_host/render_widget_host_browsertest.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/content/browser/renderer_host/render_widget_host_view_browsertest.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/content/test/BUILD.gn
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/services/viz/public/cpp/compositing/copy_output_request_struct_traits.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/services/viz/public/cpp/compositing/copy_output_request_struct_traits.h
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/services/viz/public/cpp/compositing/render_pass_struct_traits.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/services/viz/public/cpp/compositing/render_pass_struct_traits.h
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/services/viz/public/interfaces/compositing/copy_output_request.mojom
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/services/viz/public/interfaces/compositing/render_pass.mojom
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/testing/buildbot/filters/viz.content_browsertests.filter
[modify] https://crrev.com/483530c1094f0ad6fe36663262b484be300f472e/tools/metrics/histograms/enums.xml

Comment 12 by m...@chromium.org, Feb 14 2018

Blocking: -754872
Project Member

Comment 13 by bugdroid1@chromium.org, Feb 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0f32a834c7a12c426d18c82e6e21be66d48a4500

commit 0f32a834c7a12c426d18c82e6e21be66d48a4500
Author: Yuri Wiitala <miu@chromium.org>
Date: Wed Feb 14 20:52:27 2018

Migrate RWHVChildFrame to use new CopyOutputRequest APIs.

This change brings RenderWidgetHostViewChildFrame::CopyFromSurface()
in-sync with DelegatedFrameHost. It switches over to using the new
CopyOutputRequest scaling APIs, freeing up one of the last dependencies
on the "GLHelper mass of code" in surface_utils.cc.

Bug:  759310 ,  812059 
Change-Id: I7fc5e997cf1e442dfd674bdc131e9de7f6d349eb
Reviewed-on: https://chromium-review.googlesource.com/918361
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536810}
[modify] https://crrev.com/0f32a834c7a12c426d18c82e6e21be66d48a4500/content/browser/renderer_host/render_widget_host_view_child_frame.cc

Project Member

Comment 14 by bugdroid1@chromium.org, Feb 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2453e4799e7040b25e8c0c94e65a7ad3e623d66b

commit 2453e4799e7040b25e8c0c94e65a7ad3e623d66b
Author: Yuri Wiitala <miu@chromium.org>
Date: Thu Feb 15 02:17:14 2018

Move grayscale conversion into NavigationEntryScreenshotManager.

Changes the location of the RGB→Grayscale conversion of the
CopyFromSurface() result SkBitmap to be in
NavigationEntryScreenshotManager, as it is the only use case. This
unblocks a massive clean-up effort for  bug 759310 .

For reference, the following was the code that was doing the conversion
before (and is a part of a major chunk of code that we want to delete):
https://cs.chromium.org/chromium/src/content/browser/compositor/surface_utils.cc?rcl=2fe7073e23caa42cbd01575ab206ba8928ccd645&l=146

Bug:  759310 
Change-Id: I2687e69b284d5c24ead10b05b49f678cf8375651
Reviewed-on: https://chromium-review.googlesource.com/919603
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Nick Carter <nick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536929}
[modify] https://crrev.com/2453e4799e7040b25e8c0c94e65a7ad3e623d66b/content/browser/frame_host/navigation_entry_screenshot_manager.cc

Project Member

Comment 15 by bugdroid1@chromium.org, Feb 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/553d774da922e325f50e9bc5e7c9429d3ab7b803

commit 553d774da922e325f50e9bc5e7c9429d3ab7b803
Author: Gabriel Charette <gab@chromium.org>
Date: Thu Feb 15 11:29:30 2018

Revert "Move grayscale conversion into NavigationEntryScreenshotManager."

This reverts commit 2453e4799e7040b25e8c0c94e65a7ad3e623d66b.

Reason for revert: causing MSAN failures on https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20MSan%20Tests

[ RUN      ] NavigationControllerTest.PurgeScreenshot
==7007==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x8a3a26f in round ./../../third_party/skia/src/jumper/SkJumper_stages.cpp:462:41
    #1 0x8a3a26f in to_unorm ./../../third_party/skia/src/jumper/SkJumper_stages.cpp:905:0
    #2 0x8a3a26f in store_a8_k ./../../third_party/skia/src/jumper/SkJumper_stages.cpp:1584:0
    #3 0x8a3a26f in sk_store_a8 ./../../third_party/skia/src/jumper/SkJumper_stages.cpp:1581:0
    #4 0x8a234d9 in sk_start_pipeline ./../../third_party/skia/src/jumper/SkJumper_stages.cpp:755:13
    #5 0x86a6c88 in operator() ./../../buildtools/third_party/libc++/trunk/include/functional:1916:12
    #6 0x86a6c88 in SkRasterPipelineBlitter::blitRect(int, int, int, int) ./../../third_party/skia/src/core/SkRasterPipelineBlitter.cpp:352:0
    #7 0x873337f in blitrect ./../../third_party/skia/src/core/SkScan.cpp:25:14
    #8 0x873337f in SkScan::FillIRect(SkIRect const&, SkRegion const*, SkBlitter*) ./../../third_party/skia/src/core/SkScan.cpp:36:0
    #9 0x873497d in FillRect ./../../third_party/skia/src/core/SkScan.cpp:71:5
    #10 0x873497d in SkScan::FillRect(SkRect const&, SkRasterClip const&, SkBlitter*) ./../../third_party/skia/src/core/SkScan.cpp:113:0
    #11 0x849775d in SkDraw::drawRect(SkRect const&, SkPaint const&, SkMatrix const*, SkRect const*) const ./../../third_party/skia/src/core/SkDraw.cpp:814:21
    #12 0x849ee7b in SkDraw::drawBitmap(SkBitmap const&, SkMatrix const&, SkRect const*, SkPaint const&) const ./../../third_party/skia/src/core/SkDraw.h:0:15
    #13 0x836e327 in SkBitmapDevice::drawBitmap(SkBitmap const&, float, float, SkPaint const&) ./../../third_party/skia/src/core/SkBitmapDevice.cpp:233:18
    #14 0x83fb1fe in SkCanvas::onDrawBitmap(SkBitmap const&, float, float, SkPaint const*) ./../../third_party/skia/src/core/SkCanvas.cpp:2309:27
    #15 0x83ea9fa in SkCanvas::drawBitmap(SkBitmap const&, float, float, SkPaint const*) ./../../third_party/skia/src/core/SkCanvas.cpp:1837:11
    #16 0xd832b25 in content::ScreenshotData::EncodeOnWorker(SkBitmap const&) ./../../content/browser/frame_host/navigation_entry_screenshot_manager.cc:60:14
    #17 0x1151efaf in Run ./../../base/callback.h:65:12
    #18 0x1151efaf in base::(anonymous namespace)::PostTaskAndReplyRelay::RunTaskAndPostReply() ./../../base/threading/post_task_and_reply_impl.cc:45:0
    #19 0x1132685a in Run ./../../base/callback.h:65:12
    #20 0x1132685a in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) ./../../base/debug/task_annotator.cc:55:0
    #21 0x114ee940 in base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) ./../../base/task_scheduler/task_tracker.cc:441:23
    #22 0x114f5b30 in base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) ./../../base/task_scheduler/task_tracker_posix.cc:25:16
    #23 0xf099880 in base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) ./../../base/test/scoped_task_environment.cc:280:49
    #24 0x114ec1e0 in base::internal::TaskTracker::RunNextTask(scoped_refptr<base::internal::Sequence>, base::internal::CanScheduleSequenceObserver*) ./../../base/task_scheduler/task_tracker.cc:343:3
    #25 0x114dece1 in base::internal::SchedulerWorker::Thread::ThreadMain() ./../../base/task_scheduler/scheduler_worker.cc:81:41
    #26 0x1151e887 in base::(anonymous namespace)::ThreadFunc(void*) ./../../base/threading/platform_thread_posix.cc:75:13
    #27 0x7fe34df7e183 in start_thread /build/eglibc-SvCtMH/eglibc-2.19/nptl/pthread_create.c:312:0
    #28 0x7fe346aceffc in clone /build/eglibc-SvCtMH/eglibc-2.19/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:111:0
  Uninitialized value was created by a heap allocation
    #0 0x16e48ed in __interceptor_malloc /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/msan/msan_interceptors.cc:944:3
    #1 0x11448cb9 in base::UncheckedMalloc(unsigned long, void**) ./../../base/process/memory_linux.cc:105:13
    #2 0xfeb9235 in malloc_nothrow ./../../skia/ext/SkMemory_new_handler.cpp:76:19
    #3 0xfeb9235 in sk_malloc_flags(unsigned long, unsigned int) ./../../skia/ext/SkMemory_new_handler.cpp:115:0
    #4 0x853330b in sk_malloc_canfail ./../../third_party/skia/include/private/SkMalloc.h:93:12
    #5 0x853330b in MakeUsing ./../../third_party/skia/src/core/SkMallocPixelRef.cpp:76:0
    #6 0x853330b in SkMallocPixelRef::MakeAllocate(SkImageInfo const&, unsigned long) ./../../third_party/skia/src/core/SkMallocPixelRef.cpp:86:0
    #7 0x835ead5 in SkBitmap::tryAllocPixels(SkImageInfo const&, unsigned long) ./../../third_party/skia/src/core/SkBitmap.cpp:235:28
    #8 0xd8328df in tryAllocPixels ./../../third_party/skia/include/core/SkBitmap.h:517:22
    #9 0xd8328df in content::ScreenshotData::EncodeOnWorker(SkBitmap const&) ./../../content/browser/frame_host/navigation_entry_screenshot_manager.cc:55:0
    #10 0x1151efaf in Run ./../../base/callback.h:65:12
    #11 0x1151efaf in base::(anonymous namespace)::PostTaskAndReplyRelay::RunTaskAndPostReply() ./../../base/threading/post_task_and_reply_impl.cc:45:0
    #12 0x1132685a in Run ./../../base/callback.h:65:12
    #13 0x1132685a in base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) ./../../base/debug/task_annotator.cc:55:0
    #14 0x114ee940 in base::internal::TaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) ./../../base/task_scheduler/task_tracker.cc:441:23
    #15 0x114f5b30 in base::internal::TaskTrackerPosix::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) ./../../base/task_scheduler/task_tracker_posix.cc:25:16
    #16 0xf099880 in base::test::ScopedTaskEnvironment::TestTaskTracker::RunOrSkipTask(base::internal::Task, base::internal::Sequence*, bool) ./../../base/test/scoped_task_environment.cc:280:49
    #17 0x114ec1e0 in base::internal::TaskTracker::RunNextTask(scoped_refptr<base::internal::Sequence>, base::internal::CanScheduleSequenceObserver*) ./../../base/task_scheduler/task_tracker.cc:343:3
    #18 0x114dece1 in base::internal::SchedulerWorker::Thread::ThreadMain() ./../../base/task_scheduler/scheduler_worker.cc:81:41
    #19 0x1151e887 in base::(anonymous namespace)::ThreadFunc(void*) ./../../base/threading/platform_thread_posix.cc:75:13
    #20 0x7fe34df7e183 in start_thread /build/eglibc-SvCtMH/eglibc-2.19/nptl/pthread_create.c:312:0

Original change's description:
> Move grayscale conversion into NavigationEntryScreenshotManager.
> 
> Changes the location of the RGB→Grayscale conversion of the
> CopyFromSurface() result SkBitmap to be in
> NavigationEntryScreenshotManager, as it is the only use case. This
> unblocks a massive clean-up effort for  bug 759310 .
> 
> For reference, the following was the code that was doing the conversion
> before (and is a part of a major chunk of code that we want to delete):
> https://cs.chromium.org/chromium/src/content/browser/compositor/surface_utils.cc?rcl=2fe7073e23caa42cbd01575ab206ba8928ccd645&l=146
> 
> Bug:  759310 
> Change-Id: I2687e69b284d5c24ead10b05b49f678cf8375651
> Reviewed-on: https://chromium-review.googlesource.com/919603
> Commit-Queue: Yuri Wiitala <miu@chromium.org>
> Reviewed-by: Nick Carter <nick@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#536929}

TBR=miu@chromium.org,nick@chromium.org

Change-Id: I3de0c04ca25b20ed2322f76834d19e7a7fae4737
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  759310 
Reviewed-on: https://chromium-review.googlesource.com/921243
Reviewed-by: Gabriel Charette <gab@chromium.org>
Commit-Queue: Gabriel Charette <gab@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536990}
[modify] https://crrev.com/553d774da922e325f50e9bc5e7c9429d3ab7b803/content/browser/frame_host/navigation_entry_screenshot_manager.cc

Project Member

Comment 16 by bugdroid1@chromium.org, Feb 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bca2fc37330b1fbf8b9f1f54dc899c5c9eaed987

commit bca2fc37330b1fbf8b9f1f54dc899c5c9eaed987
Author: Yuri Wiitala <miu@chromium.org>
Date: Fri Feb 16 03:31:28 2018

Reland "Move grayscale conversion into NavigationEntryScreenshotManager."

Added back the canvas.clear() call that MSAN will whine without.

Original attempt: https://chromium-review.googlesource.com/c/chromium/src/+/919603

-------------------------Original description---------------------------

Changes the location of the RGB→Grayscale conversion of the
CopyFromSurface() result SkBitmap to be in
NavigationEntryScreenshotManager, as it is the only use case. This
unblocks a massive clean-up effort for  bug 759310 .

For reference, the following was the code that was doing the conversion
before (and is a part of a major chunk of code that we want to delete):
https://cs.chromium.org/chromium/src/content/browser/compositor/surface_utils.cc?rcl=2fe7073e23caa42cbd01575ab206ba8928ccd645&l=146

TBR=nick@chromium.org

Bug:  759310 
Change-Id: Id859a8589c9866919ac77c4b7e18527526e38a8c
Reviewed-on: https://chromium-review.googlesource.com/922873
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Reviewed-by: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#537177}
[modify] https://crrev.com/bca2fc37330b1fbf8b9f1f54dc899c5c9eaed987/content/browser/frame_host/navigation_entry_screenshot_manager.cc

Project Member

Comment 17 by bugdroid1@chromium.org, Feb 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/419ed0fc82d4f2ddde0a3a54a721e0c623882eff

commit 419ed0fc82d4f2ddde0a3a54a721e0c623882eff
Author: Yuri Wiitala <miu@chromium.org>
Date: Thu Feb 22 23:21:38 2018

Migrate RWHVAndroid to use new CopyOutputRequest APIs.

This change brings RenderWidgetHostViewAndroid::CopyFromSurface() and
DelegatedFrameHostAndroid in-sync with the desktop platform versions of
the same, and also fixes a bug where the output_size argument was being
device-scaled. It switches over to using the new CopyOutputRequest
scaling APIs, and deletes all the special client-side use of GLHelper
(which was being used to perform scaling post-copy).

Also, two important fixes were made:

1. A weirdness in the existing switcher UI where there was a width-
stretching problem, as mentioned in the description of a prior change:
https://codereview.chromium.org/2734043003 (commit
caa6a6165d28c3bb499fc0aec9bf391c6bda1578). Now the tab transition UI
thumbnails are *perfectly* aligned with the actual content rendering.

2. Devtools remote screen cast impl: The calculations in PageHandler
were rather confusing, and this was masking a bug where the wrong scale
factor was being applied to the remote's requested image size. This
change eliminates most of the calculations, since all that matters is
that whatever the Android device has locally is being scaled-to-fit
within the remote's requested width+height.

Manual Testing (on a Pixel XL; device scale factor of 3.5):

1. Android tab switcher UI.
2. DevTools remote screen cast inspector tool (resized window during
session to make sure it works for several remote image sizes).

Bug:  759310 ,  812059 ,  582955 
Change-Id: If0726d4947edfc1efa58fe926123b443b6649e55
Reviewed-on: https://chromium-review.googlesource.com/924388
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#538610}
[modify] https://crrev.com/419ed0fc82d4f2ddde0a3a54a721e0c623882eff/chrome/browser/android/compositor/tab_content_manager.cc
[modify] https://crrev.com/419ed0fc82d4f2ddde0a3a54a721e0c623882eff/content/browser/devtools/protocol/page_handler.cc
[modify] https://crrev.com/419ed0fc82d4f2ddde0a3a54a721e0c623882eff/content/browser/devtools/protocol/page_handler.h
[modify] https://crrev.com/419ed0fc82d4f2ddde0a3a54a721e0c623882eff/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/419ed0fc82d4f2ddde0a3a54a721e0c623882eff/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/419ed0fc82d4f2ddde0a3a54a721e0c623882eff/ui/android/delegated_frame_host_android.cc
[modify] https://crrev.com/419ed0fc82d4f2ddde0a3a54a721e0c623882eff/ui/android/delegated_frame_host_android.h

Project Member

Comment 18 by bugdroid1@chromium.org, Feb 27 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a4443f04150a3024c623205f4f276ec53c6a929

commit 6a4443f04150a3024c623205f4f276ec53c6a929
Author: Yuri Wiitala <miu@chromium.org>
Date: Tue Feb 27 22:29:27 2018

Remove unused elements from RWHV::CopyFromSurface() API and dead code.

Removes both: 1) the SkColorType argument; and 2) the ReadbackResponse
enum from the callback. Neither of these is being used meaningfully
anywhere. In addition, migrated Bind→BindOnce for the callback argument.

As a result, this interface change also exposes many obvious now-dead
code paths, and they are also removed: 1) the "decompress bitmap" code
in the Android TabContentManager (java and c++); 2) the extra post-copy
scaling GLHelper readback infrastructure in content/.../surface_utils.*.

Furthermore, due to touched lines of code, there are misc changes to
placate presubmit warnings (e.g., Bind→BindOnce, and test code that was
using content::RunMessageLoopUntilIdle()).

Finally, an order-of-operations bug in the use of CopyFromSurface() was
discovered in headless/... code and was fixed.

Bug:  759310 ,  582955 ,  415682 ,  760348 ,  807843 ,  787941 
Change-Id: I3398761661b7472ef24f40119278ec969a4929d5
Reviewed-on: https://chromium-review.googlesource.com/929874
Reviewed-by: Marc Treib <treib@chromium.org>
Reviewed-by: David Trainor <dtrainor@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Eric Seckler <eseckler@chromium.org>
Commit-Queue: Yuri Wiitala <miu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#539564}
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabObserver.java
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/android/java/src/org/chromium/chrome/browser/share/ShareMenuActionHandler.java
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/browser/android/compositor/tab_content_manager.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/browser/devtools/devtools_eye_dropper.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/browser/devtools/devtools_eye_dropper.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/browser/extensions/api/tabs/tabs_api.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/browser/plugins/plugin_power_saver_browsertest.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/browser/thumbnails/thumbnail_tab_helper.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/browser/thumbnails/thumbnail_tab_helper.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/chrome/browser/ui/exclusive_access/flash_fullscreen_interactive_browsertest.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/browser_plugin/browser_plugin_guest.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/compositor/surface_utils.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/compositor/surface_utils.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/devtools/devtools_frame_trace_recorder.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/devtools/protocol/page_handler.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/devtools/protocol/page_handler.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/frame_host/navigation_controller_impl_unittest.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/frame_host/navigation_entry_screenshot_manager.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/frame_host/navigation_entry_screenshot_manager.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/oop_browsertest.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/delegated_frame_host.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_browsertest.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_impl.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_base.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_browsertest.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/site_per_process_browsertest.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/public/android/BUILD.gn
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/public/android/java/src/org/chromium/content_public/browser/ContentBitmapCallback.java
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/public/browser/BUILD.gn
[delete] https://crrev.com/e1d1a13cdd8e14067786c5c81e3aa135e83b85b4/content/public/browser/readback_types.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/content/public/browser/render_widget_host_view.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/extensions/browser/api/guest_view/web_view/web_view_internal_api.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/extensions/browser/api/web_contents_capture_client.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/extensions/browser/api/web_contents_capture_client.h
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/headless/lib/browser/headless_web_contents_impl.cc
[modify] https://crrev.com/6a4443f04150a3024c623205f4f276ec53c6a929/headless/lib/browser/headless_web_contents_impl.h

Status: Fixed (was: Started)
Last remnants of cleanup here are being tracked by bug 870036.

Sign in to add a comment