Index: third_party/WebKit/Source/web/WebPagePopupImpl.cpp |
diff --git a/third_party/WebKit/Source/web/WebPagePopupImpl.cpp b/third_party/WebKit/Source/web/WebPagePopupImpl.cpp |
index 2751595e18ae965bf3e45545d8957f1a84555a45..c12f69bac25509d110e7a6330c91a109da94bb52 100644 |
--- a/third_party/WebKit/Source/web/WebPagePopupImpl.cpp |
+++ b/third_party/WebKit/Source/web/WebPagePopupImpl.cpp |
@@ -129,8 +129,7 @@ class PagePopupChromeClient final : public EmptyChromeClient { |
if (LayoutTestSupport::isRunningLayoutTest()) |
m_popup->m_webView->mainFrameImpl()->frameWidget()->scheduleAnimation(); |
- if (m_popup->isAcceleratedCompositingActive()) { |
- DCHECK(m_popup->m_layerTreeView); |
+ if (m_popup->m_layerTreeView) { |
m_popup->m_layerTreeView->setNeedsBeginFrame(); |
return; |
} |
@@ -325,6 +324,8 @@ bool WebPagePopupImpl::initializePage() { |
DCHECK_EQ(m_popupClient->ownerElement().document().existingAXObjectCache(), |
frame->document()->existingAXObjectCache()); |
+ initializeLayerTreeView(); |
+ |
RefPtr<SharedBuffer> data = SharedBuffer::create(); |
m_popupClient->writeDocument(data.get()); |
frame->setPageZoomFactor(m_popupClient->zoomFactor()); |
@@ -370,7 +371,7 @@ void WebPagePopupImpl::setRootGraphicsLayer(GraphicsLayer* layer) { |
m_rootGraphicsLayer = layer; |
m_rootLayer = layer ? layer->platformLayer() : 0; |
- setIsAcceleratedCompositingActive(layer); |
+ m_isAcceleratedCompositingActive = !!layer; |
if (m_layerTreeView) { |
if (m_rootLayer) { |
m_layerTreeView->setRootLayer(*m_rootLayer); |
@@ -380,29 +381,16 @@ void WebPagePopupImpl::setRootGraphicsLayer(GraphicsLayer* layer) { |
} |
} |
-void WebPagePopupImpl::setIsAcceleratedCompositingActive(bool enter) { |
- if (m_isAcceleratedCompositingActive == enter) |
- return; |
- |
- if (!enter) { |
- m_isAcceleratedCompositingActive = false; |
- } else if (m_layerTreeView) { |
- m_isAcceleratedCompositingActive = true; |
+void WebPagePopupImpl::initializeLayerTreeView() { |
+ TRACE_EVENT0("blink", "WebPagePopupImpl::initializeLayerTreeView"); |
+ m_layerTreeView = m_widgetClient->initializeLayerTreeView(); |
+ if (m_layerTreeView) { |
+ m_layerTreeView->setVisible(true); |
+ m_animationHost = WTF::makeUnique<CompositorAnimationHost>( |
+ m_layerTreeView->compositorAnimationHost()); |
+ m_page->layerTreeViewInitialized(*m_layerTreeView, nullptr); |
} else { |
- TRACE_EVENT0("blink", |
- "WebPagePopupImpl::setIsAcceleratedCompositingActive(true)"); |
- |
- m_layerTreeView = m_widgetClient->initializeLayerTreeView(); |
- if (m_layerTreeView) { |
- m_layerTreeView->setVisible(true); |
- m_isAcceleratedCompositingActive = true; |
- m_animationHost = WTF::makeUnique<CompositorAnimationHost>( |
- m_layerTreeView->compositorAnimationHost()); |
- m_page->layerTreeViewInitialized(*m_layerTreeView, nullptr); |
- } else { |
- m_isAcceleratedCompositingActive = false; |
- m_animationHost = nullptr; |
- } |
+ m_animationHost = nullptr; |
} |
} |
@@ -418,7 +406,7 @@ void WebPagePopupImpl::willCloseLayerTreeView() { |
if (m_page && m_layerTreeView) |
m_page->willCloseLayerTreeView(*m_layerTreeView, nullptr); |
- setIsAcceleratedCompositingActive(false); |
+ m_isAcceleratedCompositingActive = false; |
m_layerTreeView = nullptr; |
m_animationHost = nullptr; |
} |