diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-09 14:58:40 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-09 14:58:40 +0000 |
commit | 5af517b94a5c8f73cb036b5bffee2e1d3b219904 (patch) | |
tree | 7c0b272de836a3772f2802d1c084e45d00cf62a6 | |
parent | 8ae92ecb7e78b6b1d4b8754c088c53039fdc4840 (diff) | |
download | chromium_src-5af517b94a5c8f73cb036b5bffee2e1d3b219904.zip chromium_src-5af517b94a5c8f73cb036b5bffee2e1d3b219904.tar.gz chromium_src-5af517b94a5c8f73cb036b5bffee2e1d3b219904.tar.bz2 |
Properly hook the RenderWidgetFullscreenPepper to the frame counting logic.
This was broken by r130094, forgetting to set up the
WebGraphicsContext3DSwapBuffersClient onto the
WebGraphicsContext3DCommandBufferImpl.
BUG=180332
Review URL: https://chromiumcodereview.appspot.com/12738004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187160 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | content/renderer/render_widget_fullscreen_pepper.cc | 23 | ||||
-rw-r--r-- | content/renderer/render_widget_fullscreen_pepper.h | 3 |
2 files changed, 17 insertions, 9 deletions
diff --git a/content/renderer/render_widget_fullscreen_pepper.cc b/content/renderer/render_widget_fullscreen_pepper.cc index 0aa6f5e..8cc3848 100644 --- a/content/renderer/render_widget_fullscreen_pepper.cc +++ b/content/renderer/render_widget_fullscreen_pepper.cc @@ -569,16 +569,21 @@ void RenderWidgetFullscreenPepper::CreateContext() { attributes.antialias = false; attributes.shareResources = true; attributes.preferDiscreteGPU = true; - context_ = WebGraphicsContext3DCommandBufferImpl::CreateViewContext( - RenderThreadImpl::current(), - surface_id(), - NULL, + + context_ = + new WebGraphicsContext3DCommandBufferImpl( + surface_id(), + active_url_, + RenderThreadImpl::current(), + AsWeakPtr()); + if (!context_->Initialize( attributes, - true /* bind generates resources */, - active_url_, - CAUSE_FOR_GPU_LAUNCH_RENDERWIDGETFULLSCREENPEPPER_CREATECONTEXT); - if (!context_) + true /* bind_generates_resources */, + CAUSE_FOR_GPU_LAUNCH_RENDERWIDGETFULLSCREENPEPPER_CREATECONTEXT)) { + delete context_; + context_ = NULL; return; + } if (!InitContext()) { DestroyContext(context_, program_, buffer_); @@ -636,6 +641,8 @@ const float kTexCoords[] = { } // anonymous namespace bool RenderWidgetFullscreenPepper::InitContext() { + if (!context_->makeContextCurrent()) + return false; gfx::Size pixel_size = gfx::ToFlooredSize( gfx::ScaleSize(size(), deviceScaleFactor())); context_->reshape(pixel_size.width(), pixel_size.height()); diff --git a/content/renderer/render_widget_fullscreen_pepper.h b/content/renderer/render_widget_fullscreen_pepper.h index c7b5422..461d6b9 100644 --- a/content/renderer/render_widget_fullscreen_pepper.h +++ b/content/renderer/render_widget_fullscreen_pepper.h @@ -31,7 +31,8 @@ class WebGraphicsContext3DCommandBufferImpl; class RenderWidgetFullscreenPepper : public RenderWidgetFullscreen, public webkit::ppapi::FullscreenContainer, - public WebGraphicsContext3DSwapBuffersClient { + public WebGraphicsContext3DSwapBuffersClient, + public base::SupportsWeakPtr<RenderWidgetFullscreenPepper> { public: static RenderWidgetFullscreenPepper* Create( int32 opener_id, |