summaryrefslogtreecommitdiffstats
path: root/content/renderer/render_widget.cc
diff options
context:
space:
mode:
authorjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 01:47:14 +0000
committerjamesr@chromium.org <jamesr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 01:47:14 +0000
commitf1d5de49a4677e2d8b90d8e404e40871443d78db (patch)
treeb1fec11efaa1c134d9fde816b8b1c26d59deaac5 /content/renderer/render_widget.cc
parentf0bc67919a773a2238160a74faeeeefbcb9d71e9 (diff)
downloadchromium_src-f1d5de49a4677e2d8b90d8e404e40871443d78db.zip
chromium_src-f1d5de49a4677e2d8b90d8e404e40871443d78db.tar.gz
chromium_src-f1d5de49a4677e2d8b90d8e404e40871443d78db.tar.bz2
Notify WebWidget when its compositor surface is ready to use
Before the browser UI thread has a chance to initialize the native window system surface binding (which is different on each platform) any attempt to initialize the compositor will fail in a way that appears fatal to WebKit. To avoid hitting this, we set a bit when we receive an IPC sent by the browser UI thread after it gets a chance to set up the native windowing stuff - RenderWidget::CompleteInit(). This bit delays RenderWidget-driven frame scheduling, but when WebKit is scheduling frames (for example with the threaded compositor active) we also have to let WebKit know so it can start rendering. BUG=123356 TEST=See bug TBR=darin Review URL: http://codereview.chromium.org/10095021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133118 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/render_widget.cc')
-rw-r--r--content/renderer/render_widget.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index c4de4d2..4aa576c 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -186,6 +186,10 @@ void RenderWidget::CompleteInit(gfx::NativeViewId parent_hwnd) {
host_window_ = parent_hwnd;
host_window_set_ = true;
+#if WEBWIDGET_HAS_SETCOMPOSITORSURFACEREADY
+ if (webwidget_)
+ webwidget_->setCompositorSurfaceReady();
+#endif
DoDeferredUpdate();
Send(new ViewHostMsg_RenderViewReady(routing_id_));