Chromium Code Reviews| Index: third_party/WebKit/Source/web/ChromeClientImpl.cpp |
| diff --git a/third_party/WebKit/Source/web/ChromeClientImpl.cpp b/third_party/WebKit/Source/web/ChromeClientImpl.cpp |
| index d415d339f26e756b3c382f56434f2413ff7f6d18..9a9b1593949e665df07132fe2374ddbb71ecfa67 100644 |
| --- a/third_party/WebKit/Source/web/ChromeClientImpl.cpp |
| +++ b/third_party/WebKit/Source/web/ChromeClientImpl.cpp |
| @@ -786,24 +786,12 @@ String ChromeClientImpl::acceptLanguages() |
| return m_webView->client()->acceptLanguages(); |
| } |
| -void ChromeClientImpl::attachRootGraphicsLayer(GraphicsLayer* rootLayer, LocalFrame* localRoot) |
| +void ChromeClientImpl::attachRootGraphicsLayer(GraphicsLayer* rootLayer, LocalFrame* localFrame) |
| { |
| - // FIXME: For top-level frames we still use the WebView as a WebWidget. This |
| - // special case will be removed when top-level frames get WebFrameWidgets. |
| - if (localRoot->isMainFrame()) { |
| - m_webView->setRootGraphicsLayer(rootLayer); |
| - } else { |
| - WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(localRoot); |
| - // FIXME: The following conditional is only needed for staging until the |
| - // Chromium patch lands that instantiates a WebFrameWidget. |
| - if (!webFrame->frameWidget()) { |
| - m_webView->setRootGraphicsLayer(rootLayer); |
| - return; |
| - } |
| - DCHECK(webFrame); |
| - DCHECK(webFrame->frameWidget()); |
| - toWebFrameWidgetImpl(webFrame->frameWidget())->setRootGraphicsLayer(rootLayer); |
| - } |
| + WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(localFrame)->localRoot(); |
| + DCHECK(webFrame->frameWidget() || !rootLayer); |
|
dcheng
2016/06/08 00:10:17
Why is it OK for rootLayer to be null in this case
lfg
2016/06/08 21:09:47
We call PaintLayerCompositor::detachRootLayer() in
dcheng
2016/06/09 04:43:51
That doesn't sound right: we should be calling Doc
|
| + if (webFrame->frameWidget()) |
| + webFrame->frameWidget()->setRootGraphicsLayer(rootLayer); |
| } |
| void ChromeClientImpl::didPaint(const PaintArtifact& paintArtifact) |
| @@ -813,44 +801,17 @@ void ChromeClientImpl::didPaint(const PaintArtifact& paintArtifact) |
| m_webView->getPaintArtifactCompositor().update(paintArtifact); |
| } |
| -void ChromeClientImpl::attachCompositorAnimationTimeline(CompositorAnimationTimeline* compositorTimeline, LocalFrame* localRoot) |
| +void ChromeClientImpl::attachCompositorAnimationTimeline(CompositorAnimationTimeline* compositorTimeline, LocalFrame* localFrame) |
| { |
| - // FIXME: For top-level frames we still use the WebView as a WebWidget. This |
| - // special case will be removed when top-level frames get WebFrameWidgets. |
| - if (localRoot->isMainFrame()) { |
| - m_webView->attachCompositorAnimationTimeline(compositorTimeline); |
| - } else { |
| - WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(localRoot); |
| - // FIXME: The following conditional is only needed for staging until the |
| - // Chromium patch lands that instantiates a WebFrameWidget. |
| - if (!webFrame->frameWidget()) { |
| - m_webView->attachCompositorAnimationTimeline(compositorTimeline); |
| - return; |
| - } |
| - DCHECK(webFrame); |
| - DCHECK(webFrame->frameWidget()); |
| - toWebFrameWidgetImpl(webFrame->frameWidget())->attachCompositorAnimationTimeline(compositorTimeline); |
| - } |
| + WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(localFrame)->localRoot(); |
| + webFrame->frameWidget()->attachCompositorAnimationTimeline(compositorTimeline); |
| } |
| -void ChromeClientImpl::detachCompositorAnimationTimeline(CompositorAnimationTimeline* compositorTimeline, LocalFrame* localRoot) |
| +void ChromeClientImpl::detachCompositorAnimationTimeline(CompositorAnimationTimeline* compositorTimeline, LocalFrame* localFrame) |
| { |
| - // FIXME: For top-level frames we still use the WebView as a WebWidget. This |
| - // special case will be removed when top-level frames get WebFrameWidgets. |
| - if (localRoot->isMainFrame()) { |
| - m_webView->detachCompositorAnimationTimeline(compositorTimeline); |
| - } else { |
| - WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(localRoot); |
| - // FIXME: The following conditional is only needed for staging until the |
| - // Chromium patch lands that instantiates a WebFrameWidget. |
| - if (!webFrame->frameWidget()) { |
| - m_webView->detachCompositorAnimationTimeline(compositorTimeline); |
| - return; |
| - } |
| - DCHECK(webFrame); |
| - DCHECK(webFrame->frameWidget()); |
| - toWebFrameWidgetImpl(webFrame->frameWidget())->detachCompositorAnimationTimeline(compositorTimeline); |
| - } |
| + WebLocalFrameImpl* webFrame = WebLocalFrameImpl::fromFrame(localFrame)->localRoot(); |
| + if (webFrame->frameWidget()) |
|
dcheng
2016/06/09 04:43:51
Similar comment to the attachRootGraphicsLayer com
|
| + webFrame->frameWidget()->detachCompositorAnimationTimeline(compositorTimeline); |
| } |
| void ChromeClientImpl::enterFullScreenForElement(Element* element) |