| 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 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; | 208 scoped_refptr<base::SingleThreadTaskRunner> main_task_runner_; |
| 209 scoped_ptr<base::Thread> impl_thread_; | 209 scoped_ptr<base::Thread> impl_thread_; |
| 210 base::CancelableClosure timeout_; | 210 base::CancelableClosure timeout_; |
| 211 scoped_refptr<TestContextProvider> compositor_contexts_; | 211 scoped_refptr<TestContextProvider> compositor_contexts_; |
| 212 base::WeakPtr<LayerTreeTest> main_thread_weak_ptr_; | 212 base::WeakPtr<LayerTreeTest> main_thread_weak_ptr_; |
| 213 base::WeakPtrFactory<LayerTreeTest> weak_factory_; | 213 base::WeakPtrFactory<LayerTreeTest> weak_factory_; |
| 214 }; | 214 }; |
| 215 | 215 |
| 216 } // namespace cc | 216 } // namespace cc |
| 217 | 217 |
| 218 #define SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 218 #define SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 219 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer) { \ | 219 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer_MainThreadPaint) { \ |
| 220 RunTest(false, false, false); \ | 220 RunTest(false, false, false); \ |
| 221 } \ | 221 } \ |
| 222 class SingleThreadDirectNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 223 |
| 224 #define SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 225 SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 226 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer_ImplSidePaint) { \ |
| 227 RunTest(false, false, true); \ |
| 228 } \ |
| 222 class SingleThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} | 229 class SingleThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 223 | 230 |
| 224 #define SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 231 #define SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 225 TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DelegatingRenderer) { \ | 232 TEST_F(TEST_FIXTURE_NAME, \ |
| 226 RunTest(false, true, false); \ | 233 RunSingleThread_DelegatingRenderer_MainThreadPaint) { \ |
| 227 } \ | 234 RunTest(false, true, false); \ |
| 235 } \ |
| 236 class SingleThreadDelegatingNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 237 |
| 238 #define SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 239 SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 240 TEST_F(TEST_FIXTURE_NAME, \ |
| 241 RunSingleThread_DelegatingRenderer_ImplSidePaint) { \ |
| 242 RunTest(false, true, true); \ |
| 243 } \ |
| 228 class SingleThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} | 244 class SingleThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 229 | 245 |
| 230 #define SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 246 #define SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 231 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 247 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 232 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 248 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 233 | 249 |
| 250 #define SINGLE_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 251 SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 252 SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 253 |
| 234 #define MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 254 #define MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 235 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_MainThreadPaint) { \ | 255 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_MainThreadPaint) { \ |
| 236 RunTest(true, false, false); \ | 256 RunTest(true, false, false); \ |
| 237 } | 257 } \ |
| 258 class MultiThreadDirectNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 238 | 259 |
| 239 #define MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 260 #define MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 240 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 261 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 241 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_ImplSidePaint) { \ | 262 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer_ImplSidePaint) { \ |
| 242 RunTest(true, false, true); \ | 263 RunTest(true, false, true); \ |
| 243 } \ | 264 } \ |
| 244 class MultiThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} | 265 class MultiThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 245 | 266 |
| 246 #define MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 267 #define MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 247 TEST_F(TEST_FIXTURE_NAME, \ | 268 TEST_F(TEST_FIXTURE_NAME, \ |
| 248 RunMultiThread_DelegatingRenderer_MainThreadPaint) { \ | 269 RunMultiThread_DelegatingRenderer_MainThreadPaint) { \ |
| 249 RunTest(true, true, false); \ | 270 RunTest(true, true, false); \ |
| 250 } | 271 } \ |
| 272 class MultiThreadDelegatingNoImplNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 251 | 273 |
| 252 #define MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 274 #define MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 253 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) TEST_F( \ | 275 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 254 TEST_FIXTURE_NAME, RunMultiThread_DelegatingRenderer_ImplSidePaint) { \ | 276 TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DelegatingRenderer_ImplSidePaint) { \ |
| 255 RunTest(true, true, true); \ | 277 RunTest(true, true, true); \ |
| 256 } \ | 278 } \ |
| 257 class MultiThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} | 279 class MultiThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} |
| 258 | 280 |
| 259 #define MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 281 #define MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 260 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 282 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 261 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 283 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 262 | 284 |
| 263 #define MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 285 #define MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 264 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 286 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 265 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 287 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 266 | 288 |
| 267 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( \ | 289 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F( \ |
| 268 TEST_FIXTURE_NAME) \ | 290 TEST_FIXTURE_NAME) \ |
| 269 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 291 SINGLE_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 270 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 292 MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 271 | 293 |
| 272 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 294 #define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 273 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 295 SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 274 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 296 MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 275 | 297 |
| 276 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F( \ | 298 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F( \ |
| 277 TEST_FIXTURE_NAME) \ | 299 TEST_FIXTURE_NAME) \ |
| 278 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 300 SINGLE_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 279 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 301 MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 280 | 302 |
| 281 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ | 303 #define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
| 282 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 304 SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 283 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 305 MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 284 | 306 |
| 285 #define SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ | 307 #define SINGLE_AND_MULTI_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME) \ |
| 286 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ | 308 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 287 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) | 309 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_NOIMPL_TEST_F(TEST_FIXTURE_NAME) |
| 288 | 310 |
| 289 #define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ | 311 #define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
| 290 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ | 312 SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
| 291 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) | 313 SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
| 292 | 314 |
| 315 // Some tests want to control when notify ready for activation occurs, |
| 316 // but this is not supported in the single-threaded case. |
| 317 #define SINGLE_AND_MULTI_THREAD_BLOCKNOTIFY_TEST_F(TEST_FIXTURE_NAME) \ |
| 318 SINGLE_THREAD_NOIMPL_TEST_F(TEST_FIXTURE_NAME); \ |
| 319 MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) |
| 320 |
| 293 #endif // CC_TEST_LAYER_TREE_TEST_H_ | 321 #endif // CC_TEST_LAYER_TREE_TEST_H_ |
| OLD | NEW |