| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CC_TREES_LAYER_TREE_HOST_H_ | 5 #ifndef CC_TREES_LAYER_TREE_HOST_H_ |
| 6 #define CC_TREES_LAYER_TREE_HOST_H_ | 6 #define CC_TREES_LAYER_TREE_HOST_H_ |
| 7 | 7 |
| 8 #include <limits> | 8 #include <limits> |
| 9 #include <list> | 9 #include <list> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 bool using_shared_memory_resources; | 79 bool using_shared_memory_resources; |
| 80 }; | 80 }; |
| 81 | 81 |
| 82 class CC_EXPORT LayerTreeHost { | 82 class CC_EXPORT LayerTreeHost { |
| 83 public: | 83 public: |
| 84 // The SharedBitmapManager will be used on the compositor thread. | 84 // The SharedBitmapManager will be used on the compositor thread. |
| 85 static scoped_ptr<LayerTreeHost> CreateThreaded( | 85 static scoped_ptr<LayerTreeHost> CreateThreaded( |
| 86 LayerTreeHostClient* client, | 86 LayerTreeHostClient* client, |
| 87 SharedBitmapManager* manager, | 87 SharedBitmapManager* manager, |
| 88 const LayerTreeSettings& settings, | 88 const LayerTreeSettings& settings, |
| 89 scoped_refptr<cc::MainThreadTaskRunner> main_task_runner, |
| 89 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner); | 90 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner); |
| 90 | 91 |
| 91 static scoped_ptr<LayerTreeHost> CreateSingleThreaded( | 92 static scoped_ptr<LayerTreeHost> CreateSingleThreaded( |
| 92 LayerTreeHostClient* client, | 93 LayerTreeHostClient* client, |
| 93 LayerTreeHostSingleThreadClient* single_thread_client, | 94 LayerTreeHostSingleThreadClient* single_thread_client, |
| 94 SharedBitmapManager* manager, | 95 SharedBitmapManager* manager, |
| 95 const LayerTreeSettings& settings); | 96 const LayerTreeSettings& settings, |
| 97 scoped_refptr<cc::MainThreadTaskRunner> main_task_runner); |
| 96 virtual ~LayerTreeHost(); | 98 virtual ~LayerTreeHost(); |
| 97 | 99 |
| 98 void SetLayerTreeHostClientReady(); | 100 void SetLayerTreeHostClientReady(); |
| 99 | 101 |
| 100 // LayerTreeHost interface to Proxy. | 102 // LayerTreeHost interface to Proxy. |
| 103 void ScheduleBeginMainFrameOnImplThread( |
| 104 const base::Closure& begin_main_frame_task); |
| 101 void WillBeginMainFrame() { | 105 void WillBeginMainFrame() { |
| 102 client_->WillBeginMainFrame(source_frame_number_); | 106 client_->WillBeginMainFrame(source_frame_number_); |
| 103 } | 107 } |
| 104 void DidBeginMainFrame(); | 108 void DidBeginMainFrame(); |
| 105 void UpdateClientAnimations(base::TimeTicks monotonic_frame_begin_time); | 109 void UpdateClientAnimations(base::TimeTicks monotonic_frame_begin_time); |
| 106 void AnimateLayers(base::TimeTicks monotonic_frame_begin_time); | 110 void AnimateLayers(base::TimeTicks monotonic_frame_begin_time); |
| 107 void DidStopFlinging(); | 111 void DidStopFlinging(); |
| 108 void Layout(); | 112 void Layout(); |
| 109 void BeginCommitOnImplThread(LayerTreeHostImpl* host_impl); | 113 void BeginCommitOnImplThread(LayerTreeHostImpl* host_impl); |
| 110 void FinishCommitOnImplThread(LayerTreeHostImpl* host_impl); | 114 void FinishCommitOnImplThread(LayerTreeHostImpl* host_impl); |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 // See swap_promise.h for how to use SwapPromise. | 299 // See swap_promise.h for how to use SwapPromise. |
| 296 void QueueSwapPromise(scoped_ptr<SwapPromise> swap_promise); | 300 void QueueSwapPromise(scoped_ptr<SwapPromise> swap_promise); |
| 297 | 301 |
| 298 void BreakSwapPromises(SwapPromise::DidNotSwapReason reason); | 302 void BreakSwapPromises(SwapPromise::DidNotSwapReason reason); |
| 299 | 303 |
| 300 protected: | 304 protected: |
| 301 LayerTreeHost(LayerTreeHostClient* client, | 305 LayerTreeHost(LayerTreeHostClient* client, |
| 302 SharedBitmapManager* manager, | 306 SharedBitmapManager* manager, |
| 303 const LayerTreeSettings& settings); | 307 const LayerTreeSettings& settings); |
| 304 void InitializeThreaded( | 308 void InitializeThreaded( |
| 309 scoped_refptr<cc::MainThreadTaskRunner> main_task_runner, |
| 305 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner); | 310 scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner); |
| 306 void InitializeSingleThreaded( | 311 void InitializeSingleThreaded( |
| 307 LayerTreeHostSingleThreadClient* single_thread_client); | 312 LayerTreeHostSingleThreadClient* single_thread_client, |
| 313 scoped_refptr<cc::MainThreadTaskRunner> main_task_runner); |
| 308 void InitializeForTesting(scoped_ptr<Proxy> proxy_for_testing); | 314 void InitializeForTesting(scoped_ptr<Proxy> proxy_for_testing); |
| 309 void SetOutputSurfaceLostForTesting(bool is_lost) { | 315 void SetOutputSurfaceLostForTesting(bool is_lost) { |
| 310 output_surface_lost_ = is_lost; | 316 output_surface_lost_ = is_lost; |
| 311 } | 317 } |
| 312 | 318 |
| 313 MicroBenchmarkController micro_benchmark_controller_; | 319 MicroBenchmarkController micro_benchmark_controller_; |
| 314 | 320 |
| 315 private: | 321 private: |
| 316 void InitializeProxy(scoped_ptr<Proxy> proxy); | 322 void InitializeProxy(scoped_ptr<Proxy> proxy); |
| 317 | 323 |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 450 | 456 |
| 451 ScopedPtrVector<SwapPromise> swap_promise_list_; | 457 ScopedPtrVector<SwapPromise> swap_promise_list_; |
| 452 std::set<SwapPromiseMonitor*> swap_promise_monitor_; | 458 std::set<SwapPromiseMonitor*> swap_promise_monitor_; |
| 453 | 459 |
| 454 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); | 460 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); |
| 455 }; | 461 }; |
| 456 | 462 |
| 457 } // namespace cc | 463 } // namespace cc |
| 458 | 464 |
| 459 #endif // CC_TREES_LAYER_TREE_HOST_H_ | 465 #endif // CC_TREES_LAYER_TREE_HOST_H_ |
| OLD | NEW |