Index: Source/core/loader/HistoryController.cpp |
diff --git a/Source/core/loader/HistoryController.cpp b/Source/core/loader/HistoryController.cpp |
index 1b6f4316ca463a46e3aa112be06bf61af7f8c66b..66c6c1ac426a52bac218d902b7f7fb4beb61818c 100644 |
--- a/Source/core/loader/HistoryController.cpp |
+++ b/Source/core/loader/HistoryController.cpp |
@@ -308,7 +308,7 @@ void HistoryController::updateForReload() |
// 1) Back/forward: The m_currentItem is part of this mechanism. |
// 2) Global history: Handled by the client. |
// |
-void HistoryController::updateForStandardLoad(HistoryUpdateType updateType) |
+void HistoryController::updateForStandardLoad() |
{ |
LOG(History, "WebCoreHistory: Updating History for Standard Load in frame %s", m_frame->loader()->documentLoader()->url().string().ascii().data()); |
@@ -317,10 +317,8 @@ void HistoryController::updateForStandardLoad(HistoryUpdateType updateType) |
const KURL& historyURL = frameLoader->documentLoader()->urlForHistory(); |
if (!frameLoader->documentLoader()->isClientRedirect()) { |
- if (!historyURL.isEmpty()) { |
- if (updateType != UpdateAllExceptBackForwardList) |
- updateBackForwardListClippedAtTarget(true); |
- } |
+ if (!historyURL.isEmpty()) |
+ updateBackForwardListClippedAtTarget(true); |
} else { |
// The client redirect replaces the current history item. |
updateCurrentItem(); |
@@ -375,7 +373,7 @@ void HistoryController::updateForCommit() |
FrameLoadType type = frameLoader->loadType(); |
if (isBackForwardLoadType(type) |
|| isReplaceLoadTypeWithProvisionalItem(type) |
- || (isReloadTypeWithProvisionalItem(type) && !frameLoader->provisionalDocumentLoader()->unreachableURL().isEmpty())) { |
+ || (isReloadTypeWithProvisionalItem(type) && !frameLoader->documentLoader()->unreachableURL().isEmpty())) { |
Nate Chapin
2013/05/01 21:38:34
This used to be called just before the provisional
abarth-chromium
2013/05/06 17:09:42
Makes sense.
|
// Once committed, we want to use current item for saving DocState, and |
// the provisional item for restoring state. |
// Note previousItem must be set before we close the URL, which will |
@@ -393,6 +391,28 @@ void HistoryController::updateForCommit() |
ASSERT(page); |
page->mainFrame()->loader()->history()->recursiveUpdateForCommit(); |
} |
+ |
+ switch (type) { |
+ case FrameLoadTypeForward: |
+ case FrameLoadTypeBack: |
+ case FrameLoadTypeIndexedBackForward: |
+ updateForBackForwardNavigation(); |
+ return; |
+ case FrameLoadTypeReload: |
+ case FrameLoadTypeReloadFromOrigin: |
+ case FrameLoadTypeSame: |
+ case FrameLoadTypeReplace: |
+ updateForReload(); |
+ return; |
+ case FrameLoadTypeStandard: |
+ updateForStandardLoad(); |
+ return; |
+ case FrameLoadTypeRedirectWithLockedBackForwardList: |
+ updateForRedirectWithLockedBackForwardList(); |
+ return; |
+ default: |
+ ASSERT_NOT_REACHED(); |
+ } |
} |
bool HistoryController::isReplaceLoadTypeWithProvisionalItem(FrameLoadType type) |