Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5505)

Unified Diff: cc/layer_tree_host_client.h

Issue 12212007: cc: Route offscreen context creation for compositor to the browser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove the GrContextProvider::ScopedContexts guard classes Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() { }
};

Powered by Google App Engine
This is Rietveld 408576698