diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-25 15:09:11 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-25 15:09:11 +0200 |
commit | a89b2ebb8e192c5e8cea21079bda2ee2c0c7dddd (patch) | |
tree | b7abd9f49ae1d4d2e426a5883bfccd42b8e2ee12 /Source/WebCore/loader/FrameLoader.cpp | |
parent | 8d473cf9743f1d30a16a27114e93bd5af5648d23 (diff) | |
download | qtwebkit-a89b2ebb8e192c5e8cea21079bda2ee2c0c7dddd.tar.gz |
Imported WebKit commit eb5c1b8fe4d4b1b90b5137433fc58a91da0e6878 (http://svn.webkit.org/repository/webkit/trunk@118516)
Diffstat (limited to 'Source/WebCore/loader/FrameLoader.cpp')
-rw-r--r-- | Source/WebCore/loader/FrameLoader.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
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); |