Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(609)

Unified Diff: third_party/WebKit/Source/web/WebViewImpl.cpp

Issue 1922793002: Move deferred commit logic from WebViewImpl to Document. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/web/WebViewImpl.cpp
diff --git a/third_party/WebKit/Source/web/WebViewImpl.cpp b/third_party/WebKit/Source/web/WebViewImpl.cpp
index 9822f33e4a6c7f54fc811444d07d14eb307abf19..6a2d518b092adb08936ec7df2986f3e97733fd9d 100644
--- a/third_party/WebKit/Source/web/WebViewImpl.cpp
+++ b/third_party/WebKit/Source/web/WebViewImpl.cpp
@@ -3986,79 +3986,6 @@ void WebViewImpl::didCommitLoad(bool isNewNavigation, bool isNavigationWithinPag
m_userGestureObserved = false;
}
-void WebViewImpl::mainFrameDocumentElementAvailable()
-{
- // This check is necessary to avoid provisional frames
- // (see WebLocalFrame::createProvisional) leaking
- // their calls into WebViewImpl.
- // See http://crbug.com/578349 for details.
- // TODO(dcheng): Remove this when the provisional frames
- // bite the dust.
- if (!mainFrameImpl())
- return;
-
- // For non-HTML documents the willInsertBody notification won't happen
- // so we resume as soon as we have a document element. Even for XHTML
- // documents there may never be a <body> (since the parser won't always
- // insert one), so we resume here too. That does mean XHTML documents make
- // frames when there's only a <head>, but such documents are pretty rare.
- if (!mainFrameImpl()->frame()->document()->isHTMLDocument())
- resumeTreeViewCommitsIfRenderingReady();
-}
-
-void WebViewImpl::willInsertMainFrameDocumentBody()
-{
- // This check is necessary to avoid provisional frames
- // (see WebLocalFrame::createProvisional) leaking
- // their calls into WebViewImpl.
- // See http://crbug.com/578349 for details.
- // TODO(dcheng): Remove this when the provisional frames
- // bite the dust.
- if (!mainFrameImpl())
- return;
-
- // If we get to the <body> try to resume commits since we should have content
- // to paint now.
- // TODO(esprehn): Is this really optimal? We might start producing frames
- // for very little content, should we wait for some heuristic like
- // isVisuallyNonEmpty() ?
- resumeTreeViewCommitsIfRenderingReady();
-}
-
-void WebViewImpl::didFinishMainFrameDocumentLoad()
-{
- resumeTreeViewCommitsIfRenderingReady();
-}
-
-void WebViewImpl::didRemoveAllPendingStylesheetsInMainFrameDocument()
-{
- Document& document = *mainFrameImpl()->frame()->document();
-
- // For HTML if we have no more stylesheets to load and we're past the body
- // tag, we should have something to paint so resume.
- if (document.isHTMLDocument() && !document.body())
- return;
-
- // For non-HTML there is no body so resume as soon as the sheets are loaded.
- if (!document.isHTMLDocument() && !document.documentElement())
- return;
-
- resumeTreeViewCommitsIfRenderingReady();
-}
-
-void WebViewImpl::resumeTreeViewCommitsIfRenderingReady()
-{
- LocalFrame* frame = mainFrameImpl()->frame();
- if (!frame->loader().stateMachine()->committedFirstRealDocumentLoad())
- return;
- if (!frame->document()->isRenderingReady())
- return;
- if (m_layerTreeView) {
- m_layerTreeView->setDeferCommits(false);
- m_layerTreeView->setNeedsBeginFrame();
- }
-}
-
void WebViewImpl::postLayoutResize(WebLocalFrameImpl* webframe)
{
FrameView* view = webframe->frame()->view();

Powered by Google App Engine
This is Rietveld 408576698