Index: Source/web/WebViewImpl.cpp |
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
index 6e2085bdb363d92e0573da816a9c952436ebeece..27991386ee1f3aaeb42b07e8855da35ad1797a43 100644 |
--- a/Source/web/WebViewImpl.cpp |
+++ b/Source/web/WebViewImpl.cpp |
@@ -3728,6 +3728,14 @@ void WebViewImpl::scheduleAnimation() |
m_client->scheduleAnimation(); |
} |
+void WebViewImpl::setCompositorCreationFailed(bool failed) |
+{ |
+ m_compositorCreationFailed = failed; |
+ // ChromeClientImpl::allowedCompositingTriggers reads this bit, so we need |
+ // to update the composting triggers. |
+ m_page->updateAcceleratedCompositingSettings(); |
+} |
+ |
void WebViewImpl::setIsAcceleratedCompositingActive(bool active) |
{ |
blink::Platform::current()->histogramEnumeration("GPU.setIsAcceleratedCompositingActive", active * 2 + m_isAcceleratedCompositingActive, 4); |
@@ -3781,7 +3789,7 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active) |
updateLayerTreeViewport(); |
m_client->didActivateCompositor(); |
m_isAcceleratedCompositingActive = true; |
- m_compositorCreationFailed = false; |
+ setCompositorCreationFailed(false); |
if (m_pageOverlays) |
m_pageOverlays->update(); |
m_layerTreeView->setShowFPSCounter(m_showFPSCounter); |
@@ -3792,7 +3800,7 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active) |
} else { |
m_isAcceleratedCompositingActive = false; |
m_client->didDeactivateCompositor(); |
- m_compositorCreationFailed = true; |
+ setCompositorCreationFailed(true); |
} |
} |
if (page()) |
@@ -3852,7 +3860,7 @@ void WebViewImpl::didExitCompositingMode() |
{ |
ASSERT(m_isAcceleratedCompositingActive); |
setIsAcceleratedCompositingActive(false); |
- m_compositorCreationFailed = true; |
+ setCompositorCreationFailed(true); |
m_client->didInvalidateRect(IntRect(0, 0, m_size.width, m_size.height)); |
// Force a style recalc to remove all the composited layers. |