From a89b2ebb8e192c5e8cea21079bda2ee2c0c7dddd Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 25 May 2012 15:09:11 +0200 Subject: Imported WebKit commit eb5c1b8fe4d4b1b90b5137433fc58a91da0e6878 (http://svn.webkit.org/repository/webkit/trunk@118516) --- Source/WebCore/loader/FrameLoader.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) (limited to 'Source/WebCore/loader/FrameLoader.cpp') diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp index 548aa2c11..d36d11049 100644 --- a/Source/WebCore/loader/FrameLoader.cpp +++ b/Source/WebCore/loader/FrameLoader.cpp @@ -2017,6 +2017,8 @@ void FrameLoader::checkLoadCompleteForThisFrame() { ASSERT(m_client->hasWebView()); + Settings* settings = m_frame->settings(); + switch (m_state) { case FrameStateProvisional: { if (m_delegateIsHandlingProvisionalLoadError) @@ -2091,11 +2093,13 @@ void FrameLoader::checkLoadCompleteForThisFrame() if (m_stateMachine.creatingInitialEmptyDocument() || !m_stateMachine.committedFirstRealDocumentLoad()) return; - if (Page* page = m_frame->page()) { - page->progress()->progressCompleted(m_frame); + if (!settings->needsDidFinishLoadOrderQuirk()) { + if (Page* page = m_frame->page()) { + page->progress()->progressCompleted(m_frame); - if (m_frame == page->mainFrame()) - page->resetRelevantPaintedObjectCounter(); + if (m_frame == page->mainFrame()) + page->resetRelevantPaintedObjectCounter(); + } } const ResourceError& error = dl->mainDocumentError(); @@ -2109,6 +2113,15 @@ void FrameLoader::checkLoadCompleteForThisFrame() loadingEvent = AXObjectCache::AXLoadingFinished; } + if (settings->needsDidFinishLoadOrderQuirk()) { + if (Page* page = m_frame->page()) { + page->progress()->progressCompleted(m_frame); + + if (m_frame == page->mainFrame()) + page->resetRelevantPaintedObjectCounter(); + } + } + // Notify accessibility. if (AXObjectCache::accessibilityEnabled()) m_frame->document()->axObjectCache()->frameLoadingEventNotification(m_frame, loadingEvent); -- cgit v1.2.1