| 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())) {
|
| // 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)
|
|
|