Chromium Code Reviews| Index: cc/trees/layer_tree_host.h |
| diff --git a/cc/trees/layer_tree_host.h b/cc/trees/layer_tree_host.h |
| index f9667e3d084d3c16922e743e126b2de239488d99..380ec7f4b75c3022e19801c35c9c4041b3794334 100644 |
| --- a/cc/trees/layer_tree_host.h |
| +++ b/cc/trees/layer_tree_host.h |
| @@ -71,26 +71,29 @@ struct ScrollAndScaleSet; |
| class CC_EXPORT LayerTreeHost { |
| public: |
| + // TODO(sad): InitParams should be a movable type so that it can be |
| + // std::move()d to the Create* functions. |
| + struct CC_EXPORT InitParams { |
| + LayerTreeHostClient* client = nullptr; |
| + SharedBitmapManager* shared_bitmap_manager = nullptr; |
| + gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager = nullptr; |
| + TaskGraphRunner* task_graph_runner = nullptr; |
| + LayerTreeSettings const* settings = nullptr; |
| + scoped_refptr<base::SingleThreadTaskRunner> main_task_runner; |
| + scoped_ptr<BeginFrameSource> external_begin_frame_source; |
| + |
| + InitParams(); |
| + ~InitParams(); |
| + }; |
| + |
| // The SharedBitmapManager will be used on the compositor thread. |
| static scoped_ptr<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, |
| - scoped_ptr<BeginFrameSource> external_begin_frame_source); |
| + InitParams* params); |
| static scoped_ptr<LayerTreeHost> CreateSingleThreaded( |
| - LayerTreeHostClient* client, |
| 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); |
| + InitParams* params); |
| virtual ~LayerTreeHost(); |
| void SetLayerTreeHostClientReady(); |
| @@ -313,11 +316,7 @@ class CC_EXPORT LayerTreeHost { |
| } |
| protected: |
| - LayerTreeHost(LayerTreeHostClient* client, |
| - SharedBitmapManager* shared_bitmap_manager, |
| - gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
| - TaskGraphRunner* task_graph_runner, |
| - const LayerTreeSettings& settings); |
| + explicit LayerTreeHost(InitParams* params); |
| void InitializeThreaded( |
| scoped_refptr<base::SingleThreadTaskRunner> main_task_runner, |
| scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner, |
| @@ -331,6 +330,14 @@ class CC_EXPORT LayerTreeHost { |
| output_surface_lost_ = is_lost; |
| } |
| + SharedBitmapManager* shared_bitmap_manager() const { |
|
danakj
2015/05/07 23:22:04
can you comment that these are only valid until th
sadrul
2015/05/08 00:53:31
Done.
|
| + return shared_bitmap_manager_; |
| + } |
| + gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager() const { |
| + return gpu_memory_buffer_manager_; |
| + } |
| + TaskGraphRunner* task_graph_runner() const { return task_graph_runner_; } |
| + |
| MicroBenchmarkController micro_benchmark_controller_; |
| private: |