Chromium Code Reviews| 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. |