Index: cc/test/layer_tree_test.h |
diff --git a/cc/test/layer_tree_test.h b/cc/test/layer_tree_test.h |
index 81cb174f582d3f20959f38501008e33beddc9141..4d5758a08bb9a3b98221347deff076b934896ce9 100644 |
--- a/cc/test/layer_tree_test.h |
+++ b/cc/test/layer_tree_test.h |
@@ -18,6 +18,7 @@ class WebGraphicsContext3D; |
} |
namespace cc { |
+class FakeContextProvider; |
class FakeLayerTreeHostClient; |
class LayerImpl; |
class LayerTreeHost; |
@@ -69,15 +70,11 @@ class TestHooks : public WebKit::WebAnimationDelegate { |
virtual void notifyAnimationStarted(double time) OVERRIDE {} |
virtual void notifyAnimationFinished(double time) OVERRIDE {} |
- virtual scoped_ptr<OutputSurface> CreateOutputSurface(); |
- |
+ virtual scoped_ptr<OutputSurface> CreateOutputSurface() = 0; |
virtual scoped_refptr<cc::ContextProvider> |
- OffscreenContextProviderForMainThread(); |
+ OffscreenContextProviderForMainThread() = 0; |
virtual scoped_refptr<cc::ContextProvider> |
- OffscreenContextProviderForCompositorThread(); |
- |
- private: |
- scoped_ptr<FakeLayerTreeHostClient> fake_client_; |
+ OffscreenContextProviderForCompositorThread() = 0; |
}; |
class BeginTask; |
@@ -138,7 +135,7 @@ class LayerTreeTest : public testing::Test, public TestHooks { |
void DispatchComposite(); |
void DispatchDidAddAnimation(); |
- virtual void RunTest(bool threaded); |
+ virtual void RunTest(bool threaded, bool delegating_renderer); |
Thread* ImplThread() { return proxy() ? proxy()->ImplThread() : NULL; } |
Proxy* proxy() const { |
@@ -148,6 +145,13 @@ class LayerTreeTest : public testing::Test, public TestHooks { |
bool TestEnded() const { return ended_; } |
LayerTreeHost* layer_tree_host() { return layer_tree_host_.get(); } |
+ bool delegating_renderer() const { return delegating_renderer_; } |
+ |
+ virtual scoped_ptr<OutputSurface> CreateOutputSurface() OVERRIDE; |
+ virtual scoped_refptr<cc::ContextProvider> |
+ OffscreenContextProviderForMainThread() OVERRIDE; |
+ virtual scoped_refptr<cc::ContextProvider> |
+ OffscreenContextProviderForCompositorThread() OVERRIDE; |
private: |
LayerTreeSettings settings_; |
@@ -161,6 +165,7 @@ class LayerTreeTest : public testing::Test, public TestHooks { |
bool schedule_when_set_visible_true_; |
bool started_; |
bool ended_; |
+ bool delegating_renderer_; |
int timeout_seconds_; |
@@ -169,25 +174,54 @@ class LayerTreeTest : public testing::Test, public TestHooks { |
base::CancelableClosure timeout_; |
base::WeakPtr<LayerTreeTest> main_thread_weak_ptr_; |
base::WeakPtrFactory<LayerTreeTest> weak_factory_; |
+ scoped_refptr<FakeContextProvider> main_thread_contexts_; |
+ scoped_refptr<FakeContextProvider> compositor_thread_contexts_; |
}; |
} // namespace cc |
-#define SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
- TEST_F(TEST_FIXTURE_NAME, RunSingleThread) { \ |
- RunTest(false); \ |
- } \ |
- class SingleThreadNeedsSemicolon##TEST_FIXTURE_NAME {} |
- |
- |
-#define MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
- TEST_F(TEST_FIXTURE_NAME, RunMultiThread) { \ |
- RunTest(true); \ |
- } \ |
- class MultiThreadNeedsSemicolon##TEST_FIXTURE_NAME {} |
+#define SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
+ TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DirectRenderer) { \ |
+ RunTest(false, false); \ |
+ } \ |
+ class SingleThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} |
+ |
+#define SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
+ TEST_F(TEST_FIXTURE_NAME, RunSingleThread_DelegatingRenderer) { \ |
+ RunTest(false, true); \ |
+ } \ |
+ class SingleThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} |
+ |
+#define SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
+ SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
+ SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
+ |
+#define MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
+ TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DirectRenderer) { \ |
+ RunTest(true, false); \ |
+ } \ |
+ class MultiThreadDirectNeedsSemicolon##TEST_FIXTURE_NAME {} |
+ |
+#define MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
+ TEST_F(TEST_FIXTURE_NAME, RunMultiThread_DelegatingRenderer) { \ |
+ RunTest(true, true); \ |
+ } \ |
+ class MultiThreadDelegatingNeedsSemicolon##TEST_FIXTURE_NAME {} |
+ |
+#define MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
+ MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
+ MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
+ |
+#define SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
+ SINGLE_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
+ MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
+ |
+#define SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) \ |
+ SINGLE_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
+ MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
#define SINGLE_AND_MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) \ |
- SINGLE_THREAD_TEST_F(TEST_FIXTURE_NAME); \ |
- MULTI_THREAD_TEST_F(TEST_FIXTURE_NAME) |
+ SINGLE_AND_MULTI_THREAD_DIRECT_RENDERER_TEST_F(TEST_FIXTURE_NAME); \ |
+ SINGLE_AND_MULTI_THREAD_DELEGATING_RENDERER_TEST_F(TEST_FIXTURE_NAME) |
#endif // CC_TEST_LAYER_TREE_TEST_H_ |