<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[170134] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/170134">170134</a></dd>
<dt>Author</dt> <dd>andersca@apple.com</dd>
<dt>Date</dt> <dd>2014-06-18 17:13:20 -0700 (Wed, 18 Jun 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Make FrameLoadType a strongly typed enum
https://bugs.webkit.org/show_bug.cgi?id=134047

Reviewed by Andreas Kling.

Source/WebCore:
* history/BackForwardController.cpp:
(WebCore::BackForwardController::goBackOrForward):
(WebCore::BackForwardController::goBack):
(WebCore::BackForwardController::goForward):
* history/PageCache.cpp:
(WebCore::logCanCachePageDecision):
(WebCore::PageCache::canCache):
* loader/FrameLoader.cpp:
(WebCore::isBackForwardLoadType):
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::isReplacing):
(WebCore::FrameLoader::setReplacing):
(WebCore::FrameLoader::subresourceCachePolicy):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::addExtraFieldsToRequest):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::shouldPerformFragmentNavigation):
(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
(WebCore::FrameLoader::loadDifferentDocumentItem):
* loader/FrameLoaderTypes.h:
* loader/HistoryController.cpp:
(WebCore::HistoryController::restoreDocumentState):
(WebCore::HistoryController::updateForReload):
(WebCore::HistoryController::isReplaceLoadTypeWithProvisionalItem):
(WebCore::HistoryController::isReloadTypeWithProvisionalItem):
* loader/NavigationAction.cpp:
(WebCore::navigationType):
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::PolicyChecker):
(WebCore::PolicyChecker::checkNavigationPolicy):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::cachePolicy):
* loader/icon/IconController.cpp:
(WebCore::IconController::startLoader):

Source/WebKit/mac:
* WebView/WebFrame.mm:
(toWebFrameLoadType):
(-[WebFrame _loadType]):
* WebView/WebView.mm:
(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView goToBackForwardItem:]):

Source/WebKit/win:
* WebView.cpp:
(WebView::goToBackForwardItem):
(WebView::loadBackForwardListFromOtherView):

