| Index: Source/web/WebViewImpl.cpp
|
| diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp
|
| index b8ed71c2ffbf1b6a0f134acfbb9a14ffe50fc356..dd1a2a03a9dc7e9550e348bfdf5f574da71b05f4 100644
|
| --- a/Source/web/WebViewImpl.cpp
|
| +++ b/Source/web/WebViewImpl.cpp
|
| @@ -3916,43 +3916,28 @@ void WebViewImpl::didCommitLoad(bool isNewNavigation, bool isNavigationWithinPag
|
|
|
| void WebViewImpl::willInsertBody(WebLocalFrameImpl* webframe)
|
| {
|
| - if (webframe != mainFrameImpl())
|
| - return;
|
| -
|
| - if (!m_page->mainFrame()->isLocalFrame())
|
| - return;
|
| -
|
| - // If we get to the <body> tag and we have no pending stylesheet and import load, we
|
| - // can be fairly confident we'll have something sensible to paint soon and
|
| - // can turn off deferred commits.
|
| - if (m_page->deprecatedLocalMainFrame()->document()->isRenderingReady())
|
| - resumeTreeViewCommits();
|
| + resumeTreeViewCommitsIfNeeded(webframe);
|
| }
|
|
|
| void WebViewImpl::didFinishDocumentLoad(WebLocalFrameImpl* webframe)
|
| {
|
| - if (webframe != mainFrameImpl())
|
| - return;
|
| - // If we finished parsing and there's no sheets to load start painting.
|
| - if (webframe->frame()->document()->isRenderingReady())
|
| - resumeTreeViewCommits();
|
| + resumeTreeViewCommitsIfNeeded(webframe);
|
| }
|
|
|
| void WebViewImpl::didRemoveAllPendingStylesheet(WebLocalFrameImpl* webframe)
|
| {
|
| - if (webframe != mainFrameImpl())
|
| - return;
|
| -
|
| - // If we have no more stylesheets to load and we're past the body tag,
|
| - // we should have something to paint and should start as soon as possible.
|
| - if (m_page->deprecatedLocalMainFrame()->document()->body())
|
| - resumeTreeViewCommits();
|
| + resumeTreeViewCommitsIfNeeded(webframe);
|
| }
|
|
|
| -void WebViewImpl::resumeTreeViewCommits()
|
| +void WebViewImpl::resumeTreeViewCommitsIfNeeded(WebLocalFrameImpl* webframe)
|
| {
|
| - if (m_layerTreeView)
|
| - m_layerTreeView->setDeferCommits(false);
|
| + if (webframe != mainFrameImpl())
|
| + return;
|
| + if (!webframe->frame()->document()->shouldProcessFrameLifecycle())
|
| + return;
|
| + if (!m_layerTreeView)
|
| + return;
|
| + m_layerTreeView->setDeferCommits(false);
|
| }
|
|
|
| void WebViewImpl::postLayoutResize(WebLocalFrameImpl* webframe)
|
|
|