Index: Source/WebKit/chromium/src/WebViewImpl.cpp |
=================================================================== |
--- Source/WebKit/chromium/src/WebViewImpl.cpp (revision 114977) |
+++ Source/WebKit/chromium/src/WebViewImpl.cpp (working copy) |
@@ -361,6 +361,7 @@ |
, m_isAcceleratedCompositingActive(false) |
, m_compositorCreationFailed(false) |
, m_recreatingGraphicsContext(false) |
+ , m_compositorSurfaceReady(false) |
#endif |
#if ENABLE(INPUT_SPEECH) |
, m_speechInputClient(SpeechInputClientImpl::create(client)) |
@@ -1352,6 +1353,13 @@ |
InspectorInstrumentation::didCancelFrame(m_page.get()); |
} |
+void WebViewImpl::setCompositorSurfaceReady() |
+{ |
+ m_compositorSurfaceReady = true; |
+ if (!m_layerTreeView.isNull()) |
+ m_layerTreeView.setSurfaceReady(); |
+} |
+ |
void WebViewImpl::animate(double) |
{ |
#if ENABLE(REQUEST_ANIMATION_FRAME) |
@@ -3307,6 +3315,8 @@ |
m_layerTreeView.initialize(this, m_rootLayer, layerTreeViewSettings); |
if (!m_layerTreeView.isNull()) { |
m_layerTreeView.setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor); |
+ if (m_compositorSurfaceReady) |
+ m_layerTreeView.setSurfaceReady(); |
updateLayerTreeViewport(); |
m_client->didActivateCompositor(m_layerTreeView.compositorIdentifier()); |
m_isAcceleratedCompositingActive = true; |