| Index: Source/web/WebViewImpl.cpp
|
| diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp
|
| index a79c698484072414f1953b3cd1c6778c9d08d245..b36babbc47442d6a4d7e72058fd991f8edd02107 100644
|
| --- a/Source/web/WebViewImpl.cpp
|
| +++ b/Source/web/WebViewImpl.cpp
|
| @@ -386,6 +386,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
|
| , m_graphicsLayerFactory(adoptPtr(new GraphicsLayerFactoryChromium(this)))
|
| , m_isAcceleratedCompositingActive(false)
|
| , m_layerTreeViewCommitsDeferred(false)
|
| + , m_layerTreeViewClosed(false)
|
| , m_matchesHeuristicsForGpuRasterization(false)
|
| , m_recreatingGraphicsContext(false)
|
| , m_flingModifier(0)
|
| @@ -2434,6 +2435,7 @@ void WebViewImpl::willCloseLayerTreeView()
|
| {
|
| setIsAcceleratedCompositingActive(false);
|
| m_layerTreeView = 0;
|
| + m_layerTreeViewClosed = true;
|
| }
|
|
|
| void WebViewImpl::didAcquirePointerLock()
|
| @@ -3907,6 +3909,10 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
|
| if (!m_client)
|
| return;
|
|
|
| + // In the middle of shutting down; don't try to spin back up a compositor.
|
| + if (m_layerTreeViewClosed)
|
| + return;
|
| +
|
| if (!active) {
|
| m_isAcceleratedCompositingActive = false;
|
| if (!m_layerTreeViewCommitsDeferred
|
|
|