Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1397)

Unified Diff: Source/core/loader/HistoryController.cpp

Issue 14787005: Simply FrameLoaderStateMachine and FrameLoader::transitionToCommitted(). (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)

Powered by Google App Engine
This is Rietveld 408576698