Index: content/renderer/renderer_gl_context.cc |
diff --git a/content/renderer/renderer_gl_context.cc b/content/renderer/renderer_gl_context.cc |
index f913a3b8a280e26426fdedf3bdc983774d8595eb..3e8612dd6012165699fd4435fa289ddf6bcc14f6 100644 |
--- a/content/renderer/renderer_gl_context.cc |
+++ b/content/renderer/renderer_gl_context.cc |
@@ -156,6 +156,7 @@ RendererGLContext::~RendererGLContext() { |
RendererGLContext* RendererGLContext::CreateViewContext( |
GpuChannelHost* channel, |
+ gfx::PluginWindowHandle render_surface, |
int render_view_id, |
const char* allowed_extensions, |
const int32* attrib_list, |
@@ -164,6 +165,7 @@ RendererGLContext* RendererGLContext::CreateViewContext( |
scoped_ptr<RendererGLContext> context(new RendererGLContext(channel, NULL)); |
if (!context->Initialize( |
true, |
+ render_surface, |
render_view_id, |
gfx::Size(), |
allowed_extensions, |
@@ -196,6 +198,7 @@ RendererGLContext* RendererGLContext::CreateOffscreenContext( |
scoped_ptr<RendererGLContext> context(new RendererGLContext(channel, parent)); |
if (!context->Initialize( |
false, |
+ gfx::kNullPluginWindow, |
0, |
size, |
allowed_extensions, |
@@ -366,6 +369,7 @@ RendererGLContext::RendererGLContext(GpuChannelHost* channel, |
} |
bool RendererGLContext::Initialize(bool onscreen, |
+ gfx::PluginWindowHandle render_surface, |
int render_view_id, |
const gfx::Size& size, |
const char* allowed_extensions, |
@@ -418,11 +422,17 @@ bool RendererGLContext::Initialize(bool onscreen, |
// Create a proxy to a command buffer in the GPU process. |
if (onscreen) { |
- command_buffer_ = channel_->CreateViewCommandBuffer( |
- render_view_id, |
- allowed_extensions, |
- attribs, |
- active_url); |
+ if (render_surface == gfx::kNullPluginWindow) { |
+ LOG(ERROR) << "Invalid surface handle for onscreen context."; |
+ command_buffer_ = NULL; |
+ } else { |
+ command_buffer_ = channel_->CreateViewCommandBuffer( |
+ render_surface, |
+ render_view_id, |
+ allowed_extensions, |
+ attribs, |
+ active_url); |
+ } |
} else { |
CommandBufferProxy* parent_command_buffer = |
parent_.get() ? parent_->command_buffer_ : NULL; |