Index: cc/layer_tree_host_client.h |
diff --git a/cc/layer_tree_host_client.h b/cc/layer_tree_host_client.h |
index 6657f59a8f268e8e7e4004810d31d3a327f28e41..955e66a7609402872a95590ecef419b020c6079b 100644 |
--- a/cc/layer_tree_host_client.h |
+++ b/cc/layer_tree_host_client.h |
@@ -11,6 +11,9 @@ namespace gfx { |
class Vector2d; |
} |
+class GrContext; |
+namespace WebKit { class WebGraphicsContext3D; } |
+ |
namespace cc { |
class FontAtlas; |
class InputHandler; |
@@ -26,6 +29,15 @@ public: |
virtual void applyScrollAndScale(gfx::Vector2d scrollDelta, float pageScale) = 0; |
virtual scoped_ptr<OutputSurface> createOutputSurface() = 0; |
virtual void didRecreateOutputSurface(bool success) = 0; |
+ // This method should create a context if needed, but only one valid context |
+ // should ever be created by the client to return from this method. |
+ virtual WebKit::WebGraphicsContext3D* OffscreenContext3dForMainThread() = 0; |
+ // This method should create a context if needed, but only one valid context |
+ // should ever be created by the client to return from this method. |
+ virtual WebKit::WebGraphicsContext3D* OffscreenContext3dForCompositorThread() = 0; |
+ virtual GrContext* OffscreenGrContextForMainThread() = 0; |
+ virtual GrContext* OffscreenGrContextForCompositorThread() = 0; |
+ virtual void DestroyOffscreenContext3dForCompositorThread() = 0; |
virtual scoped_ptr<InputHandler> createInputHandler() = 0; |
virtual void willCommit() = 0; |
virtual void didCommit() = 0; |
@@ -38,6 +50,9 @@ public: |
// Creates a font atlas to use for debug visualizations. |
virtual scoped_ptr<FontAtlas> createFontAtlas() = 0; |
+ // This hook is for testing. |
+ virtual void willRetryRecreateOutputSurface() {} |
+ |
protected: |
virtual ~LayerTreeHostClient() { } |
}; |