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) |