summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_widget_fullscreen_pepper.h
diff options
context:
space:
mode:
authornduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-12 21:10:24 +0000
committernduca@chromium.org <nduca@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-12 21:10:24 +0000
commit652257791aa8aa96c53edd18edf2bd8c4dcaec1b (patch)
tree4f88b09862e79a8f6419d503641b943fe476f1ac /content/renderer/render_widget_fullscreen_pepper.h
parenta1b621b3d14415485da5fc2f2df44f6dfcde84fd (diff)
downloadchromium_src-652257791aa8aa96c53edd18edf2bd8c4dcaec1b.zip
chromium_src-652257791aa8aa96c53edd18edf2bd8c4dcaec1b.tar.gz
chromium_src-652257791aa8aa96c53edd18edf2bd8c4dcaec1b.tar.bz2
Drive compositor scheduling with the swapbuffers callback.
This modifies the compositor to hold DoDeferredUpdate until the previous frames are ack'd by the GPU. This vastly improves rendering smoothness. There is some complexity in the way we intercept the SwapBuffers callback due to the different types of GraphicsContexts that get scheduled by render_widget. BUG=80480,53051 Review URL: http://codereview.chromium.org/6902106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@85186 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_widget_fullscreen_pepper.h')
-rw-r--r--content/renderer/render_widget_fullscreen_pepper.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/content/renderer/render_widget_fullscreen_pepper.h b/content/renderer/render_widget_fullscreen_pepper.h
index c7a235f..e83ca18 100644
--- a/content/renderer/render_widget_fullscreen_pepper.h
+++ b/content/renderer/render_widget_fullscreen_pepper.h
@@ -61,6 +61,9 @@ class RenderWidgetFullscreenPepper : public RenderWidgetFullscreen,
// RenderWidgetFullscreen API.
virtual WebKit::WebWidget* CreateWebWidget();
+ // RenderWidget overrides.
+ virtual bool SupportsAsynchronousSwapBuffers() OVERRIDE;
+
private:
// Creates the GL context for compositing.
void CreateContext();
@@ -75,6 +78,10 @@ class RenderWidgetFullscreenPepper : public RenderWidgetFullscreen,
// Called when the compositing context gets lost.
void OnLostContext();
+ // Binding of RendererGLContext swapbuffers callback to
+ // RenderWidget::OnSwapBuffersCompleted.
+ void OnSwapBuffersCompleteByRendererGLContext();
+
// URL that is responsible for this widget, passed to ggl::CreateViewContext.
GURL active_url_;