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 |