Start with cleaning up the LayerTreeHost class. Demarcate methods meant to be used by the embedder and ones which are internal. Ideally only what is used by the embedder should go on the interface.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/cebe49473f9ef76541d437833878eaae6dad268f commit cebe49473f9ef76541d437833878eaae6dad268f Author: khushalsagar <khushalsagar@chromium.org> Date: Wed Sep 07 23:27:01 2016 cc: Abstract the LayerTreeHost. Add a LayerTreeHostInterface which is implemented by the LayerTreeHost. This change moves the public methods on the LayerTreeHost used by the embedder to an interface, in preparation for restricting the use of the current LayerTreeHost implementation to the case where the compositor thread componenets run in the same process (a.k.a single threaded and threaded compositor), and a different implementation can be used where these are seperated by a network boundary. Currently only the use of the threaded compositor has been hidden behind the interface. Subsequent changes will move the single threaded compositor and the cc_unittests to use the interface as well. BUG= 625283 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2317753002 Cr-Commit-Position: refs/heads/master@{#417114} [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/blimp/client/app/compositor/browser_compositor.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/blimp/client/app/compositor/browser_compositor.h [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/blimp/client/core/compositor/blimp_compositor.h [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/blimp/client/core/compositor/blimp_compositor_unittest.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/BUILD.gn [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/layers/heads_up_display_layer.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/layers/layer.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/layers/painted_scrollbar_layer.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/layers/picture_image_layer.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/layers/picture_layer.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/layers/picture_layer_unittest.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/layers/surface_layer_unittest.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/layers/texture_layer_unittest.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/test/layer_tree_pixel_test.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/test/layer_tree_test.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/latency_info_swap_promise_monitor.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/latency_info_swap_promise_monitor.h [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree.h [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host.h [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_common_unittest.cc [add] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_interface.h [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_pixeltest_readback.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_pixeltest_tiles.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_unittest_animation.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_unittest_context.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_unittest_copyrequest.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_unittest_damage.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_unittest_picture.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_unittest_proxy.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_unittest_remote_server.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/layer_tree_host_unittest_scroll.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/property_tree_builder.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/proxy_impl.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/proxy_main.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/single_thread_proxy.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/swap_promise_monitor.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/cc/trees/swap_promise_monitor.h [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/content/browser/renderer_host/compositor_impl_android.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/content/renderer/gpu/render_widget_compositor.cc [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/content/renderer/gpu/render_widget_compositor.h [modify] https://crrev.com/cebe49473f9ef76541d437833878eaae6dad268f/ui/compositor/compositor.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf commit 8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf Author: khushalsagar <khushalsagar@chromium.org> Date: Sat Sep 10 03:13:19 2016 cc: Move UI Resource management out of LayerTreeHost. Moves out the UIResource request tracking into its own class composed into the LayerTreeHost. The code is pretty isolated and doesn't need to live in the host. BUG= 625283 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2322943003 Cr-Commit-Position: refs/heads/master@{#417812} [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/BUILD.gn [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/layers/nine_patch_layer_unittest.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/layers/painted_scrollbar_layer.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/layers/painted_scrollbar_layer_impl_unittest.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/layers/scrollbar_layer_unittest.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/layers/ui_resource_layer.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/layers/ui_resource_layer_unittest.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/resources/scoped_ui_resource.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/resources/scoped_ui_resource.h [add] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/resources/ui_resource_manager.cc [add] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/resources/ui_resource_manager.h [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/test/fake_layer_tree_host.h [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/test/fake_scoped_ui_resource.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/test/fake_scoped_ui_resource.h [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree.h [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree_host.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree_host.h [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree_host_interface.h [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree_host_unittest_context.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree_impl.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/layer_tree_impl.h [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/proxy_main.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/cc/trees/single_thread_proxy.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/content/browser/renderer_host/compositor_impl_android.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/ui/android/resources/resource_manager_impl.cc [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/ui/android/resources/resource_manager_impl.h [modify] https://crrev.com/8ec0740f51368ce84fd4ad5cd5ba9947f47c96cf/ui/android/resources/resource_manager_impl_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8297ae9916ffbacac9a30107eb54e0950e9bdb3f commit 8297ae9916ffbacac9a30107eb54e0950e9bdb3f Author: khushalsagar <khushalsagar@chromium.org> Date: Wed Sep 14 20:51:23 2016 cc: Add SwapPromiseManager and SurfaceSequenceGenerator. Move SwapPromise tracking to SwapPromiseManager and SurfaceSequnce creation to SurfaceSequenceGenerator. BUG= 625283 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2323423002 Cr-Commit-Position: refs/heads/master@{#418666} [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/BUILD.gn [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/layers/layer.h [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/layers/painted_scrollbar_layer.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/layers/surface_layer.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/layers/surface_layer_unittest.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/layers/ui_resource_layer.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/latency_info_swap_promise_monitor.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/latency_info_swap_promise_monitor.h [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/layer_tree.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/layer_tree.h [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/layer_tree_host.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/layer_tree_host.h [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/layer_tree_host_impl_unittest.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/layer_tree_host_interface.h [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/layer_tree_host_unittest.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/layer_tree_host_unittest_serialization.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/proxy_main.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/scoped_abort_remaining_swap_promises.h [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/single_thread_proxy.cc [add] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/surface_sequence_generator.cc [add] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/surface_sequence_generator.h [add] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/surface_sequence_generator_unittest.cc [add] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/swap_promise_manager.cc [add] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/swap_promise_manager.h [add] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/swap_promise_manager_unittest.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/swap_promise_monitor.cc [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/cc/trees/swap_promise_monitor.h [modify] https://crrev.com/8297ae9916ffbacac9a30107eb54e0950e9bdb3f/content/renderer/gpu/render_widget_compositor.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6156779859b6c4978df742a2a09426ef554c9861 commit 6156779859b6c4978df742a2a09426ef554c9861 Author: khushalsagar <khushalsagar@chromium.org> Date: Sat Sep 17 00:13:58 2016 cc: Rename LayerTreeHost to LayerTreeHostInProcess. This is the final patch in the series that abstracts the LayerTreeHost class to provide an implementation that run the impl thread components in-process (single-threaded and threaded compositor). This renames that existing implementation to the LayerTreeHostInProcess. Next up, we add an implementation that handles remoting the content provided to the compositor across a network boundary. BUG= 625283 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel Review-Url: https://codereview.chromium.org/2340143002 Cr-Commit-Position: refs/heads/master@{#419338} [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/blimp/client/core/compositor/blimp_compositor.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/blimp/client/core/compositor/blimp_compositor.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/blimp/client/core/compositor/blimp_compositor_unittest.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/blimp/client/support/compositor/blimp_embedder_compositor.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/blimp/client/support/compositor/blimp_embedder_compositor.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/BUILD.gn [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/layers/heads_up_display_layer.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/layers/layer_unittest.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/layers/picture_image_layer.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/layers/picture_layer.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/layers/picture_layer_unittest.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/layers/scrollbar_layer_unittest.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/layers/texture_layer_unittest.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/test/fake_layer_tree_host.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/test/fake_layer_tree_host.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/test/layer_tree_pixel_resource_test.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/test/layer_tree_test.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/test/layer_tree_test.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/channel_main.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/layer_tree.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/layer_tree_host.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/layer_tree_host_common_unittest.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/layer_tree_host_impl.cc [rename] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/layer_tree_host_in_process.cc [add] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/layer_tree_host_in_process.h [delete] https://crrev.com/868a1534ff4f840f367ba7f976176a147c385b7b/cc/trees/layer_tree_host_interface.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/layer_tree_host_unittest_remote_server.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/layer_tree_host_unittest_scroll.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/layer_tree_impl.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/property_tree_builder.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/proxy_impl.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/proxy_impl.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/proxy_main.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/proxy_main.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/remote_channel_impl.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/remote_channel_impl.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/remote_channel_main.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/remote_channel_main.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/single_thread_proxy.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/single_thread_proxy.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/threaded_channel.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/cc/trees/threaded_channel.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/content/browser/renderer_host/compositor_impl_android.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/content/renderer/gpu/render_widget_compositor.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/content/renderer/gpu/render_widget_compositor.h [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/content/renderer/render_view_browsertest.cc [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/third_party/WebKit/Source/platform/graphics/compositing/PaintArtifactCompositorTest.cpp [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/third_party/WebKit/Source/platform/testing/WebLayerTreeViewImplForTesting.cpp [modify] https://crrev.com/6156779859b6c4978df742a2a09426ef554c9861/ui/compositor/compositor.cc
Comment 1 by bugdroid1@chromium.org
, Sep 7 2016