| Index: cc/trees/layer_tree_host.cc
|
| diff --git a/cc/trees/layer_tree_host.cc b/cc/trees/layer_tree_host.cc
|
| index 8a3e644bb1109fe7348501cde4fee91fd810f34e..9d2be1080d67bffeb3920bc777dcc17b2d17bd4f 100644
|
| --- a/cc/trees/layer_tree_host.cc
|
| +++ b/cc/trees/layer_tree_host.cc
|
| @@ -21,6 +21,7 @@
|
| #include "cc/animation/layer_animation_controller.h"
|
| #include "cc/base/math_util.h"
|
| #include "cc/debug/devtools_instrumentation.h"
|
| +#include "cc/debug/frame_viewer_instrumentation.h"
|
| #include "cc/debug/rendering_stats_instrumentation.h"
|
| #include "cc/input/layer_selection_bound.h"
|
| #include "cc/input/page_scale_animation.h"
|
| @@ -55,6 +56,7 @@ scoped_ptr<LayerTreeHost> LayerTreeHost::CreateThreaded(
|
| LayerTreeHostClient* client,
|
| SharedBitmapManager* shared_bitmap_manager,
|
| gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
|
| + TaskGraphRunner* task_graph_runner,
|
| const LayerTreeSettings& settings,
|
| scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
|
| scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner,
|
| @@ -62,7 +64,8 @@ scoped_ptr<LayerTreeHost> LayerTreeHost::CreateThreaded(
|
| DCHECK(main_task_runner.get());
|
| DCHECK(impl_task_runner.get());
|
| scoped_ptr<LayerTreeHost> layer_tree_host(new LayerTreeHost(
|
| - client, shared_bitmap_manager, gpu_memory_buffer_manager, settings));
|
| + client, shared_bitmap_manager, gpu_memory_buffer_manager,
|
| + task_graph_runner, settings));
|
| layer_tree_host->InitializeThreaded(main_task_runner,
|
| impl_task_runner,
|
| external_begin_frame_source.Pass());
|
| @@ -74,11 +77,13 @@ scoped_ptr<LayerTreeHost> LayerTreeHost::CreateSingleThreaded(
|
| LayerTreeHostSingleThreadClient* single_thread_client,
|
| SharedBitmapManager* shared_bitmap_manager,
|
| gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
|
| + TaskGraphRunner* task_graph_runner,
|
| const LayerTreeSettings& settings,
|
| scoped_refptr<base::SingleThreadTaskRunner> main_task_runner,
|
| scoped_ptr<BeginFrameSource> external_begin_frame_source) {
|
| scoped_ptr<LayerTreeHost> layer_tree_host(new LayerTreeHost(
|
| - client, shared_bitmap_manager, gpu_memory_buffer_manager, settings));
|
| + client, shared_bitmap_manager, gpu_memory_buffer_manager,
|
| + task_graph_runner, settings));
|
| layer_tree_host->InitializeSingleThreaded(single_thread_client,
|
| main_task_runner,
|
| external_begin_frame_source.Pass());
|
| @@ -89,6 +94,7 @@ LayerTreeHost::LayerTreeHost(
|
| LayerTreeHostClient* client,
|
| SharedBitmapManager* shared_bitmap_manager,
|
| gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager,
|
| + TaskGraphRunner* task_graph_runner,
|
| const LayerTreeSettings& settings)
|
| : micro_benchmark_controller_(this),
|
| next_ui_resource_id_(1),
|
| @@ -120,6 +126,7 @@ LayerTreeHost::LayerTreeHost(
|
| next_commit_forces_redraw_(false),
|
| shared_bitmap_manager_(shared_bitmap_manager),
|
| gpu_memory_buffer_manager_(gpu_memory_buffer_manager),
|
| + task_graph_runner_(task_graph_runner),
|
| surface_id_namespace_(0u),
|
| next_surface_sequence_(1u) {
|
| if (settings_.accelerated_animation_enabled)
|
| @@ -268,6 +275,15 @@ void LayerTreeHost::FinishCommitOnImplThread(LayerTreeHostImpl* host_impl) {
|
| contents_texture_manager_->ReduceMemory(host_impl->resource_provider());
|
| }
|
|
|
| + bool is_new_trace;
|
| + TRACE_EVENT_IS_NEW_TRACE(&is_new_trace);
|
| + if (is_new_trace &&
|
| + frame_viewer_instrumentation::IsTracingLayerTreeSnapshots() &&
|
| + root_layer()) {
|
| + LayerTreeHostCommon::CallFunctionForSubtree(
|
| + root_layer(), [](Layer* layer) { layer->DidBeginTracing(); });
|
| + }
|
| +
|
| LayerTreeImpl* sync_tree = host_impl->sync_tree();
|
|
|
| if (next_commit_forces_redraw_) {
|
| @@ -420,17 +436,14 @@ void LayerTreeHost::DidFailToInitializeOutputSurface() {
|
| scoped_ptr<LayerTreeHostImpl> LayerTreeHost::CreateLayerTreeHostImpl(
|
| LayerTreeHostImplClient* client) {
|
| DCHECK(proxy_->IsImplThread());
|
| - scoped_ptr<LayerTreeHostImpl> host_impl =
|
| - LayerTreeHostImpl::Create(settings_,
|
| - client,
|
| - proxy_.get(),
|
| - rendering_stats_instrumentation_.get(),
|
| - shared_bitmap_manager_,
|
| - gpu_memory_buffer_manager_,
|
| - id_);
|
| + scoped_ptr<LayerTreeHostImpl> host_impl = LayerTreeHostImpl::Create(
|
| + settings_, client, proxy_.get(), rendering_stats_instrumentation_.get(),
|
| + shared_bitmap_manager_, gpu_memory_buffer_manager_, task_graph_runner_,
|
| + id_);
|
| host_impl->SetUseGpuRasterization(UseGpuRasterization());
|
| shared_bitmap_manager_ = NULL;
|
| gpu_memory_buffer_manager_ = NULL;
|
| + task_graph_runner_ = NULL;
|
| top_controls_manager_weak_ptr_ =
|
| host_impl->top_controls_manager()->AsWeakPtr();
|
| input_handler_weak_ptr_ = host_impl->AsWeakPtr();
|
|
|