Index: content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h |
=================================================================== |
--- content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h (revision 98270) |
+++ content/renderer/gpu/webgraphicscontext3d_command_buffer_impl.h (working copy) |
@@ -12,6 +12,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "content/renderer/gpu/renderer_gl_context.h" |
+#include "googleurl/src/gurl.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebGraphicsContext3D.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" |
@@ -57,6 +58,10 @@ |
WebKit::WebView*, |
bool renderDirectlyToWebView); |
+ // Must be called after initialize() and before any of the following methods. |
+ // Binds this object to the current thread. We can't bind to multiple threads. |
+ // TODO(husky): Document threading restrictions in WebGraphicsContext3D.h, |
+ // enforce strictly in all implementations. |
jbates
2011/08/26 17:12:47
This is a bit confusing, can it be rephrased?
"Per
|
virtual bool makeContextCurrent(); |
virtual int width(); |
@@ -431,6 +436,12 @@ |
WebGraphicsSwapBuffersCompleteCallbackCHROMIUM* callback); |
private: |
+ // Initialize the underlying GL context. May be called multiple times; second |
+ // and subsequent calls are ignored. Must be called from the thread that is |
+ // going to use this object to issue GL commands (which might not be the main |
+ // thread). |
+ bool MaybeInitializeGL(); |
+ |
// SwapBuffers callback. |
void OnSwapBuffersComplete(); |
virtual void OnContextLost(RendererGLContext::ContextLostReason reason); |
@@ -440,6 +451,11 @@ |
// The GLES2Implementation we use for OpenGL rendering. |
gpu::gles2::GLES2Implementation* gl_; |
+ // State needed by InitializeGLES2. |
+ GpuChannelHost* host_; |
+ GURL active_url_; |
+ int32 render_view_routing_id_; |
+ |
bool render_directly_to_web_view_; |
#ifndef WTF_USE_THREADED_COMPOSITING |
// If rendering directly to WebView, weak pointer to it. |