cc: Implement shared worker contexts.
commita47ef41ea03d3a5b8965eb700b682ddf8a1f055a
authorreveman <reveman@chromium.org>
Wed, 16 Sep 2015 23:23:31 +0000 (16 16:23 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 16 Sep 2015 23:24:12 +0000 (16 23:24 +0000)
treeceeacf5cb585c19c4bbfb8c8db1c26f9a15f204b
parentebfca3a9126765796e141f541ab222158b6320ae
cc: Implement shared worker contexts.

This moves the responsibility to call BindToCurrentThread/SetupLock out
of cc::OutputSurface and to the maintainer of the (possibly) shared
context.

OutputSurface now needs to be destroyed on the same thread they
were created. OutputSurface::DetachFromClient() can be used to
destroy any resources that need to be destroyed on the thread
that the OutputSurface has been bound to.

BUG=523411
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review URL: https://codereview.chromium.org/1336733002

Cr-Commit-Position: refs/heads/master@{#349274}
52 files changed:
cc/layers/delegated_renderer_layer_impl_unittest.cc
cc/layers/heads_up_display_layer_impl_unittest.cc
cc/layers/layer_impl_unittest.cc
cc/layers/nine_patch_layer_impl_unittest.cc
cc/layers/picture_image_layer_impl_unittest.cc
cc/layers/picture_layer_impl_perftest.cc
cc/layers/picture_layer_impl_unittest.cc
cc/layers/texture_layer_unittest.cc
cc/layers/ui_resource_layer_impl_unittest.cc
cc/output/context_provider.h
cc/output/output_surface.cc
cc/output/output_surface.h
cc/raster/tile_task_worker_pool_unittest.cc
cc/test/fake_output_surface.h
cc/test/fake_proxy.h
cc/test/layer_test_common.cc
cc/test/layer_test_common.h
cc/test/layer_tree_test.cc
cc/test/test_context_provider.cc
cc/test/test_context_provider.h
cc/tiles/tile_manager_perftest.cc
cc/tiles/tile_manager_unittest.cc
cc/trees/layer_tree_host.cc
cc/trees/layer_tree_host.h
cc/trees/layer_tree_host_common_unittest.cc
cc/trees/layer_tree_host_impl.cc
cc/trees/layer_tree_host_impl.h
cc/trees/layer_tree_host_impl_unittest.cc
cc/trees/layer_tree_host_unittest.cc
cc/trees/layer_tree_impl_unittest.cc
cc/trees/occlusion_tracker_perftest.cc
cc/trees/proxy.h
cc/trees/single_thread_proxy.cc
cc/trees/single_thread_proxy.h
cc/trees/thread_proxy.cc
cc/trees/thread_proxy.h
content/browser/android/in_process/synchronous_compositor_factory_impl.cc
content/browser/android/in_process/synchronous_compositor_factory_impl.h
content/browser/android/in_process/synchronous_compositor_output_surface.cc
content/browser/android/in_process/synchronous_compositor_output_surface.h
content/browser/compositor/gpu_process_transport_factory.cc
content/child/child_thread_impl.cc
content/renderer/gpu/compositor_output_surface.cc
content/renderer/gpu/compositor_output_surface.h
content/renderer/gpu/mailbox_output_surface.cc
content/renderer/gpu/mailbox_output_surface.h
content/renderer/render_thread_impl.cc
content/renderer/render_thread_impl.h
content/renderer/render_widget.cc
ui/compositor/test/in_process_context_factory.cc
ui/compositor/test/in_process_context_factory.h
ui/compositor/test/in_process_context_provider.h