Chromium Code Reviews| 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" |
| 11 #include "cc/trees/layer_tree_host.h" | 11 #include "cc/trees/layer_tree_host.h" |
| 12 #include "cc/trees/layer_tree_host_impl.h" | 12 #include "cc/trees/layer_tree_host_impl.h" |
| 13 #include "testing/gtest/include/gtest/gtest.h" | 13 #include "testing/gtest/include/gtest/gtest.h" |
| 14 | 14 |
| 15 namespace Webkit { class WebGraphicsContext3D; } | 15 namespace Webkit { |
| 16 class WebGraphicsContext3D; | |
| 17 } | |
| 16 | 18 |
| 17 namespace cc { | 19 namespace cc { |
| 18 class FakeLayerTreeHostClient; | 20 class FakeLayerTreeHostClient; |
| 19 class FakeOutputSurface; | 21 class FakeOutputSurface; |
| 20 class LayerImpl; | 22 class LayerImpl; |
| 21 class LayerTreeHost; | 23 class LayerTreeHost; |
| 22 class LayerTreeHostClient; | 24 class LayerTreeHostClient; |
| 23 class LayerTreeHostImpl; | 25 class LayerTreeHostImpl; |
| 24 class TestContextProvider; | 26 class TestContextProvider; |
| 27 class TestWebGraphicsContext3D; | |
| 25 | 28 |
| 26 // Used by test stubs to notify the test when something interesting happens. | 29 // Used by test stubs to notify the test when something interesting happens. |
| 27 class TestHooks : public AnimationDelegate { | 30 class TestHooks : public AnimationDelegate { |
| 28 public: | 31 public: |
| 29 TestHooks(); | 32 TestHooks(); |
| 30 virtual ~TestHooks(); | 33 virtual ~TestHooks(); |
| 31 | 34 |
| 32 void ReadSettings(const LayerTreeSettings& settings); | 35 void ReadSettings(const LayerTreeSettings& settings); |
| 33 | 36 |
| 34 virtual void WillBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, | 37 virtual void WillBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, |
| 35 const BeginFrameArgs& args) {} | 38 const BeginFrameArgs& args) {} |
| 36 virtual void DidBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, | 39 virtual void DidBeginImplFrameOnThread(LayerTreeHostImpl* host_impl, |
| 37 const BeginFrameArgs& args) {} | 40 const BeginFrameArgs& args) {} |
| 38 virtual void BeginMainFrameAbortedOnThread(LayerTreeHostImpl* host_impl, | 41 virtual void BeginMainFrameAbortedOnThread(LayerTreeHostImpl* host_impl, |
| 39 bool did_handle) {} | 42 bool did_handle) {} |
| 40 virtual void BeginCommitOnThread(LayerTreeHostImpl* host_impl) {} | 43 virtual void BeginCommitOnThread(LayerTreeHostImpl* host_impl) {} |
| 41 virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) {} | 44 virtual void CommitCompleteOnThread(LayerTreeHostImpl* host_impl) {} |
| 42 virtual void WillActivateTreeOnThread(LayerTreeHostImpl* host_impl) {} | 45 virtual void WillActivateTreeOnThread(LayerTreeHostImpl* host_impl) {} |
| 43 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) {} | 46 virtual void DidActivateTreeOnThread(LayerTreeHostImpl* host_impl) {} |
| 44 virtual void InitializedRendererOnThread(LayerTreeHostImpl* host_impl, | 47 virtual void InitializedRendererOnThread(LayerTreeHostImpl* host_impl, |
| 45 bool success) {} | 48 bool success) {} |
| 46 virtual bool PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, | 49 virtual bool PrepareToDrawOnThread(LayerTreeHostImpl* host_impl, |
| 47 LayerTreeHostImpl::FrameData* frame_data, | 50 LayerTreeHostImpl::FrameData* frame_data, |
| 48 bool result); | 51 bool result); |
| 49 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) {} | 52 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) {} |
| 50 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) {} | 53 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) {} |
| 51 virtual void SwapBuffersCompleteOnThread(LayerTreeHostImpl* host_impl) {} | 54 virtual void SwapBuffersCompleteOnThread(LayerTreeHostImpl* host_impl) {} |
| 52 virtual void UpdateVisibleTilesOnThread(LayerTreeHostImpl* host_impl) {} | 55 virtual void UpdateVisibleTilesOnThread(LayerTreeHostImpl* host_impl) {} |
| 53 virtual void AnimateLayers(LayerTreeHostImpl* host_impl, | 56 virtual void AnimateLayers(LayerTreeHostImpl* host_impl, |
| 54 base::TimeTicks monotonic_time) {} | 57 base::TimeTicks monotonic_time) {} |
| 55 virtual void UpdateAnimationState(LayerTreeHostImpl* host_impl, | 58 virtual void UpdateAnimationState(LayerTreeHostImpl* host_impl, |
| 56 bool has_unfinished_animation) {} | 59 bool has_unfinished_animation) {} |
| 57 virtual void WillAnimateLayers(LayerTreeHostImpl* host_impl, | 60 virtual void WillAnimateLayers(LayerTreeHostImpl* host_impl, |
| 58 base::TimeTicks monotonic_time) {} | 61 base::TimeTicks monotonic_time) {} |
| 59 virtual void ApplyScrollAndScale(gfx::Vector2d scroll_delta, | 62 virtual void ApplyScrollAndScale(gfx::Vector2d scroll_delta, float scale) {} |
| 60 float scale) {} | |
| 61 virtual void Animate(base::TimeTicks monotonic_time) {} | 63 virtual void Animate(base::TimeTicks monotonic_time) {} |
| 62 virtual void WillBeginMainFrame() {} | 64 virtual void WillBeginMainFrame() {} |
| 63 virtual void DidBeginMainFrame() {} | 65 virtual void DidBeginMainFrame() {} |
| 64 virtual void Layout() {} | 66 virtual void Layout() {} |
| 65 virtual void DidInitializeOutputSurface(bool succeeded) {} | 67 virtual void DidInitializeOutputSurface(bool succeeded) {} |
| 66 virtual void DidFailToInitializeOutputSurface() {} | 68 virtual void DidFailToInitializeOutputSurface() {} |
| 67 virtual void DidAddAnimation() {} | 69 virtual void DidAddAnimation() {} |
| 68 virtual void WillCommit() {} | 70 virtual void WillCommit() {} |
| 69 virtual void DidCommit() {} | 71 virtual void DidCommit() {} |
| 70 virtual void DidCommitAndDrawFrame() {} | 72 virtual void DidCommitAndDrawFrame() {} |
| 71 virtual void DidCompleteSwapBuffers() {} | 73 virtual void DidCompleteSwapBuffers() {} |
| 72 virtual void ScheduleComposite() {} | 74 virtual void ScheduleComposite() {} |
| 73 virtual void ScheduleAnimation() {} | 75 virtual void ScheduleAnimation() {} |
| 74 virtual void DidDeferCommit() {} | 76 virtual void DidDeferCommit() {} |
| 75 virtual void DidSetVisibleOnImplTree(LayerTreeHostImpl* host_impl, | 77 virtual void DidSetVisibleOnImplTree(LayerTreeHostImpl* host_impl, |
| 76 bool visible) {} | 78 bool visible) {} |
| 77 virtual base::TimeDelta LowFrequencyAnimationInterval() const; | 79 virtual base::TimeDelta LowFrequencyAnimationInterval() const; |
| 78 | 80 |
| 79 // Implementation of AnimationDelegate: | 81 // Implementation of AnimationDelegate: |
| 80 virtual void NotifyAnimationStarted( | 82 virtual void NotifyAnimationStarted(double wall_clock_time, |
| 81 double wall_clock_time, | 83 base::TimeTicks monotonic_time, |
| 82 base::TimeTicks monotonic_time, | 84 Animation::TargetProperty target_property) |
| 83 Animation::TargetProperty target_property) OVERRIDE {} | 85 OVERRIDE {} |
| 84 virtual void NotifyAnimationFinished( | 86 virtual void NotifyAnimationFinished( |
| 85 double wall_clock_time, | 87 double wall_clock_time, |
| 86 base::TimeTicks monotonic_time, | 88 base::TimeTicks monotonic_time, |
| 87 Animation::TargetProperty target_property) OVERRIDE {} | 89 Animation::TargetProperty target_property) OVERRIDE {} |
| 88 | 90 |
| 89 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) = 0; | 91 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) = 0; |
| 90 virtual scoped_refptr<ContextProvider> OffscreenContextProvider() = 0; | 92 virtual scoped_refptr<ContextProvider> OffscreenContextProvider() = 0; |
| 91 }; | 93 }; |
| 92 | 94 |
| 93 class BeginTask; | 95 class BeginTask; |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 176 | 178 |
| 177 bool TestEnded() const { return ended_; } | 179 bool TestEnded() const { return ended_; } |
| 178 | 180 |
| 179 LayerTreeHost* layer_tree_host() { return layer_tree_host_.get(); } | 181 LayerTreeHost* layer_tree_host() { return layer_tree_host_.get(); } |
| 180 bool delegating_renderer() const { return delegating_renderer_; } | 182 bool delegating_renderer() const { return delegating_renderer_; } |
| 181 FakeOutputSurface* output_surface() { return output_surface_; } | 183 FakeOutputSurface* output_surface() { return output_surface_; } |
| 182 | 184 |
| 183 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) OVERRIDE; | 185 virtual scoped_ptr<OutputSurface> CreateOutputSurface(bool fallback) OVERRIDE; |
| 184 virtual scoped_refptr<ContextProvider> OffscreenContextProvider() OVERRIDE; | 186 virtual scoped_refptr<ContextProvider> OffscreenContextProvider() OVERRIDE; |
| 185 | 187 |
| 188 virtual scoped_ptr<FakeOutputSurface> CreateFakeOutputSurfaceForTest( | |
| 189 bool fallback); | |
| 190 | |
| 191 TestWebGraphicsContext3D* TestContext(); | |
| 192 | |
| 193 FakeOutputSurface* output_surface_; | |
|
danakj
2014/01/09 21:23:34
Why public?
| |
| 194 | |
| 186 private: | 195 private: |
| 187 LayerTreeSettings settings_; | 196 LayerTreeSettings settings_; |
| 188 scoped_ptr<LayerTreeHostClientForTesting> client_; | 197 scoped_ptr<LayerTreeHostClientForTesting> client_; |
| 189 scoped_ptr<LayerTreeHost> layer_tree_host_; | 198 scoped_ptr<LayerTreeHost> layer_tree_host_; |
| 190 FakeOutputSurface* output_surface_; | |
| 191 | 199 |
| 192 bool beginning_; | 200 bool beginning_; |
| 193 bool end_when_begin_returns_; | 201 bool end_when_begin_returns_; |
| 194 bool timed_out_; | 202 bool timed_out_; |
| 195 bool scheduled_; | 203 bool scheduled_; |
| 196 bool schedule_when_set_visible_true_; | 204 bool schedule_when_set_visible_true_; |
| 197 bool started_; | 205 bool started_; |
| 198 bool ended_; | 206 bool ended_; |
| 199 bool delegating_renderer_; | 207 bool delegating_renderer_; |
| 200 | 208 |
| 201 int timeout_seconds_; | 209 int timeout_seconds_; |
| 202 | 210 |
| 203 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; | 211 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; |
| 204 scoped_ptr<base::Thread> impl_thread_; | 212 scoped_ptr<base::Thread> impl_thread_; |
| 205 base::CancelableClosure timeout_; | 213 base::CancelableClosure timeout_; |
| 206 scoped_refptr<TestContextProvider> compositor_contexts_; | 214 scoped_refptr<TestContextProvider> compositor_contexts_; |
| 207 base::WeakPtr<LayerTreeTest> main_thread_weak_ptr_; | 215 base::WeakPtr<LayerTreeTest> main_thread_weak_ptr_; |
| 208 base::WeakPtrFactory<LayerTreeTest> weak_factory_; | 216 base::WeakPtrFactory<LayerTreeTest> weak_factory_; |
| 209 }; | 217 }; |
| 210 | 218 |
| 211 } // namespace cc | 219 } // namespace cc |
| 212 | 220 |
| 213 #define SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 221 #define SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 214 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer) { \ | 222 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer) { \ |
| 215 RunTest(false, false, false); \ | 223 RunTest(false, false, false); \ |
| 216 } \ | 224 } \ |
| 217 class SingleThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} | 225 class SingleThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 218 | 226 |
| 219 #define SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 227 #define SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 220 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DelegatingRenderer) { \ | 228 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DelegatingRenderer) { \ |
| 221 RunTest(false, true, false); \ | 229 RunTest(false, true, false); \ |
| 222 } \ | 230 } \ |
| 223 class SingleThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} | 231 class SingleThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 224 | 232 |
| 225 #define SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 233 #define SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 226 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 234 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 227 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 235 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 228 | 236 |
| 229 #define MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 237 #define MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 230 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_MainThreadPaint) { \ | 238 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_MainThreadPaint) { \ |
| 231 RunTest(true, false, false); \ | 239 RunTest(true, false, false); \ |
| 232 } | 240 } |
| 233 | 241 |
| 234 #define MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 242 #define MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 235 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 243 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 236 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_ImplSidePaint) { \ | 244 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_ImplSidePaint) { \ |
| 237 RunTest(true, false, true); \ | 245 RunTest(true, false, true); \ |
| 238 } \ | 246 } \ |
| 239 class MultiThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} | 247 class MultiThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 240 | 248 |
| 241 #define MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 249 #define MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 242 TEST_F(TEST_FIXTURE_NAME, \ | 250 TEST_F(TEST_FIXTURE_NAME, \ |
| 243 RunMultiThread_DelegatingRenderer_MainThreadPaint) { \ | 251 RunMultiThread_DelegatingRenderer_MainThreadPaint) { \ |
| 244 RunTest(true, true, false); \ | 252 RunTest(true, true, false); \ |
| 245 } | 253 } |
| 246 | 254 |
| 247 #define MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 255 #define MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 248 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME)\ | 256 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) TEST_F( \ |
| 249 TEST_F(TEST_FIXTURE_NAME, \ | 257 TEST_FIXTURE_NAME, RunMultiThread_DelegatingRenderer_ImplSidePaint) { \ |
| 250 RunMultiThread_DelegatingRenderer_ImplSidePaint) { \ | 258 RunTest(true, true, true); \ |
| 251 RunTest(true, true, true); \ | 259 } \ |
| 252 } \ | |
| 253 class MultiThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} | 260 class MultiThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 254 | 261 |
| 255 #define MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 262 #define MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 256 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 263 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 257 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 264 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 258 | 265 |
| 259 #define MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 266 #define MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 260 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 267 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 261 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 268 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 262 | 269 |
| 263 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( \ | 270 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( \ |
| 264 TEST_FIXTURE_NAME) \ | 271 TEST_FIXTURE_NAME) \ |
| 265 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 272 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 266 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 273 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 267 | 274 |
| 268 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 275 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 269 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 276 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 270 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 277 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 271 | 278 |
| 272 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F( \ | 279 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F( \ |
| 273 TEST_FIXTURE_NAME) \ | 280 TEST_FIXTURE_NAME) \ |
| 274 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 281 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 275 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 282 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 276 | 283 |
| 277 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 284 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 278 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 285 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 279 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 286 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 280 | 287 |
| 281 #define SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 288 #define SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 282 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 289 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 283 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 290 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 284 | 291 |
| 285 #define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 292 #define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 286 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 293 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 287 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 294 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 288 | 295 |
| 289 #endif // CC_TEST_LAYER_TREE_TEST_H_ | 296 #endif // CC_TEST_LAYER_TREE_TEST_H_ |
| OLD | NEW |