Title: [95473] branches/chromium/874/Source/WebCore/loader
Revision
95473
Author
infe...@chromium.org
Date
2011-09-19 14:10:40 -0700 (Mon, 19 Sep 2011)

Log Message

Merge 95259 - Fragment navigations should interrupt a provisional load of a different document
BUG=86758
Review URL: http://codereview.chromium.org/7945015

Modified Paths

Diff

Modified: branches/chromium/874/Source/WebCore/loader/FrameLoader.cpp (95472 => 95473)


--- branches/chromium/874/Source/WebCore/loader/FrameLoader.cpp	2011-09-19 21:09:56 UTC (rev 95472)
+++ branches/chromium/874/Source/WebCore/loader/FrameLoader.cpp	2011-09-19 21:10:40 UTC (rev 95473)
@@ -2697,6 +2697,12 @@
     if (!shouldContinue)
         return;
 
+    // If we have a provisional request for a different document, a fragment scroll should cancel it.
+    if (m_provisionalDocumentLoader && !equalIgnoringFragmentIdentifier(m_provisionalDocumentLoader->request().url(), request.url())) {
+        m_provisionalDocumentLoader->stopLoading();
+        setProvisionalDocumentLoader(0);
+    }
+
     bool isRedirect = m_quickRedirectComing || policyChecker()->loadType() == FrameLoadTypeRedirectWithLockedBackForwardList;    
     loadInSameDocument(request.url(), 0, !isRedirect);
 }

Modified: branches/chromium/874/Source/WebCore/loader/HistoryController.cpp (95472 => 95473)


--- branches/chromium/874/Source/WebCore/loader/HistoryController.cpp	2011-09-19 21:09:56 UTC (rev 95472)
+++ branches/chromium/874/Source/WebCore/loader/HistoryController.cpp	2011-09-19 21:10:40 UTC (rev 95473)
@@ -524,6 +524,11 @@
     if (!m_provisionalItem)
         return;
 
+    // The provisional item may represent a different pending navigation.
+    // Don't commit it if it isn't a same document navigation.
+    if (m_currentItem && !m_currentItem->shouldDoSameDocumentNavigationTo(m_provisionalItem.get()))
+        return;
+
     // Commit the provisional item.
     m_frameLoadComplete = false;
     m_previousItem = m_currentItem;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to