| 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_TEST_LAYER_TREE_TEST_H_ | 5 #ifndef CC_TEST_LAYER_TREE_TEST_H_ |
| 6 #define CC_TEST_LAYER_TREE_TEST_H_ | 6 #define CC_TEST_LAYER_TREE_TEST_H_ |
| 7 | 7 |
| 8 #include "base/memory/ref_counted.h" | 8 #include "base/memory/ref_counted.h" |
| 9 #include "base/threading/thread.h" | 9 #include "base/threading/thread.h" |
| 10 #include "cc/animation/animation_delegate.h" | 10 #include "cc/animation/animation_delegate.h" |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 class TestContextProvider; | 24 class TestContextProvider; |
| 25 | 25 |
| 26 // Used by test stubs to notify the test when something interesting happens. | 26 // Used by test stubs to notify the test when something interesting happens. |
| 27 class TestHooks : public AnimationDelegate { | 27 class TestHooks : public AnimationDelegate { |
| 28 public: | 28 public: |
| 29 TestHooks(); | 29 TestHooks(); |
| 30 virtual ~TestHooks(); | 30 virtual ~TestHooks(); |
| 31 | 31 |
| 32 void ReadSettings(const LayerTreeSettings& settings); | 32 void ReadSettings(const LayerTreeSettings& settings); |
| 33 | 33 |
| 34 virtual void WillBeginFrameOnThread(LayerTreeHostImpl* host_impl, |
| 35 const BeginFrameArgs& args) {} |
| 34 virtual void BeginCommitOnThread(LayerTreeHostImpl* host_impl) {} | 36 virtual void BeginCommitOnThread(LayerTreeHostImpl* host_impl) {} |
| 35 virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) {} | 37 virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) {} |
| 38 virtual void BlockNotifyReadyToActivate(bool block) = 0; |
| 36 virtual void WillActivateTreeOnThread(LayerTreeHostImpl* host_impl) {} | 39 virtual void WillActivateTreeOnThread(LayerTreeHostImpl* host_impl) {} |
| 37 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) {} | 40 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) {} |
| 38 virtual void InitializedRendererOnThread(LayerTreeHostImpl* host_impl, | 41 virtual void InitializedRendererOnThread(LayerTreeHostImpl* host_impl, |
| 39 bool success) {} | 42 bool success) {} |
| 40 virtual bool PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 43 virtual bool PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 41 LayerTreeHostImpl::FrameData* frame_data, | 44 LayerTreeHostImpl::FrameData* frame_data, |
| 42 bool result); | 45 bool result); |
| 43 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) {} | 46 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) {} |
| 44 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) {} | 47 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) {} |
| 45 virtual void SwapBuffersCompleteOnThread(LayerTreeHostImpl* host_impl) {} | 48 virtual void SwapBuffersCompleteOnThread(LayerTreeHostImpl* host_impl) {} |
| (...skipping 11 matching lines...) Expand all Loading... |
| 57 virtual void Layout() {} | 60 virtual void Layout() {} |
| 58 virtual void DidInitializeOutputSurface(bool succeeded) {} | 61 virtual void DidInitializeOutputSurface(bool succeeded) {} |
| 59 virtual void DidFailToInitializeOutputSurface() {} | 62 virtual void DidFailToInitializeOutputSurface() {} |
| 60 virtual void DidAddAnimation() {} | 63 virtual void DidAddAnimation() {} |
| 61 virtual void WillCommit() {} | 64 virtual void WillCommit() {} |
| 62 virtual void DidCommit() {} | 65 virtual void DidCommit() {} |
| 63 virtual void DidCommitAndDrawFrame() {} | 66 virtual void DidCommitAndDrawFrame() {} |
| 64 virtual void DidCompleteSwapBuffers() {} | 67 virtual void DidCompleteSwapBuffers() {} |
| 65 virtual void ScheduleComposite() {} | 68 virtual void ScheduleComposite() {} |
| 66 virtual void DidDeferCommit() {} | 69 virtual void DidDeferCommit() {} |
| 67 virtual bool CanActivatePendingTree(LayerTreeHostImpl* host_impl); | |
| 68 virtual bool CanActivatePendingTreeIfNeeded(LayerTreeHostImpl* host_impl); | |
| 69 virtual void DidSetVisibleOnImplTree(LayerTreeHostImpl* host_impl, | 70 virtual void DidSetVisibleOnImplTree(LayerTreeHostImpl* host_impl, |
| 70 bool visible) {} | 71 bool visible) {} |
| 71 | 72 |
| 72 // Implementation of AnimationDelegate: | 73 // Implementation of AnimationDelegate: |
| 73 virtual void NotifyAnimationStarted(double time) OVERRIDE {} | 74 virtual void NotifyAnimationStarted(double time) OVERRIDE {} |
| 74 virtual void NotifyAnimationFinished(double time) OVERRIDE {} | 75 virtual void NotifyAnimationFinished(double time) OVERRIDE {} |
| 75 | 76 |
| 76 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) = 0; | 77 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) = 0; |
| 77 virtual scoped_refptr<cc::ContextProvider> | 78 virtual scoped_refptr<cc::ContextProvider> |
| 78 OffscreenContextProviderForMainThread() = 0; | 79 OffscreenContextProviderForMainThread() = 0; |
| 79 virtual scoped_refptr<cc::ContextProvider> | 80 virtual scoped_refptr<cc::ContextProvider> |
| 80 OffscreenContextProviderForCompositorThread() = 0; | 81 OffscreenContextProviderForCompositorThread() = 0; |
| 81 }; | 82 }; |
| 82 | 83 |
| 83 class BeginTask; | 84 class BeginTask; |
| 84 class LayerTreeHostClientForTesting; | 85 class LayerTreeHostClientForTesting; |
| 86 class LayerTreeHostImplClientInterposer; |
| 85 class TimeoutTask; | 87 class TimeoutTask; |
| 86 | 88 |
| 87 // The LayerTreeTests runs with the main loop running. It instantiates a single | 89 // The LayerTreeTests runs with the main loop running. It instantiates a single |
| 88 // LayerTreeHostForTesting and associated LayerTreeHostImplForTesting and | 90 // LayerTreeHostForTesting and associated LayerTreeHostImplForTesting and |
| 89 // LayerTreeHostClientForTesting. | 91 // LayerTreeHostClientForTesting. |
| 90 // | 92 // |
| 91 // BeginTest() is called once the main message loop is running and the layer | 93 // BeginTest() is called once the main message loop is running and the layer |
| 92 // tree host is initialized. | 94 // tree host is initialized. |
| 93 // | 95 // |
| 94 // Key stages of the drawing loop, e.g. drawing or commiting, redirect to | 96 // Key stages of the drawing loop, e.g. drawing or commiting, redirect to |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 Proxy* proxy() const { | 151 Proxy* proxy() const { |
| 150 return layer_tree_host_ ? layer_tree_host_->proxy() : NULL; | 152 return layer_tree_host_ ? layer_tree_host_->proxy() : NULL; |
| 151 } | 153 } |
| 152 | 154 |
| 153 bool TestEnded() const { return ended_; } | 155 bool TestEnded() const { return ended_; } |
| 154 | 156 |
| 155 LayerTreeHost* layer_tree_host() { return layer_tree_host_.get(); } | 157 LayerTreeHost* layer_tree_host() { return layer_tree_host_.get(); } |
| 156 bool delegating_renderer() const { return delegating_renderer_; } | 158 bool delegating_renderer() const { return delegating_renderer_; } |
| 157 FakeOutputSurface* output_surface() { return output_surface_; } | 159 FakeOutputSurface* output_surface() { return output_surface_; } |
| 158 | 160 |
| 161 virtual void BlockNotifyReadyToActivate(bool block) OVERRIDE; |
| 159 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) OVERRIDE; | 162 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) OVERRIDE; |
| 160 virtual scoped_refptr<cc::ContextProvider> | 163 virtual scoped_refptr<cc::ContextProvider> |
| 161 OffscreenContextProviderForMainThread() OVERRIDE; | 164 OffscreenContextProviderForMainThread() OVERRIDE; |
| 162 virtual scoped_refptr<cc::ContextProvider> | 165 virtual scoped_refptr<cc::ContextProvider> |
| 163 OffscreenContextProviderForCompositorThread() OVERRIDE; | 166 OffscreenContextProviderForCompositorThread() OVERRIDE; |
| 164 | 167 |
| 165 private: | 168 private: |
| 166 LayerTreeSettings settings_; | 169 LayerTreeSettings settings_; |
| 167 scoped_ptr<LayerTreeHostClientForTesting> client_; | 170 scoped_ptr<LayerTreeHostClientForTesting> client_; |
| 168 scoped_ptr<LayerTreeHost> layer_tree_host_; | 171 scoped_ptr<LayerTreeHost> layer_tree_host_; |
| 172 scoped_ptr<LayerTreeHostImplClientInterposer> impl_client_; |
| 169 FakeOutputSurface* output_surface_; | 173 FakeOutputSurface* output_surface_; |
| 170 | 174 |
| 171 bool beginning_; | 175 bool beginning_; |
| 172 bool end_when_begin_returns_; | 176 bool end_when_begin_returns_; |
| 173 bool timed_out_; | 177 bool timed_out_; |
| 174 bool scheduled_; | 178 bool scheduled_; |
| 175 bool schedule_when_set_visible_true_; | 179 bool schedule_when_set_visible_true_; |
| 176 bool started_; | 180 bool started_; |
| 177 bool ended_; | 181 bool ended_; |
| 178 bool delegating_renderer_; | 182 bool delegating_renderer_; |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 236 | 240 |
| 237 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 241 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 238 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 242 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 239 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 243 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 240 | 244 |
| 241 #define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 245 #define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 242 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 246 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 243 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 247 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 244 | 248 |
| 245 #endif // CC_TEST_LAYER_TREE_TEST_H_ | 249 #endif // CC_TEST_LAYER_TREE_TEST_H_ |
| OLD | NEW |