Source/WebKit2:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didCommitLoadForFrame):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::goForward):
(WebKit::WebPage::goBack):
(WebKit::WebPage::goToBackForwardItem):
(WebKit::shouldReuseCommittedSandboxExtension):
(WebKit::WebPage::didCommitLoad):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCorehistoryBackForwardControllercpp">trunk/Source/WebCore/history/BackForwardController.cpp</a></li>
<li><a href="#trunkSourceWebCorehistoryPageCachecpp">trunk/Source/WebCore/history/PageCache.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoadercpp">trunk/Source/WebCore/loader/FrameLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderFrameLoaderTypesh">trunk/Source/WebCore/loader/FrameLoaderTypes.h</a></li>
<li><a href="#trunkSourceWebCoreloaderHistoryControllercpp">trunk/Source/WebCore/loader/HistoryController.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderNavigationActioncpp">trunk/Source/WebCore/loader/NavigationAction.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderPolicyCheckercpp">trunk/Source/WebCore/loader/PolicyChecker.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourceLoadercpp">trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadericonIconControllercpp">trunk/Source/WebCore/loader/icon/IconController.cpp</a></li>
<li><a href="#trunkSourceWebKitmacChangeLog">trunk/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebFramemm">trunk/Source/WebKit/mac/WebView/WebFrame.mm</a></li>
<li><a href="#trunkSourceWebKitmacWebViewWebViewmm">trunk/Source/WebKit/mac/WebView/WebView.mm</a></li>
<li><a href="#trunkSourceWebKitwinChangeLog">trunk/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#trunkSourceWebKitwinWebViewcpp">trunk/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp">trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebProcessWebPageWebPagecpp">trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/ChangeLog        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -1,3 +1,54 @@
</span><ins>+2014-06-18  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Make FrameLoadType a strongly typed enum
+        https://bugs.webkit.org/show_bug.cgi?id=134047
+
+        Reviewed by Andreas Kling.
+
+        * history/BackForwardController.cpp:
+        (WebCore::BackForwardController::goBackOrForward):
+        (WebCore::BackForwardController::goBack):
+        (WebCore::BackForwardController::goForward):
+        * history/PageCache.cpp:
+        (WebCore::logCanCachePageDecision):
+        (WebCore::PageCache::canCache):
+        * loader/FrameLoader.cpp:
+        (WebCore::isBackForwardLoadType):
+        (WebCore::FrameLoader::FrameLoader):
+        (WebCore::FrameLoader::loadURLIntoChildFrame):
+        (WebCore::FrameLoader::prepareForLoadStart):
+        (WebCore::FrameLoader::loadFrameRequest):
+        (WebCore::FrameLoader::loadURL):
+        (WebCore::FrameLoader::load):
+        (WebCore::FrameLoader::reloadWithOverrideEncoding):
+        (WebCore::FrameLoader::reload):
+        (WebCore::FrameLoader::commitProvisionalLoad):
+        (WebCore::FrameLoader::transitionToCommitted):
+        (WebCore::FrameLoader::isReplacing):
+        (WebCore::FrameLoader::setReplacing):
+        (WebCore::FrameLoader::subresourceCachePolicy):
+        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
+        (WebCore::FrameLoader::addExtraFieldsToRequest):
+        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
+        (WebCore::FrameLoader::shouldPerformFragmentNavigation):
+        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
+        (WebCore::FrameLoader::loadDifferentDocumentItem):
+        * loader/FrameLoaderTypes.h:
+        * loader/HistoryController.cpp:
+        (WebCore::HistoryController::restoreDocumentState):
+        (WebCore::HistoryController::updateForReload):
+        (WebCore::HistoryController::isReplaceLoadTypeWithProvisionalItem):
+        (WebCore::HistoryController::isReloadTypeWithProvisionalItem):
+        * loader/NavigationAction.cpp:
+        (WebCore::navigationType):
+        * loader/PolicyChecker.cpp:
+        (WebCore::PolicyChecker::PolicyChecker):
+        (WebCore::PolicyChecker::checkNavigationPolicy):
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::CachedResourceLoader::cachePolicy):
+        * loader/icon/IconController.cpp:
+        (WebCore::IconController::startLoader):
+
</ins><span class="cx"> 2014-06-18  Alex Christensen  &lt;achristensen@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         [curl] Unreviewed speculative build fix after r170021.
</span></span></pre></div>
<a id="trunkSourceWebCorehistoryBackForwardControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/history/BackForwardController.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/history/BackForwardController.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/history/BackForwardController.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -74,7 +74,7 @@
</span><span class="cx">     if (!item)
</span><span class="cx">         return;
</span><span class="cx"> 
</span><del>-    m_page.goToItem(item, FrameLoadTypeIndexedBackForward);
</del><ins>+    m_page.goToItem(item, FrameLoadType::IndexedBackForward);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool BackForwardController::goBack()
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx">     if (!item)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    m_page.goToItem(item, FrameLoadTypeBack);
</del><ins>+    m_page.goToItem(item, FrameLoadType::Back);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -93,7 +93,7 @@
</span><span class="cx">     if (!item)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    m_page.goToItem(item, FrameLoadTypeForward);
</del><ins>+    m_page.goToItem(item, FrameLoadType::Forward);
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCorehistoryPageCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/history/PageCache.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/history/PageCache.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/history/PageCache.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -242,15 +242,15 @@
</span><span class="cx">     }
</span><span class="cx"> #endif
</span><span class="cx">     FrameLoadType loadType = page-&gt;mainFrame().loader().loadType();
</span><del>-    if (loadType == FrameLoadTypeReload) {
</del><ins>+    if (loadType == FrameLoadType::Reload) {
</ins><span class="cx">         PCLOG(&quot;   -Load type is: Reload&quot;);
</span><span class="cx">         rejectReasons |= 1 &lt;&lt; IsReload;
</span><span class="cx">     }
</span><del>-    if (loadType == FrameLoadTypeReloadFromOrigin) {
</del><ins>+    if (loadType == FrameLoadType::ReloadFromOrigin) {
</ins><span class="cx">         PCLOG(&quot;   -Load type is: Reload from origin&quot;);
</span><span class="cx">         rejectReasons |= 1 &lt;&lt; IsReloadFromOrigin;
</span><span class="cx">     }
</span><del>-    if (loadType == FrameLoadTypeSame) {
</del><ins>+    if (loadType == FrameLoadType::Same) {
</ins><span class="cx">         PCLOG(&quot;   -Load type is: Same&quot;);
</span><span class="cx">         rejectReasons |= 1 &lt;&lt; IsSameLoad;
</span><span class="cx">     }
</span><span class="lines">@@ -345,10 +345,10 @@
</span><span class="cx"> #if ENABLE(PROXIMITY_EVENTS)
</span><span class="cx">         &amp;&amp; !DeviceProximityController::isActiveAt(page)
</span><span class="cx"> #endif
</span><del>-        &amp;&amp; (loadType == FrameLoadTypeStandard
-            || loadType == FrameLoadTypeBack
-            || loadType == FrameLoadTypeForward
-            || loadType == FrameLoadTypeIndexedBackForward);
</del><ins>+        &amp;&amp; (loadType == FrameLoadType::Standard
+            || loadType == FrameLoadType::Back
+            || loadType == FrameLoadType::Forward
+            || loadType == FrameLoadType::IndexedBackForward);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void PageCache::pruneToCapacityNow(int capacity)
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoader.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -152,17 +152,17 @@
</span><span class="cx"> bool isBackForwardLoadType(FrameLoadType type)
</span><span class="cx"> {
</span><span class="cx">     switch (type) {
</span><del>-        case FrameLoadTypeStandard:
-        case FrameLoadTypeReload:
-        case FrameLoadTypeReloadFromOrigin:
-        case FrameLoadTypeSame:
-        case FrameLoadTypeRedirectWithLockedBackForwardList:
-        case FrameLoadTypeReplace:
-            return false;
-        case FrameLoadTypeBack:
-        case FrameLoadTypeForward:
-        case FrameLoadTypeIndexedBackForward:
-            return true;
</del><ins>+    case FrameLoadType::Standard:
+    case FrameLoadType::Reload:
+    case FrameLoadType::ReloadFromOrigin:
+    case FrameLoadType::Same:
+    case FrameLoadType::RedirectWithLockedBackForwardList:
+    case FrameLoadType::Replace:
+        return false;
+    case FrameLoadType::Back:
+    case FrameLoadType::Forward:
+    case FrameLoadType::IndexedBackForward:
+        return true;
</ins><span class="cx">     }
</span><span class="cx">     ASSERT_NOT_REACHED();
</span><span class="cx">     return false;
</span><span class="lines">@@ -225,7 +225,7 @@
</span><span class="cx">     , m_icon(std::make_unique&lt;IconController&gt;(frame))
</span><span class="cx">     , m_mixedContentChecker(frame)
</span><span class="cx">     , m_state(FrameStateProvisional)
</span><del>-    , m_loadType(FrameLoadTypeStandard)
</del><ins>+    , m_loadType(FrameLoadType::Standard)
</ins><span class="cx">     , m_delegateIsHandlingProvisionalLoadError(false)
</span><span class="cx">     , m_quickRedirectComing(false)
</span><span class="cx">     , m_sentRedirectNotification(false)
</span><span class="lines">@@ -921,7 +921,7 @@
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    childFrame-&gt;loader().loadURL(url, referer, &quot;_self&quot;, LockHistory::No, FrameLoadTypeRedirectWithLockedBackForwardList, 0, 0);
</del><ins>+    childFrame-&gt;loader().loadURL(url, referer, &quot;_self&quot;, LockHistory::No, FrameLoadType::RedirectWithLockedBackForwardList, 0, 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
</span><span class="lines">@@ -1184,7 +1184,7 @@
</span><span class="cx"> 
</span><span class="cx">     if (AXObjectCache::accessibilityEnabled()) {
</span><span class="cx">         if (AXObjectCache* cache = m_frame.document()-&gt;existingAXObjectCache()) {
</span><del>-            AXObjectCache::AXLoadingEvent loadingEvent = loadType() == FrameLoadTypeReload ? AXObjectCache::AXLoadingReloaded : AXObjectCache::AXLoadingStarted;
</del><ins>+            AXObjectCache::AXLoadingEvent loadingEvent = loadType() == FrameLoadType::Reload ? AXObjectCache::AXLoadingReloaded : AXObjectCache::AXLoadingStarted;
</ins><span class="cx">             cache-&gt;frameLoadingEventNotification(&amp;m_frame, loadingEvent);
</span><span class="cx">         }
</span><span class="cx">     }
</span><span class="lines">@@ -1223,11 +1223,11 @@
</span><span class="cx">     
</span><span class="cx">     FrameLoadType loadType;
</span><span class="cx">     if (request.resourceRequest().cachePolicy() == ReloadIgnoringCacheData)
</span><del>-        loadType = FrameLoadTypeReload;
</del><ins>+        loadType = FrameLoadType::Reload;
</ins><span class="cx">     else if (lockBackForwardList == LockBackForwardList::Yes)
</span><del>-        loadType = FrameLoadTypeRedirectWithLockedBackForwardList;
</del><ins>+        loadType = FrameLoadType::RedirectWithLockedBackForwardList;
</ins><span class="cx">     else
</span><del>-        loadType = FrameLoadTypeStandard;
</del><ins>+        loadType = FrameLoadType::Standard;
</ins><span class="cx"> 
</span><span class="cx">     if (request.resourceRequest().httpMethod() == &quot;POST&quot;)
</span><span class="cx">         loadPostRequest(request.resourceRequest(), referrer, request.frameName(), lockHistory, loadType, event, formState.get());
</span><span class="lines">@@ -1266,10 +1266,10 @@
</span><span class="cx">         request.setCachePartition(m_frame.tree().top().document()-&gt;securityOrigin()-&gt;cachePartition());
</span><span class="cx"> #endif
</span><span class="cx">     addExtraFieldsToRequest(request, newLoadType, true);
</span><del>-    if (newLoadType == FrameLoadTypeReload || newLoadType == FrameLoadTypeReloadFromOrigin)
</del><ins>+    if (newLoadType == FrameLoadType::Reload || newLoadType == FrameLoadType::ReloadFromOrigin)
</ins><span class="cx">         request.setCachePolicy(ReloadIgnoringCacheData);
</span><span class="cx"> 
</span><del>-    ASSERT(newLoadType != FrameLoadTypeSame);
</del><ins>+    ASSERT(newLoadType != FrameLoadType::Same);
</ins><span class="cx"> 
</span><span class="cx">     // The search for a target frame is done earlier in the case of form submission.
</span><span class="cx">     Frame* targetFrame = isFormSubmission ? 0 : findFrameForNavigation(frameName);
</span><span class="lines">@@ -1316,11 +1316,11 @@
</span><span class="cx">         m_quickRedirectComing = false;
</span><span class="cx">         if (m_provisionalDocumentLoader)
</span><span class="cx">             m_provisionalDocumentLoader-&gt;setIsClientRedirect(true);
</span><del>-    } else if (sameURL &amp;&amp; newLoadType != FrameLoadTypeReload &amp;&amp; newLoadType != FrameLoadTypeReloadFromOrigin) {
</del><ins>+    } else if (sameURL &amp;&amp; newLoadType != FrameLoadType::Reload &amp;&amp; newLoadType != FrameLoadType::ReloadFromOrigin) {
</ins><span class="cx">         // Example of this case are sites that reload the same URL with a different cookie
</span><span class="cx">         // driving the generated content, or a master frame with links that drive a target
</span><span class="cx">         // frame, where the user has clicked on the same link repeatedly.
</span><del>-        m_loadType = FrameLoadTypeSame;
</del><ins>+        m_loadType = FrameLoadType::Same;
</ins><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -1388,11 +1388,11 @@
</span><span class="cx"> 
</span><span class="cx">     if (shouldTreatURLAsSameAsCurrent(newDocumentLoader-&gt;originalRequest().url())) {
</span><span class="cx">         r.setCachePolicy(ReloadIgnoringCacheData);
</span><del>-        type = FrameLoadTypeSame;
-    } else if (shouldTreatURLAsSameAsCurrent(newDocumentLoader-&gt;unreachableURL()) &amp;&amp; m_loadType == FrameLoadTypeReload)
-        type = FrameLoadTypeReload;
</del><ins>+        type = FrameLoadType::Same;
+    } else if (shouldTreatURLAsSameAsCurrent(newDocumentLoader-&gt;unreachableURL()) &amp;&amp; m_loadType == FrameLoadType::Reload)
+        type = FrameLoadType::Reload;
</ins><span class="cx">     else
</span><del>-        type = FrameLoadTypeStandard;
</del><ins>+        type = FrameLoadType::Standard;
</ins><span class="cx"> 
</span><span class="cx">     if (m_documentLoader)
</span><span class="cx">         newDocumentLoader-&gt;setOverrideEncoding(m_documentLoader-&gt;overrideEncoding());
</span><span class="lines">@@ -1401,7 +1401,7 @@
</span><span class="cx">     // visiting in the history list, we treat it as a reload so the history list 
</span><span class="cx">     // is appropriately maintained.
</span><span class="cx">     //
</span><del>-    // FIXME: This seems like a dangerous overloading of the meaning of &quot;FrameLoadTypeReload&quot; ...
</del><ins>+    // FIXME: This seems like a dangerous overloading of the meaning of &quot;FrameLoadType::Reload&quot; ...
</ins><span class="cx">     // shouldn't a more explicit type of reload be defined, that means roughly 
</span><span class="cx">     // &quot;load without affecting history&quot; ? 
</span><span class="cx">     if (shouldReloadToHandleUnreachableURL(newDocumentLoader)) {
</span><span class="lines">@@ -1410,8 +1410,8 @@
</span><span class="cx">         // changed and updateForBackForwardNavigation() will not be called when loading is committed.
</span><span class="cx">         history().saveDocumentAndScrollState();
</span><span class="cx"> 
</span><del>-        ASSERT(type == FrameLoadTypeStandard);
-        type = FrameLoadTypeReload;
</del><ins>+        ASSERT(type == FrameLoadType::Standard);
+        type = FrameLoadType::Reload;
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     loadWithDocumentLoader(newDocumentLoader, type, 0);
</span><span class="lines">@@ -1559,7 +1559,7 @@
</span><span class="cx"> 
</span><span class="cx">     loader-&gt;setOverrideEncoding(encoding);
</span><span class="cx"> 
</span><del>-    loadWithDocumentLoader(loader.get(), FrameLoadTypeReload, 0);
</del><ins>+    loadWithDocumentLoader(loader.get(), FrameLoadType::Reload, 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FrameLoader::reload(bool endToEndReload)
</span><span class="lines">@@ -1593,7 +1593,7 @@
</span><span class="cx"> 
</span><span class="cx">     loader-&gt;setOverrideEncoding(m_documentLoader-&gt;overrideEncoding());
</span><span class="cx">     
</span><del>-    loadWithDocumentLoader(loader.get(), endToEndReload ? FrameLoadTypeReloadFromOrigin : FrameLoadTypeReload, 0);
</del><ins>+    loadWithDocumentLoader(loader.get(), endToEndReload ? FrameLoadType::ReloadFromOrigin : FrameLoadType::Reload, 0);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FrameLoader::stopAllLoaders(ClearProvisionalItemPolicy clearProvisionalItemPolicy)
</span><span class="lines">@@ -1785,7 +1785,7 @@
</span><span class="cx">     if (!m_frame.tree().parent() &amp;&amp; pageCache()-&gt;canCache(m_frame.page()) &amp;&amp; !item-&gt;isInPageCache())
</span><span class="cx">         pageCache()-&gt;add(item, *m_frame.page());
</span><span class="cx"> 
</span><del>-    if (m_loadType != FrameLoadTypeReplace)
</del><ins>+    if (m_loadType != FrameLoadType::Replace)
</ins><span class="cx">         closeOldDataSources();
</span><span class="cx"> 
</span><span class="cx">     if (!cachedPage &amp;&amp; !m_stateMachine.creatingInitialEmptyDocument())
</span><span class="lines">@@ -1834,7 +1834,7 @@
</span><span class="cx">     LOG(Loading, &quot;WebCoreLoading %s: Finished committing provisional load to URL %s&quot;, m_frame.tree().uniqueName().string().utf8().data(),
</span><span class="cx">         m_frame.document() ? m_frame.document()-&gt;url().stringCenterEllipsizedToLength().utf8().data() : &quot;&quot;);
</span><span class="cx"> 
</span><del>-    if (m_loadType == FrameLoadTypeStandard &amp;&amp; m_documentLoader-&gt;isClientRedirect())
</del><ins>+    if (m_loadType == FrameLoadType::Standard &amp;&amp; m_documentLoader-&gt;isClientRedirect())
</ins><span class="cx">         history().updateForClientRedirect();
</span><span class="cx"> 
</span><span class="cx">     if (m_loadingFromCachedPage) {
</span><span class="lines">@@ -1923,57 +1923,57 @@
</span><span class="cx">     DocumentLoader* dl = m_documentLoader.get();
</span><span class="cx"> 
</span><span class="cx">     switch (m_loadType) {
</span><del>-        case FrameLoadTypeForward:
-        case FrameLoadTypeBack:
-        case FrameLoadTypeIndexedBackForward:
-            if (m_frame.page()) {
-                // If the first load within a frame is a navigation within a back/forward list that was attached
-                // without any of the items being loaded then we need to update the history in a similar manner as
-                // for a standard load with the exception of updating the back/forward list (&lt;rdar://problem/8091103&gt;).
-                if (!m_stateMachine.committedFirstRealDocumentLoad() &amp;&amp; m_frame.isMainFrame())
-                    history().updateForStandardLoad(HistoryController::UpdateAllExceptBackForwardList);
</del><ins>+    case FrameLoadType::Forward:
+    case FrameLoadType::Back:
+    case FrameLoadType::IndexedBackForward:
+        if (m_frame.page()) {
+            // If the first load within a frame is a navigation within a back/forward list that was attached
+            // without any of the items being loaded then we need to update the history in a similar manner as
+            // for a standard load with the exception of updating the back/forward list (&lt;rdar://problem/8091103&gt;).
+            if (!m_stateMachine.committedFirstRealDocumentLoad() &amp;&amp; m_frame.isMainFrame())
+                history().updateForStandardLoad(HistoryController::UpdateAllExceptBackForwardList);
</ins><span class="cx"> 
</span><del>-                history().updateForBackForwardNavigation();
</del><ins>+            history().updateForBackForwardNavigation();
</ins><span class="cx"> 
</span><del>-                // For cached pages, CachedFrame::restore will take care of firing the popstate event with the history item's state object
-                if (history().currentItem() &amp;&amp; !cachedPage)
-                    m_pendingStateObject = history().currentItem()-&gt;stateObject();
</del><ins>+            // For cached pages, CachedFrame::restore will take care of firing the popstate event with the history item's state object
+            if (history().currentItem() &amp;&amp; !cachedPage)
+                m_pendingStateObject = history().currentItem()-&gt;stateObject();
</ins><span class="cx"> 
</span><del>-                // Create a document view for this document, or used the cached view.
-                if (cachedPage) {
-                    DocumentLoader* cachedDocumentLoader = cachedPage-&gt;documentLoader();
-                    ASSERT(cachedDocumentLoader);
-                    cachedDocumentLoader-&gt;setFrame(&amp;m_frame);
-                    m_client.transitionToCommittedFromCachedFrame(cachedPage-&gt;cachedMainFrame());
-                } else
-                    m_client.transitionToCommittedForNewPage();
-            }
-            break;
</del><ins>+            // Create a document view for this document, or used the cached view.
+            if (cachedPage) {
+                DocumentLoader* cachedDocumentLoader = cachedPage-&gt;documentLoader();
+                ASSERT(cachedDocumentLoader);
+                cachedDocumentLoader-&gt;setFrame(&amp;m_frame);
+                m_client.transitionToCommittedFromCachedFrame(cachedPage-&gt;cachedMainFrame());
+            } else
+                m_client.transitionToCommittedForNewPage();
+        }
+        break;
</ins><span class="cx"> 
</span><del>-        case FrameLoadTypeReload:
-        case FrameLoadTypeReloadFromOrigin:
-        case FrameLoadTypeSame:
-        case FrameLoadTypeReplace:
-            history().updateForReload();
-            m_client.transitionToCommittedForNewPage();
-            break;
</del><ins>+    case FrameLoadType::Reload:
+    case FrameLoadType::ReloadFromOrigin:
+    case FrameLoadType::Same:
+    case FrameLoadType::Replace:
+        history().updateForReload();
+        m_client.transitionToCommittedForNewPage();
+        break;
</ins><span class="cx"> 
</span><del>-        case FrameLoadTypeStandard:
-            history().updateForStandardLoad();
-            if (m_frame.view())
-                m_frame.view()-&gt;setScrollbarsSuppressed(true);
-            m_client.transitionToCommittedForNewPage();
-            break;
</del><ins>+    case FrameLoadType::Standard:
+        history().updateForStandardLoad();
+        if (m_frame.view())
+            m_frame.view()-&gt;setScrollbarsSuppressed(true);
+        m_client.transitionToCommittedForNewPage();
+        break;
</ins><span class="cx"> 
</span><del>-        case FrameLoadTypeRedirectWithLockedBackForwardList:
-            history().updateForRedirectWithLockedBackForwardList();
-            m_client.transitionToCommittedForNewPage();
-            break;
</del><ins>+    case FrameLoadType::RedirectWithLockedBackForwardList:
+        history().updateForRedirectWithLockedBackForwardList();
+        m_client.transitionToCommittedForNewPage();
+        break;
</ins><span class="cx"> 
</span><del>-        // FIXME Remove this check when dummy ds is removed (whatever &quot;dummy ds&quot; is).
-        // An exception should be thrown if we're in the FrameLoadTypeUninitialized state.
-        default:
-            ASSERT_NOT_REACHED();
</del><ins>+    // FIXME Remove this check when dummy ds is removed (whatever &quot;dummy ds&quot; is).
+    // An exception should be thrown if we're in the FrameLoadTypeUninitialized state.
+    default:
+        ASSERT_NOT_REACHED();
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_documentLoader-&gt;writer().setMIMEType(dl-&gt;responseMIMEType());
</span><span class="lines">@@ -2113,12 +2113,12 @@
</span><span class="cx"> 
</span><span class="cx"> bool FrameLoader::isReplacing() const
</span><span class="cx"> {
</span><del>-    return m_loadType == FrameLoadTypeReplace;
</del><ins>+    return m_loadType == FrameLoadType::Replace;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FrameLoader::setReplacing()
</span><span class="cx"> {
</span><del>-    m_loadType = FrameLoadTypeReplace;
</del><ins>+    m_loadType = FrameLoadType::Replace;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool FrameLoader::subframeIsLoading() const
</span><span class="lines">@@ -2154,7 +2154,7 @@
</span><span class="cx">     if (m_isComplete)
</span><span class="cx">         return CachePolicyVerify;
</span><span class="cx"> 
</span><del>-    if (m_loadType == FrameLoadTypeReloadFromOrigin)
</del><ins>+    if (m_loadType == FrameLoadType::ReloadFromOrigin)
</ins><span class="cx">         return CachePolicyReload;
</span><span class="cx"> 
</span><span class="cx">     if (Frame* parentFrame = m_frame.tree().parent()) {
</span><span class="lines">@@ -2163,7 +2163,7 @@
</span><span class="cx">             return parentCachePolicy;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    if (m_loadType == FrameLoadTypeReload)
</del><ins>+    if (m_loadType == FrameLoadType::Reload)
</ins><span class="cx">         return CachePolicyRevalidate;
</span><span class="cx"> 
</span><span class="cx">     const ResourceRequest&amp; request(documentLoader()-&gt;request());
</span><span class="lines">@@ -2249,7 +2249,7 @@
</span><span class="cx">              
</span><span class="cx">             // If the user had a scroll point, scroll to it, overriding the anchor point if any.
</span><span class="cx">             if (m_frame.page()) {
</span><del>-                if (isBackForwardLoadType(m_loadType) || m_loadType == FrameLoadTypeReload || m_loadType == FrameLoadTypeReloadFromOrigin)
</del><ins>+                if (isBackForwardLoadType(m_loadType) || m_loadType == FrameLoadType::Reload || m_loadType == FrameLoadType::ReloadFromOrigin)
</ins><span class="cx">                     history().restoreScrollPositionAndViewState();
</span><span class="cx">             }
</span><span class="cx"> 
</span><span class="lines">@@ -2281,7 +2281,7 @@
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         case FrameStateComplete:
</span><del>-            m_loadType = FrameLoadTypeStandard;
</del><ins>+            m_loadType = FrameLoadType::Standard;
</ins><span class="cx">             frameLoadCompleted();
</span><span class="cx">             return;
</span><span class="cx">     }
</span><span class="lines">@@ -2560,13 +2560,13 @@
</span><span class="cx"> 
</span><span class="cx">     // FIXME: Other FrameLoader functions have duplicated code for setting cache policy of main request when reloading.
</span><span class="cx">     // It seems better to manage it explicitly than to hide the logic inside addExtraFieldsToRequest().
</span><del>-    } else if (loadType == FrameLoadTypeReload || loadType == FrameLoadTypeReloadFromOrigin || request.isConditional())
</del><ins>+    } else if (loadType == FrameLoadType::Reload || loadType == FrameLoadType::ReloadFromOrigin || request.isConditional())
</ins><span class="cx">         request.setCachePolicy(ReloadIgnoringCacheData);
</span><span class="cx"> 
</span><span class="cx">     if (request.cachePolicy() == ReloadIgnoringCacheData) {
</span><del>-        if (loadType == FrameLoadTypeReload)
</del><ins>+        if (loadType == FrameLoadType::Reload)
</ins><span class="cx">             request.setHTTPHeaderField(HTTPHeaderName::CacheControl, &quot;max-age=0&quot;);
</span><del>-        else if (loadType == FrameLoadTypeReloadFromOrigin) {
</del><ins>+        else if (loadType == FrameLoadType::ReloadFromOrigin) {
</ins><span class="cx">             request.setHTTPHeaderField(HTTPHeaderName::CacheControl, &quot;no-cache&quot;);
</span><span class="cx">             request.setHTTPHeaderField(HTTPHeaderName::Pragma, &quot;no-cache&quot;);
</span><span class="cx">         }
</span><span class="lines">@@ -2745,7 +2745,7 @@
</span><span class="cx">         setProvisionalDocumentLoader(0);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    bool isRedirect = m_quickRedirectComing || policyChecker().loadType() == FrameLoadTypeRedirectWithLockedBackForwardList;    
</del><ins>+    bool isRedirect = m_quickRedirectComing || policyChecker().loadType() == FrameLoadType::RedirectWithLockedBackForwardList;
</ins><span class="cx">     loadInSameDocument(request.url(), 0, !isRedirect);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -2758,9 +2758,9 @@
</span><span class="cx">     // FIXME: What about load types other than Standard and Reload?
</span><span class="cx"> 
</span><span class="cx">     return (!isFormSubmission || equalIgnoringCase(httpMethod, &quot;GET&quot;))
</span><del>-        &amp;&amp; loadType != FrameLoadTypeReload
-        &amp;&amp; loadType != FrameLoadTypeReloadFromOrigin
-        &amp;&amp; loadType != FrameLoadTypeSame
</del><ins>+        &amp;&amp; loadType != FrameLoadType::Reload
+        &amp;&amp; loadType != FrameLoadType::ReloadFromOrigin
+        &amp;&amp; loadType != FrameLoadType::Same
</ins><span class="cx">         &amp;&amp; !shouldReload(m_frame.document()-&gt;url(), url)
</span><span class="cx">         // We don't want to just scroll if a link from within a
</span><span class="cx">         // frameset is trying to reload the frameset into _top.
</span><span class="lines">@@ -2979,7 +2979,7 @@
</span><span class="cx">         mainFrame-&gt;loader().setOpener(&amp;frame.get());
</span><span class="cx">         mainFrame-&gt;document()-&gt;setReferrerPolicy(frame-&gt;document()-&gt;referrerPolicy());
</span><span class="cx">     }
</span><del>-    mainFrame-&gt;loader().loadWithNavigationAction(request, NavigationAction(request), LockHistory::No, FrameLoadTypeStandard, formState);
</del><ins>+    mainFrame-&gt;loader().loadWithNavigationAction(request, NavigationAction(request), LockHistory::No, FrameLoadType::Standard, formState);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void FrameLoader::requestFromDelegate(ResourceRequest&amp; request, unsigned long&amp; identifier, ResourceError&amp; error)
</span><span class="lines">@@ -3206,24 +3206,24 @@
</span><span class="cx">         }
</span><span class="cx">     } else {
</span><span class="cx">         switch (loadType) {
</span><del>-            case FrameLoadTypeReload:
-            case FrameLoadTypeReloadFromOrigin:
-                request.setCachePolicy(ReloadIgnoringCacheData);
-                break;
-            case FrameLoadTypeBack:
-            case FrameLoadTypeForward:
-            case FrameLoadTypeIndexedBackForward:
-                // If the first load within a frame is a navigation within a back/forward list that was attached 
-                // without any of the items being loaded then we should use the default caching policy (&lt;rdar://problem/8131355&gt;).
-                if (m_stateMachine.committedFirstRealDocumentLoad())
-                    request.setCachePolicy(ReturnCacheDataElseLoad);
-                break;
-            case FrameLoadTypeStandard:
-            case FrameLoadTypeRedirectWithLockedBackForwardList:
-                break;
-            case FrameLoadTypeSame:
-            default:
-                ASSERT_NOT_REACHED();
</del><ins>+        case FrameLoadType::Reload:
+        case FrameLoadType::ReloadFromOrigin:
+            request.setCachePolicy(ReloadIgnoringCacheData);
+            break;
+        case FrameLoadType::Back:
+        case FrameLoadType::Forward:
+        case FrameLoadType::IndexedBackForward:
+            // If the first load within a frame is a navigation within a back/forward list that was attached 
+            // without any of the items being loaded then we should use the default caching policy (&lt;rdar://problem/8131355&gt;).
+            if (m_stateMachine.committedFirstRealDocumentLoad())
+                request.setCachePolicy(ReturnCacheDataElseLoad);
+            break;
+        case FrameLoadType::Standard:
+        case FrameLoadType::RedirectWithLockedBackForwardList:
+            break;
+        case FrameLoadType::Same:
+        default:
+            ASSERT_NOT_REACHED();
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         addExtraFieldsToRequest(request, loadType, true);
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderFrameLoaderTypesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/FrameLoaderTypes.h (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/FrameLoaderTypes.h        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/loader/FrameLoaderTypes.h        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -45,19 +45,17 @@
</span><span class="cx">         PolicyIgnore
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    // NOTE: Keep in sync with WebKit/mac/WebView/WebFramePrivate.h and WebKit/win/Interfaces/IWebFramePrivate.idl
-    enum FrameLoadType {
-        FrameLoadTypeStandard,
-        FrameLoadTypeBack,
-        FrameLoadTypeForward,
-        FrameLoadTypeIndexedBackForward, // a multi-item hop in the backforward list
-        FrameLoadTypeReload,
-        // Skipped value: 'FrameLoadTypeReloadAllowingStaleData', still present in mac/win public API. Ready to be reused
-        FrameLoadTypeSame = FrameLoadTypeReload + 2, // user loads same URL again (but not reload button)
-        FrameLoadTypeRedirectWithLockedBackForwardList, // FIXME: Merge &quot;lockBackForwardList&quot;, &quot;lockHistory&quot;, &quot;quickRedirect&quot; and &quot;clientRedirect&quot; into a single concept of redirect.
-        FrameLoadTypeReplace,
-        FrameLoadTypeReloadFromOrigin,
-    };
</del><ins>+enum class FrameLoadType {
+    Standard,
+    Back,
+    Forward,
+    IndexedBackForward, // a multi-item hop in the backforward list
+    Reload,
+    Same, // user loads same URL again (but not reload button)
+    RedirectWithLockedBackForwardList, // FIXME: Merge &quot;lockBackForwardList&quot;, &quot;lockHistory&quot;, &quot;quickRedirect&quot; and &quot;clientRedirect&quot; into a single concept of redirect.
+    Replace,
+    ReloadFromOrigin,
+};
</ins><span class="cx"> 
</span><span class="cx">     enum NavigationType {
</span><span class="cx">         NavigationTypeLinkClicked,
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderHistoryControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/HistoryController.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/HistoryController.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/loader/HistoryController.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -205,18 +205,18 @@
</span><span class="cx"> void HistoryController::restoreDocumentState()
</span><span class="cx"> {
</span><span class="cx">     switch (m_frame.loader().loadType()) {
</span><del>-        case FrameLoadTypeReload:
-        case FrameLoadTypeReloadFromOrigin:
-        case FrameLoadTypeSame:
-        case FrameLoadTypeReplace:
-            // Not restoring the document state.
-            return;
-        case FrameLoadTypeBack:
-        case FrameLoadTypeForward:
-        case FrameLoadTypeIndexedBackForward:
-        case FrameLoadTypeRedirectWithLockedBackForwardList:
-        case FrameLoadTypeStandard:
-            break;
</del><ins>+    case FrameLoadType::Reload:
+    case FrameLoadType::ReloadFromOrigin:
+    case FrameLoadType::Same:
+    case FrameLoadType::Replace:
+        // Not restoring the document state.
+        return;
+    case FrameLoadType::Back:
+    case FrameLoadType::Forward:
+    case FrameLoadType::IndexedBackForward:
+    case FrameLoadType::RedirectWithLockedBackForwardList:
+    case FrameLoadType::Standard:
+        break;
</ins><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (!m_currentItem)
</span><span class="lines">@@ -333,7 +333,7 @@
</span><span class="cx">     if (m_currentItem) {
</span><span class="cx">         pageCache()-&gt;remove(m_currentItem.get());
</span><span class="cx">     
</span><del>-        if (m_frame.loader().loadType() == FrameLoadTypeReload || m_frame.loader().loadType() == FrameLoadTypeReloadFromOrigin)
</del><ins>+        if (m_frame.loader().loadType() == FrameLoadType::Reload || m_frame.loader().loadType() == FrameLoadType::ReloadFromOrigin)
</ins><span class="cx">             saveScrollPositionAndViewStateToItem(m_currentItem.get());
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -478,14 +478,14 @@
</span><span class="cx"> 
</span><span class="cx"> bool HistoryController::isReplaceLoadTypeWithProvisionalItem(FrameLoadType type)
</span><span class="cx"> {
</span><del>-    // Going back to an error page in a subframe can trigger a FrameLoadTypeReplace
</del><ins>+    // Going back to an error page in a subframe can trigger a FrameLoadType::Replace
</ins><span class="cx">     // while m_provisionalItem is set, so we need to commit it.
</span><del>-    return type == FrameLoadTypeReplace &amp;&amp; m_provisionalItem;
</del><ins>+    return type == FrameLoadType::Replace &amp;&amp; m_provisionalItem;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool HistoryController::isReloadTypeWithProvisionalItem(FrameLoadType type)
</span><span class="cx"> {
</span><del>-    return (type == FrameLoadTypeReload || type == FrameLoadTypeReloadFromOrigin) &amp;&amp; m_provisionalItem;
</del><ins>+    return (type == FrameLoadType::Reload || type == FrameLoadType::ReloadFromOrigin) &amp;&amp; m_provisionalItem;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void HistoryController::recursiveUpdateForCommit()
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderNavigationActioncpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/NavigationAction.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/NavigationAction.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/loader/NavigationAction.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx">         return NavigationTypeFormSubmitted;
</span><span class="cx">     if (haveEvent)
</span><span class="cx">         return NavigationTypeLinkClicked;
</span><del>-    if (frameLoadType == FrameLoadTypeReload || frameLoadType == FrameLoadTypeReloadFromOrigin)
</del><ins>+    if (frameLoadType == FrameLoadType::Reload || frameLoadType == FrameLoadType::ReloadFromOrigin)
</ins><span class="cx">         return NavigationTypeReload;
</span><span class="cx">     if (isBackForwardLoadType(frameLoadType))
</span><span class="cx">         return NavigationTypeBackForward;
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderPolicyCheckercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/PolicyChecker.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/PolicyChecker.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/loader/PolicyChecker.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx">     : m_frame(frame)
</span><span class="cx">     , m_delegateIsDecidingNavigationPolicy(false)
</span><span class="cx">     , m_delegateIsHandlingUnimplementablePolicy(false)
</span><del>-    , m_loadType(FrameLoadTypeStandard)
</del><ins>+    , m_loadType(FrameLoadType::Standard)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     // treat it like a reload so it maintains the right state for b/f list.
</span><span class="cx">     if (loader-&gt;substituteData().isValid() &amp;&amp; !loader-&gt;substituteData().failingURL().isEmpty()) {
</span><span class="cx">         if (isBackForwardLoadType(m_loadType))
</span><del>-            m_loadType = FrameLoadTypeReload;
</del><ins>+            m_loadType = FrameLoadType::Reload;
</ins><span class="cx">         function(request, 0, true);
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourceLoadercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -718,7 +718,7 @@
</span><span class="cx">     if (type != CachedResource::MainResource)
</span><span class="cx">         return frame()-&gt;loader().subresourceCachePolicy();
</span><span class="cx">     
</span><del>-    if (frame()-&gt;loader().loadType() == FrameLoadTypeReloadFromOrigin || frame()-&gt;loader().loadType() == FrameLoadTypeReload)
</del><ins>+    if (frame()-&gt;loader().loadType() == FrameLoadType::ReloadFromOrigin || frame()-&gt;loader().loadType() == FrameLoadType::Reload)
</ins><span class="cx">         return CachePolicyReload;
</span><span class="cx">     return CachePolicyVerify;
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreloadericonIconControllercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/icon/IconController.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/icon/IconController.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebCore/loader/icon/IconController.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx"> 
</span><span class="cx">     // If we're reloading the page, always start the icon load now.
</span><span class="cx">     // FIXME: How can this condition ever be true?
</span><del>-    if (m_frame.loader().loadType() == FrameLoadTypeReload &amp;&amp; m_frame.loader().loadType() == FrameLoadTypeReloadFromOrigin) {
</del><ins>+    if (m_frame.loader().loadType() == FrameLoadType::Reload &amp;&amp; m_frame.loader().loadType() == FrameLoadType::ReloadFromOrigin) {
</ins><span class="cx">         continueLoadWithDecision(IconLoadYes);
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/ChangeLog (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/ChangeLog        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebKit/mac/ChangeLog        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -1,3 +1,17 @@
</span><ins>+2014-06-18  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Make FrameLoadType a strongly typed enum
+        https://bugs.webkit.org/show_bug.cgi?id=134047
+
+        Reviewed by Andreas Kling.
+
+        * WebView/WebFrame.mm:
+        (toWebFrameLoadType):
+        (-[WebFrame _loadType]):
+        * WebView/WebView.mm:
+        (-[WebView _loadBackForwardListFromOtherView:]):
+        (-[WebView goToBackForwardItem:]):
+
</ins><span class="cx"> 2014-06-18  Daniel Bates  &lt;dabates@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         REGRESSION (r167856): Unable to log into HSBC app
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebFramemm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebFrame.mm (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebFrame.mm        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebKit/mac/WebView/WebFrame.mm        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -1060,9 +1060,33 @@
</span><span class="cx">     return NO;
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+static WebFrameLoadType toWebFrameLoadType(FrameLoadType frameLoadType)
+{
+    switch (frameLoadType) {
+    case FrameLoadType::Standard:
+        return WebFrameLoadTypeStandard;
+    case FrameLoadType::Back:
+        return WebFrameLoadTypeBack;
+    case FrameLoadType::Forward:
+        return WebFrameLoadTypeForward;
+    case FrameLoadType::IndexedBackForward:
+        return WebFrameLoadTypeIndexedBackForward;
+    case FrameLoadType::Reload:
+        return WebFrameLoadTypeReload;
+    case FrameLoadType::Same:
+        return WebFrameLoadTypeSame;
+    case FrameLoadType::RedirectWithLockedBackForwardList:
+        return WebFrameLoadTypeInternal;
+    case FrameLoadType::Replace:
+        return WebFrameLoadTypeReplace;
+    case FrameLoadType::ReloadFromOrigin:
+        return WebFrameLoadTypeReloadFromOrigin;
+    }
+}
+
</ins><span class="cx"> - (WebFrameLoadType)_loadType
</span><span class="cx"> {
</span><del>-    return (WebFrameLoadType)_private-&gt;coreFrame-&gt;loader().loadType();
</del><ins>+    return toWebFrameLoadType(_private-&gt;coreFrame-&gt;loader().loadType());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(IOS)
</span></span></pre></div>
<a id="trunkSourceWebKitmacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/mac/WebView/WebView.mm (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/mac/WebView/WebView.mm        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebKit/mac/WebView/WebView.mm        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -2002,7 +2002,7 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     ASSERT(newItemToGoTo);
</span><del>-    _private-&gt;page-&gt;goToItem(newItemToGoTo, FrameLoadTypeIndexedBackForward);
</del><ins>+    _private-&gt;page-&gt;goToItem(newItemToGoTo, FrameLoadType::IndexedBackForward);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)_setFormDelegate: (id&lt;WebFormDelegate&gt;)delegate
</span><span class="lines">@@ -5609,7 +5609,7 @@
</span><span class="cx">     if (!_private-&gt;page)
</span><span class="cx">         return NO;
</span><span class="cx"> 
</span><del>-    _private-&gt;page-&gt;goToItem(core(item), FrameLoadTypeIndexedBackForward);
</del><ins>+    _private-&gt;page-&gt;goToItem(core(item), FrameLoadType::IndexedBackForward);
</ins><span class="cx">     return YES;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/ChangeLog (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/ChangeLog        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebKit/win/ChangeLog        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -1,5 +1,16 @@
</span><span class="cx"> 2014-06-18  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Make FrameLoadType a strongly typed enum
+        https://bugs.webkit.org/show_bug.cgi?id=134047
+
+        Reviewed by Andreas Kling.
+
+        * WebView.cpp:
+        (WebView::goToBackForwardItem):
+        (WebView::loadBackForwardListFromOtherView):
+
+2014-06-18  Anders Carlsson  &lt;andersca@apple.com&gt;
+
</ins><span class="cx">         Remove IWebFramePrivate::loadType
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=134044
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit/win/WebView.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit/win/WebView.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebKit/win/WebView.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -3109,7 +3109,7 @@
</span><span class="cx">     if (FAILED(hr))
</span><span class="cx">         return hr;
</span><span class="cx"> 
</span><del>-    m_page-&gt;goToItem(webHistoryItem-&gt;historyItem(), FrameLoadTypeIndexedBackForward);
</del><ins>+    m_page-&gt;goToItem(webHistoryItem-&gt;historyItem(), FrameLoadType::IndexedBackForward);
</ins><span class="cx">     *succeeded = TRUE;
</span><span class="cx"> 
</span><span class="cx">     return S_OK;
</span><span class="lines">@@ -5428,7 +5428,7 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     ASSERT(newItemToGoTo);
</span><del>-    m_page-&gt;goToItem(newItemToGoTo, FrameLoadTypeIndexedBackForward);
</del><ins>+    m_page-&gt;goToItem(newItemToGoTo, FrameLoadType::IndexedBackForward);
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebKit2/ChangeLog        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -1,5 +1,23 @@
</span><span class="cx"> 2014-06-18  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Make FrameLoadType a strongly typed enum
+        https://bugs.webkit.org/show_bug.cgi?id=134047
+
+        Reviewed by Andreas Kling.
+
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::didCommitLoadForFrame):
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::goForward):
+        (WebKit::WebPage::goBack):
+        (WebKit::WebPage::goToBackForwardItem):
+        (WebKit::shouldReuseCommittedSandboxExtension):
+        (WebKit::WebPage::didCommitLoad):
+
+2014-06-18  Anders Carlsson  &lt;andersca@apple.com&gt;
+
</ins><span class="cx">         Simplify WebSecurityOrigin
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=134049
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -2554,7 +2554,7 @@
</span><span class="cx">     // WebPageProxy's cache of the value can get out of sync (e.g. in the case where a
</span><span class="cx">     // plugin is handling page scaling itself) so we should reset it to the default
</span><span class="cx">     // for standard main frame loads.
</span><del>-    if (frame-&gt;isMainFrame() &amp;&amp; static_cast&lt;FrameLoadType&gt;(opaqueFrameLoadType) == FrameLoadTypeStandard)
</del><ins>+    if (frame-&gt;isMainFrame() &amp;&amp; static_cast&lt;FrameLoadType&gt;(opaqueFrameLoadType) == FrameLoadType::Standard)
</ins><span class="cx">         m_pageScaleFactor = 1;
</span><span class="cx"> 
</span><span class="cx">     m_pageLoadState.commitChanges();
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebCoreSupportWebFrameLoaderClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -447,7 +447,7 @@
</span><span class="cx"> 
</span><span class="cx">     // Notify the UIProcess.
</span><span class="cx"> 
</span><del>-    webPage-&gt;send(Messages::WebPageProxy::DidCommitLoadForFrame(m_frame-&gt;frameID(), documentLoader.navigationID(), documentLoader.response().mimeType(), m_frameHasCustomContentProvider, m_frame-&gt;coreFrame()-&gt;loader().loadType(), CertificateInfo(documentLoader.response()), InjectedBundleUserMessageEncoder(userData.get())));
</del><ins>+    webPage-&gt;send(Messages::WebPageProxy::DidCommitLoadForFrame(m_frame-&gt;frameID(), documentLoader.navigationID(), documentLoader.response().mimeType(), m_frameHasCustomContentProvider, static_cast&lt;uint32_t&gt;(m_frame-&gt;coreFrame()-&gt;loader().loadType()), CertificateInfo(documentLoader.response()), InjectedBundleUserMessageEncoder(userData.get())));
</ins><span class="cx">     webPage-&gt;didCommitLoad(m_frame);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (170133 => 170134)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-06-19 00:11:56 UTC (rev 170133)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2014-06-19 00:13:20 UTC (rev 170134)
</span><span class="lines">@@ -1098,7 +1098,7 @@
</span><span class="cx">     if (!item-&gt;isInPageCache())
</span><span class="cx">         m_pendingNavigationID = navigationID;
</span><span class="cx"> 
</span><del>-    m_page-&gt;goToItem(item, FrameLoadTypeForward);
</del><ins>+    m_page-&gt;goToItem(item, FrameLoadType::Forward);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPage::goBack(uint64_t navigationID, uint64_t backForwardItemID)
</span><span class="lines">@@ -1114,7 +1114,7 @@
</span><span class="cx">     if (!item-&gt;isInPageCache())
</span><span class="cx">         m_pendingNavigationID = navigationID;
</span><span class="cx"> 
</span><del>-    m_page-&gt;goToItem(item, FrameLoadTypeBack);
</del><ins>+    m_page-&gt;goToItem(item, FrameLoadType::Back);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPage::goToBackForwardItem(uint64_t navigationID, uint64_t backForwardItemID)
</span><span class="lines">@@ -1130,7 +1130,7 @@
</span><span class="cx">     if (!item-&gt;isInPageCache())
</span><span class="cx">         m_pendingNavigationID = navigationID;
</span><span class="cx"> 
</span><del>-    m_page-&gt;goToItem(item, FrameLoadTypeIndexedBackForward);
</del><ins>+    m_page-&gt;goToItem(item, FrameLoadType::IndexedBackForward);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WebPage::tryRestoreScrollPosition()
</span><span class="lines">@@ -3489,7 +3489,7 @@
</span><span class="cx">     FrameLoadType frameLoadType = frameLoader.loadType();
</span><span class="cx"> 
</span><span class="cx">     // If the page is being reloaded, it should reuse whatever extension is committed.
</span><del>-    if (frameLoadType == FrameLoadTypeReload || frameLoadType == FrameLoadTypeReloadFromOrigin)
</del><ins>+    if (frameLoadType == FrameLoadType::Reload || frameLoadType == FrameLoadType::ReloadFromOrigin)
</ins><span class="cx">         return true;
</span><span class="cx"> 
</span><span class="cx">     DocumentLoader* documentLoader = frameLoader.documentLoader();
</span><span class="lines">@@ -4342,7 +4342,7 @@
</span><span class="cx">         reportUsedFeatures();
</span><span class="cx"> 
</span><span class="cx">     // Only restore the scale factor for standard frame loads (of the main frame).
</span><del>-    if (frame-&gt;coreFrame()-&gt;loader().loadType() == FrameLoadTypeStandard) {
</del><ins>+    if (frame-&gt;coreFrame()-&gt;loader().loadType() == FrameLoadType::Standard) {
</ins><span class="cx">         Page* page = frame-&gt;coreFrame()-&gt;page();
</span><span class="cx"> 
</span><span class="cx">         if (page) {
</span></span></pre>
</div>
</div>

</body>
</html>