| 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 { | 15 namespace Webkit { |
| 16 class WebGraphicsContext3D; | 16 class WebGraphicsContext3D; |
| 17 } | 17 } |
| 18 | 18 |
| 19 namespace cc { | 19 namespace cc { |
| 20 class ExternalBeginFrameSourceForTest; |
| 20 class FakeLayerTreeHostClient; | 21 class FakeLayerTreeHostClient; |
| 21 class FakeOutputSurface; | 22 class FakeOutputSurface; |
| 22 class LayerImpl; | 23 class LayerImpl; |
| 23 class LayerTreeHost; | 24 class LayerTreeHost; |
| 24 class LayerTreeHostClient; | 25 class LayerTreeHostClient; |
| 25 class LayerTreeHostImpl; | 26 class LayerTreeHostImpl; |
| 26 class TestContextProvider; | 27 class TestContextProvider; |
| 27 class TestWebGraphicsContext3D; | 28 class TestWebGraphicsContext3D; |
| 28 | 29 |
| 29 // Used by test stubs to notify the test when something interesting happens. | 30 // Used by test stubs to notify the test when something interesting happens. |
| (...skipping 20 matching lines...) Expand all Loading... |
| 50 virtual void InitializedRendererOnThread(LayerTreeHostImpl* host_impl, | 51 virtual void InitializedRendererOnThread(LayerTreeHostImpl* host_impl, |
| 51 bool success) {} | 52 bool success) {} |
| 52 virtual DrawResult PrepareToDrawOnThread( | 53 virtual DrawResult PrepareToDrawOnThread( |
| 53 LayerTreeHostImpl* host_impl, | 54 LayerTreeHostImpl* host_impl, |
| 54 LayerTreeHostImpl::FrameData* frame_data, | 55 LayerTreeHostImpl::FrameData* frame_data, |
| 55 DrawResult draw_result); | 56 DrawResult draw_result); |
| 56 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) {} | 57 virtual void DrawLayersOnThread(LayerTreeHostImpl* host_impl) {} |
| 57 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) {} | 58 virtual void SwapBuffersOnThread(LayerTreeHostImpl* host_impl, bool result) {} |
| 58 virtual void SwapBuffersCompleteOnThread(LayerTreeHostImpl* host_impl) {} | 59 virtual void SwapBuffersCompleteOnThread(LayerTreeHostImpl* host_impl) {} |
| 59 virtual void UpdateVisibleTilesOnThread(LayerTreeHostImpl* host_impl) {} | 60 virtual void UpdateVisibleTilesOnThread(LayerTreeHostImpl* host_impl) {} |
| 61 virtual void NotifyReadyToActivateOnThread(LayerTreeHostImpl* host_impl) {} |
| 62 virtual void NotifyReadyToDrawOnThread(LayerTreeHostImpl* host_impl) {} |
| 60 virtual void AnimateLayers(LayerTreeHostImpl* host_impl, | 63 virtual void AnimateLayers(LayerTreeHostImpl* host_impl, |
| 61 base::TimeTicks monotonic_time) {} | 64 base::TimeTicks monotonic_time) {} |
| 62 virtual void UpdateAnimationState(LayerTreeHostImpl* host_impl, | 65 virtual void UpdateAnimationState(LayerTreeHostImpl* host_impl, |
| 63 bool has_unfinished_animation) {} | 66 bool has_unfinished_animation) {} |
| 64 virtual void WillAnimateLayers(LayerTreeHostImpl* host_impl, | 67 virtual void WillAnimateLayers(LayerTreeHostImpl* host_impl, |
| 65 base::TimeTicks monotonic_time) {} | 68 base::TimeTicks monotonic_time) {} |
| 66 virtual void ApplyViewportDeltas(const gfx::Vector2d& inner_delta, | 69 virtual void ApplyViewportDeltas(const gfx::Vector2d& inner_delta, |
| 67 const gfx::Vector2d& outer_delta, | 70 const gfx::Vector2d& outer_delta, |
| 68 float scale, | 71 float scale, |
| 69 float top_controls_delta) {} | 72 float top_controls_delta) {} |
| 70 virtual void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta, | 73 virtual void ApplyViewportDeltas(const gfx::Vector2d& scroll_delta, |
| 71 float scale, | 74 float scale, |
| 72 float top_controls_delta) {} | 75 float top_controls_delta) {} |
| 73 virtual void BeginMainFrame(const BeginFrameArgs& args) {} | 76 virtual void BeginMainFrame(const BeginFrameArgs& args) {} |
| 74 virtual void WillBeginMainFrame() {} | 77 virtual void WillBeginMainFrame() {} |
| 75 virtual void DidBeginMainFrame() {} | 78 virtual void DidBeginMainFrame() {} |
| 76 virtual void Layout() {} | 79 virtual void Layout() {} |
| 77 virtual void DidInitializeOutputSurface() {} | 80 virtual void DidInitializeOutputSurface() {} |
| 78 virtual void DidFailToInitializeOutputSurface() {} | 81 virtual void DidFailToInitializeOutputSurface() {} |
| 79 virtual void DidAddAnimation() {} | 82 virtual void DidAddAnimation() {} |
| 80 virtual void WillCommit() {} | 83 virtual void WillCommit() {} |
| 81 virtual void DidCommit() {} | 84 virtual void DidCommit() {} |
| 82 virtual void DidCommitAndDrawFrame() {} | 85 virtual void DidCommitAndDrawFrame() {} |
| 83 virtual void DidCompleteSwapBuffers() {} | 86 virtual void DidCompleteSwapBuffers() {} |
| 84 virtual void DidDeferCommit() {} | 87 virtual void DidDeferCommit() {} |
| 85 virtual void DidSetVisibleOnImplTree(LayerTreeHostImpl* host_impl, | 88 virtual void DidSetVisibleOnImplTree(LayerTreeHostImpl* host_impl, |
| 86 bool visible) {} | 89 bool visible) {} |
| 87 virtual base::TimeDelta LowFrequencyAnimationInterval() const; | |
| 88 virtual void ScheduleComposite() {} | 90 virtual void ScheduleComposite() {} |
| 89 | 91 |
| 90 // Hooks for SchedulerClient. | 92 // Hooks for SchedulerClient. |
| 91 virtual void ScheduledActionWillSendBeginMainFrame() {} | 93 virtual void ScheduledActionWillSendBeginMainFrame() {} |
| 92 virtual void ScheduledActionSendBeginMainFrame() {} | 94 virtual void ScheduledActionSendBeginMainFrame() {} |
| 93 virtual void ScheduledActionDrawAndSwapIfPossible() {} | 95 virtual void ScheduledActionDrawAndSwapIfPossible() {} |
| 94 virtual void ScheduledActionAnimate() {} | 96 virtual void ScheduledActionAnimate() {} |
| 95 virtual void ScheduledActionCommit() {} | 97 virtual void ScheduledActionCommit() {} |
| 96 virtual void ScheduledActionBeginOutputSurfaceCreation() {} | 98 virtual void ScheduledActionBeginOutputSurfaceCreation() {} |
| 97 | 99 |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 virtual scoped_ptr<FakeOutputSurface> CreateFakeOutputSurface(bool fallback); | 204 virtual scoped_ptr<FakeOutputSurface> CreateFakeOutputSurface(bool fallback); |
| 203 | 205 |
| 204 TestWebGraphicsContext3D* TestContext(); | 206 TestWebGraphicsContext3D* TestContext(); |
| 205 | 207 |
| 206 | 208 |
| 207 private: | 209 private: |
| 208 LayerTreeSettings settings_; | 210 LayerTreeSettings settings_; |
| 209 scoped_ptr<LayerTreeHostClientForTesting> client_; | 211 scoped_ptr<LayerTreeHostClientForTesting> client_; |
| 210 scoped_ptr<LayerTreeHost> layer_tree_host_; | 212 scoped_ptr<LayerTreeHost> layer_tree_host_; |
| 211 FakeOutputSurface* output_surface_; | 213 FakeOutputSurface* output_surface_; |
| 214 ExternalBeginFrameSourceForTest* external_begin_frame_source_; |
| 212 | 215 |
| 213 bool beginning_; | 216 bool beginning_; |
| 214 bool end_when_begin_returns_; | 217 bool end_when_begin_returns_; |
| 215 bool timed_out_; | 218 bool timed_out_; |
| 216 bool scheduled_; | 219 bool scheduled_; |
| 217 bool started_; | 220 bool started_; |
| 218 bool ended_; | 221 bool ended_; |
| 219 bool delegating_renderer_; | 222 bool delegating_renderer_; |
| 220 | 223 |
| 221 int timeout_seconds_; | 224 int timeout_seconds_; |
| 222 | 225 |
| 223 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; | 226 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; |
| 224 scoped_ptr<base::Thread> impl_thread_; | 227 scoped_ptr<base::Thread> impl_thread_; |
| 225 base::CancelableClosure timeout_; | 228 base::CancelableClosure timeout_; |
| 226 scoped_refptr<TestContextProvider> compositor_contexts_; | 229 scoped_refptr<TestContextProvider> compositor_contexts_; |
| 227 base::WeakPtr<LayerTreeTest> main_thread_weak_ptr_; | 230 base::WeakPtr<LayerTreeTest> main_thread_weak_ptr_; |
| 228 base::WeakPtrFactory<LayerTreeTest> weak_factory_; | 231 base::WeakPtrFactory<LayerTreeTest> weak_factory_; |
| 229 }; | 232 }; |
| 230 | 233 |
| 231 } // namespace cc | 234 } // namespace cc |
| 232 | 235 |
| 233 #define SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 236 #define SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 234 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer_MainThreadPaint) { \ | 237 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer_MainThreadPaint) { \ |
| 235 RunTest(false, false, false); \ | 238 RunTest(false, false, false); \ |
| 236 } \ | 239 } \ |
| 237 class SingleThreadDirectNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} | 240 class SingleThreadDirectNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 238 | 241 |
| 239 #define SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 242 #define SINGLE_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 240 SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | |
| 241 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer_ImplSidePaint) { \ | 243 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer_ImplSidePaint) { \ |
| 242 RunTest(false, false, true); \ | 244 RunTest(false, false, true); \ |
| 243 } \ | 245 } \ |
| 244 class SingleThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} | 246 class SingleThreadDirectImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 247 |
| 248 #define SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 249 SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 250 SINGLE_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) |
| 245 | 251 |
| 246 #define SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 252 #define SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 247 TEST_F(TEST_FIXTURE_NAME, \ | 253 TEST_F(TEST_FIXTURE_NAME, \ |
| 248 RunSingleThread_DelegatingRenderer_MainThreadPaint) { \ | 254 RunSingleThread_DelegatingRenderer_MainThreadPaint) { \ |
| 249 RunTest(false, true, false); \ | 255 RunTest(false, true, false); \ |
| 250 } \ | 256 } \ |
| 251 class SingleThreadDelegatingNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} | 257 class SingleThreadDelegatingNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 252 | 258 |
| 259 #define SINGLE_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 260 TEST_F(TEST_FIXTURE_NAME, \ |
| 261 RunSingleThread_DelegatingRenderer_ImplSidePaint) { \ |
| 262 RunTest(false, true, true); \ |
| 263 } \ |
| 264 class SingleThreadDelegatingImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 265 |
| 253 #define SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 266 #define SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 254 SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 267 SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 255 TEST_F(TEST_FIXTURE_NAME, \ | 268 SINGLE_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) |
| 256 RunSingleThread_DelegatingRenderer_ImplSidePaint) { \ | 269 |
| 257 RunTest(false, true, true); \ | 270 #define SINGLE_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 258 } \ | 271 SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 259 class SingleThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} | 272 SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 273 |
| 274 #define SINGLE_THREAD_IMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 275 SINGLE_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 276 SINGLE_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) |
| 260 | 277 |
| 261 #define SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 278 #define SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 262 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 279 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 263 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 280 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 264 | 281 |
| 265 #define SINGLE_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | |
| 266 SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | |
| 267 SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | |
| 268 | |
| 269 #define MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 282 #define MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 270 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_MainThreadPaint) { \ | 283 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_MainThreadPaint) { \ |
| 271 RunTest(true, false, false); \ | 284 RunTest(true, false, false); \ |
| 272 } \ | 285 } \ |
| 273 class MultiThreadDirectNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} | 286 class MultiThreadDirectNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 274 | 287 |
| 275 #define MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 288 #define MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 276 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | |
| 277 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_ImplSidePaint) { \ | 289 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_ImplSidePaint) { \ |
| 278 RunTest(true, false, true); \ | 290 RunTest(true, false, true); \ |
| 279 } \ | 291 } \ |
| 280 class MultiThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} | 292 class MultiThreadDirectImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 293 |
| 294 #define MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 295 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 296 MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) |
| 281 | 297 |
| 282 #define MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 298 #define MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 283 TEST_F(TEST_FIXTURE_NAME, \ | 299 TEST_F(TEST_FIXTURE_NAME, \ |
| 284 RunMultiThread_DelegatingRenderer_MainThreadPaint) { \ | 300 RunMultiThread_DelegatingRenderer_MainThreadPaint) { \ |
| 285 RunTest(true, true, false); \ | 301 RunTest(true, true, false); \ |
| 286 } \ | 302 } \ |
| 287 class MultiThreadDelegatingNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} | 303 class MultiThreadDelegatingNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 288 | 304 |
| 289 #define MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 305 #define MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 290 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | |
| 291 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DelegatingRenderer_ImplSidePaint) { \ | 306 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DelegatingRenderer_ImplSidePaint) { \ |
| 292 RunTest(true, true, true); \ | 307 RunTest(true, true, true); \ |
| 293 } \ | 308 } \ |
| 294 class MultiThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} | 309 class MultiThreadDelegatingImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 310 |
| 311 #define MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 312 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 313 MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) |
| 295 | 314 |
| 296 #define MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 315 #define MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 297 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 316 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 298 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 317 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 299 | 318 |
| 319 #define MULTI_THREAD_IMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 320 MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 321 MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) |
| 322 |
| 300 #define MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 323 #define MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 301 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 324 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 302 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 325 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 303 | 326 |
| 304 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( \ | 327 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( \ |
| 305 TEST_FIXTURE_NAME) \ | 328 TEST_FIXTURE_NAME) \ |
| 306 SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 329 SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 307 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 330 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 308 | 331 |
| 332 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 333 SINGLE_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 334 MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) |
| 335 |
| 309 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 336 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 310 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 337 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 311 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 338 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 312 | 339 |
| 313 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F( \ | 340 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F( \ |
| 314 TEST_FIXTURE_NAME) \ | 341 TEST_FIXTURE_NAME) \ |
| 315 SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 342 SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 316 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 343 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 317 | 344 |
| 345 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F( \ |
| 346 TEST_FIXTURE_NAME) \ |
| 347 SINGLE_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 348 MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) |
| 349 |
| 318 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 350 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 319 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 351 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 320 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 352 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 321 | 353 |
| 322 #define SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 354 #define SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 323 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 355 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 324 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 356 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 325 | 357 |
| 358 #define SINGLE_AND_MULTI_THREAD_IMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 359 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 360 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_IMPL_TEST_F(TEST_FIXTURE_NAME) |
| 361 |
| 326 #define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 362 #define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 327 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 363 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 328 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 364 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 329 | 365 |
| 330 // Some tests want to control when notify ready for activation occurs, | 366 // Some tests want to control when notify ready for activation occurs, |
| 331 // but this is not supported in the single-threaded case. | 367 // but this is not supported in the single-threaded case. |
| 332 #define SINGLE_AND_MULTI_THREAD_BLOCKNOTIFY_TEST_F(TEST_FIXTURE_NAME) \ | 368 #define SINGLE_AND_MULTI_THREAD_BLOCKNOTIFY_TEST_F(TEST_FIXTURE_NAME) \ |
| 333 SINGLE_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 369 SINGLE_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 334 MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) | 370 MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) |
| 335 | 371 |
| 336 #endif // CC_TEST_LAYER_TREE_TEST_H_ | 372 #endif // CC_TEST_LAYER_TREE_TEST_H_ |
| OLD | NEW |