summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-09 14:58:40 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-09 14:58:40 +0000
commit5af517b94a5c8f73cb036b5bffee2e1d3b219904 (patch)
tree7c0b272de836a3772f2802d1c084e45d00cf62a6
parent8ae92ecb7e78b6b1d4b8754c088c53039fdc4840 (diff)
downloadchromium_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.cc23
-rw-r--r--content/renderer/render_widget_fullscreen_pepper.h3
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,