Unreviewed, rolling out r226745.
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 26 Feb 2018 17:38:14 +0000 (17:38 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 26 Feb 2018 17:38:14 +0000 (17:38 +0000)
https://bugs.webkit.org/show_bug.cgi?id=183132

This is breaking some websites (Requested by youenn on
#webkit).

Reverted changeset:

"Use no-cache fetch mode when loading main documents with
location.reload()"
https://bugs.webkit.org/show_bug.cgi?id=181285
https://trac.webkit.org/changeset/226745

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229027 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/http/tests/inspector/network/har/har-page-expected.txt
LayoutTests/http/tests/inspector/network/har/har-page.html
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https-expected.txt
Source/WebCore/ChangeLog
Source/WebCore/loader/DocumentLoader.cpp
Source/WebCore/loader/FrameLoader.cpp
Source/WebCore/loader/NavigationScheduler.cpp

index 8261f08..09cf803 100644 (file)
@@ -1,3 +1,18 @@
+2018-02-26  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r226745.
+        https://bugs.webkit.org/show_bug.cgi?id=183132
+
+        This is breaking some websites (Requested by youenn on
+        #webkit).
+
+        Reverted changeset:
+
+        "Use no-cache fetch mode when loading main documents with
+        location.reload()"
+        https://bugs.webkit.org/show_bug.cgi?id=181285
+        https://trac.webkit.org/changeset/226745
+
 2018-02-25  Fujii Hironori  <Hironori.Fujii@sony.com>
 
         [WK2] http/tests/navigation/new-window-redirect-history.html crashes
index 1390877..4e164ea 100644 (file)
@@ -43,10 +43,10 @@ HAR Page Test.
           "cookies": [],
           "headers": "<filtered>",
           "content": {
-            "size": "<filtered>",
+            "size": 3042,
             "compression": 0,
             "mimeType": "text/html",
-            "text": "<filtered text (3171)>"
+            "text": "<filtered text (3042)>"
           },
           "redirectURL": "",
           "headersSize": "<filtered>",
@@ -84,7 +84,7 @@ HAR Page Test.
           "cookies": [],
           "headers": "<filtered>",
           "content": {
-            "size": "<filtered>",
+            "size": 0,
             "compression": 0,
             "mimeType": "application/x-javascript",
             "text": "<filtered text (7039)>"
index 52e4da2..3bb9937 100644 (file)
@@ -42,9 +42,6 @@ function test()
         // Reduce the file contents.
         if (key === "text")
             return "<filtered text (" + value.length + ")>";
-        // Reduce the file size since cache may or may not be used.
-        if (key === "size")
-            return "<filtered>";
 
         // Since cache may or may not be used, timing data may be variable.
         // NOTE: SSL should always be -1 for this test case.
index 352f039..05f9b54 100644 (file)
@@ -1,3 +1,18 @@
+2018-02-26  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r226745.
+        https://bugs.webkit.org/show_bug.cgi?id=183132
+
+        This is breaking some websites (Requested by youenn on
+        #webkit).
+
+        Reverted changeset:
+
+        "Use no-cache fetch mode when loading main documents with
+        location.reload()"
+        https://bugs.webkit.org/show_bug.cgi?id=181285
+        https://trac.webkit.org/changeset/226745
+
 2018-02-19  Antoine Quint  <graouts@apple.com>
 
         [Web Animations] Make KeyframeEffect target nullable and read-write
index 24e5ce4..de41730 100644 (file)
@@ -1,4 +1,5 @@
 
+
 PASS Service Worker headers in the request of a fetch event 
 PASS Service Worker responds to fetch event with string 
 PASS Service Worker responds to fetch event with blob body 
@@ -11,7 +12,7 @@ PASS Service Worker responds to fetch event with POST form
 PASS Multiple calls of respondWith must throw InvalidStateErrors 
 PASS Service Worker event.respondWith must set the used flag 
 PASS Service Worker should expose FetchEvent URL fragments. 
-PASS Service Worker responds to fetch event with the correct cache types 
+FAIL Service Worker responds to fetch event with the correct cache types assert_unreached: unexpected rejection: assert_equals: expected "no-cache" but got "default" Reached unreachable code
 PASS Service Worker should intercept EventSource 
 PASS Service Worker responds to fetch event with the correct integrity_metadata 
 PASS FetchEvent#body is a string 
index 8dfb6e4..772b952 100644 (file)
@@ -1,3 +1,18 @@
+2018-02-26  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r226745.
+        https://bugs.webkit.org/show_bug.cgi?id=183132
+
+        This is breaking some websites (Requested by youenn on
+        #webkit).
+
+        Reverted changeset:
+
+        "Use no-cache fetch mode when loading main documents with
+        location.reload()"
+        https://bugs.webkit.org/show_bug.cgi?id=181285
+        https://trac.webkit.org/changeset/226745
+
 2018-02-26  Philippe Normand  <pnormand@igalia.com>
 
         Unreviewed, USE_GSTREAMER_PLAYBIN3 build fix.
index b1fa5cb..173e1bf 100644 (file)
@@ -1678,32 +1678,9 @@ void DocumentLoader::startLoadingMainResource()
     });
 }
 
-static inline FetchOptions::Cache toFetchOptionsCache(ResourceRequestCachePolicy policy)
-{
-    // We are setting FetchOptions::Cache values to keep current behavior consistency.
-    // FIXME: We should merge FetchOptions::Cache with ResourceRequestCachePolicy and merge related class members.
-    switch (policy) {
-    case UseProtocolCachePolicy:
-        return FetchOptions::Cache::Default;
-    case ReloadIgnoringCacheData:
-        return FetchOptions::Cache::Reload;
-    case ReturnCacheDataElseLoad:
-        return FetchOptions::Cache::Default;
-    case ReturnCacheDataDontLoad:
-        return FetchOptions::Cache::Default;
-    case DoNotUseAnyCache:
-        return FetchOptions::Cache::NoStore;
-    case RefreshAnyCacheData:
-        return FetchOptions::Cache::NoCache;
-    }
-    return FetchOptions::Cache::Default;
-}
-
 void DocumentLoader::loadMainResource(ResourceRequest&& request)
 {
-    ResourceLoaderOptions mainResourceLoadOptions { SendCallbacks, SniffContent, BufferData, StoredCredentialsPolicy::Use, ClientCredentialPolicy::MayAskClientForCredentials, FetchOptions::Credentials::Include, SkipSecurityCheck, FetchOptions::Mode::Navigate, IncludeCertificateInfo, ContentSecurityPolicyImposition::SkipPolicyCheck, DefersLoadingPolicy::AllowDefersLoading, CachingPolicy::AllowCaching };
-    mainResourceLoadOptions.cache = toFetchOptionsCache(request.cachePolicy());
-
+    static NeverDestroyed<ResourceLoaderOptions> mainResourceLoadOptions(SendCallbacks, SniffContent, BufferData, StoredCredentialsPolicy::Use, ClientCredentialPolicy::MayAskClientForCredentials, FetchOptions::Credentials::Include, SkipSecurityCheck, FetchOptions::Mode::Navigate, IncludeCertificateInfo, ContentSecurityPolicyImposition::SkipPolicyCheck, DefersLoadingPolicy::AllowDefersLoading, CachingPolicy::AllowCaching);
     CachedResourceRequest mainResourceRequest(ResourceRequest(request), mainResourceLoadOptions);
     if (!m_frame->isMainFrame() && m_frame->document()) {
         // If we are loading the main resource of a subframe, use the cache partition of the main document.
index 65db90b..206f6cb 100644 (file)
@@ -1192,12 +1192,10 @@ void FrameLoader::loadFrameRequest(FrameLoadRequest&& request, Event* event, For
         referrer = String();
 
     FrameLoadType loadType;
-    if (request.resourceRequest().cachePolicy() == RefreshAnyCacheData)
+    if (request.resourceRequest().cachePolicy() == ReloadIgnoringCacheData)
         loadType = FrameLoadType::Reload;
     else if (request.lockBackForwardList() == LockBackForwardList::Yes)
         loadType = FrameLoadType::RedirectWithLockedBackForwardList;
-    else if (request.resourceRequest().cachePolicy() == ReloadIgnoringCacheData)
-        loadType = FrameLoadType::ReloadFromOrigin;
     else
         loadType = FrameLoadType::Standard;
 
@@ -1287,7 +1285,7 @@ void FrameLoader::loadURL(FrameLoadRequest&& frameLoadRequest, const String& ref
 
     addExtraFieldsToRequest(request, newLoadType, true);
     if (isReload(newLoadType))
-        request.setCachePolicy(RefreshAnyCacheData);
+        request.setCachePolicy(ReloadIgnoringCacheData);
 
     ASSERT(newLoadType != FrameLoadType::Same);
 
@@ -1424,7 +1422,7 @@ void FrameLoader::load(DocumentLoader* newDocumentLoader)
     FrameLoadType type;
 
     if (shouldTreatURLAsSameAsCurrent(newDocumentLoader->originalRequest().url())) {
-        r.setCachePolicy(RefreshAnyCacheData);
+        r.setCachePolicy(ReloadIgnoringCacheData);
         type = FrameLoadType::Same;
     } else if (shouldTreatURLAsSameAsCurrent(newDocumentLoader->unreachableURL()) && m_loadType == FrameLoadType::Reload)
         type = FrameLoadType::Reload;
@@ -1657,7 +1655,8 @@ void FrameLoader::reload(OptionSet<ReloadOption> options)
     
     ResourceRequest& request = loader->request();
 
-    request.setCachePolicy(RefreshAnyCacheData);
+    // FIXME: We don't have a mechanism to revalidate the main resource without reloading at the moment.
+    request.setCachePolicy(ReloadIgnoringCacheData);
 
     // If we're about to re-post, set up action so the application can warn the user.
     if (request.httpMethod() == "POST")
@@ -2632,13 +2631,13 @@ ResourceRequestCachePolicy FrameLoader::defaultRequestCachingPolicy(const Resour
 
     if (isMainResource) {
         if (isReload(loadType) || request.isConditional())
-            return loadType == FrameLoadType::ReloadFromOrigin ? ReloadIgnoringCacheData : RefreshAnyCacheData;
+            return ReloadIgnoringCacheData;
 
         return UseProtocolCachePolicy;
     }
 
     if (request.isConditional())
-        return RefreshAnyCacheData;
+        return ReloadIgnoringCacheData;
 
     if (documentLoader()->isLoadingInAPISense()) {
         // If we inherit cache policy from a main resource, we use the DocumentLoader's
@@ -3498,10 +3497,8 @@ void FrameLoader::loadDifferentDocumentItem(HistoryItem& item, FrameLoadType loa
     } else {
         switch (loadType) {
         case FrameLoadType::Reload:
-        case FrameLoadType::ReloadExpiredOnly:
-            request.setCachePolicy(RefreshAnyCacheData);
-            break;
         case FrameLoadType::ReloadFromOrigin:
+        case FrameLoadType::ReloadExpiredOnly:
             request.setCachePolicy(ReloadIgnoringCacheData);
             break;
         case FrameLoadType::Back:
index d284a91..caf2704 100644 (file)
@@ -183,7 +183,7 @@ public:
         UserGestureIndicator gestureIndicator { userGestureToForward() };
 
         bool refresh = equalIgnoringFragmentIdentifier(frame.document()->url(), url());
-        ResourceRequest resourceRequest { url(), referrer(), refresh ? RefreshAnyCacheData : UseProtocolCachePolicy };
+        ResourceRequest resourceRequest { url(), referrer(), refresh ? ReloadIgnoringCacheData : UseProtocolCachePolicy };
         FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), resourceRequest, "_self", lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::No, NewFrameOpenerPolicy::Allow, shouldOpenExternalURLs(), initiatedByMainFrame() };
 
         frame.loader().changeLocation(WTFMove(frameLoadRequest));
@@ -217,7 +217,7 @@ public:
     {
         UserGestureIndicator gestureIndicator { userGestureToForward() };
 
-        ResourceRequest resourceRequest { url(), referrer(), RefreshAnyCacheData };
+        ResourceRequest resourceRequest { url(), referrer(), ReloadIgnoringCacheData };
         FrameLoadRequest frameLoadRequest { initiatingDocument(), *securityOrigin(), resourceRequest, "_self", lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, shouldOpenExternalURLs(), initiatedByMainFrame() };
 
         frame.loader().changeLocation(WTFMove(frameLoadRequest));
@@ -320,7 +320,7 @@ public:
         ResourceResponse replacementResponse { m_originDocument.url(), ASCIILiteral("text/plain"), 0, ASCIILiteral("UTF-8") };
         SubstituteData replacementData { SharedBuffer::create(), m_originDocument.url(), replacementResponse, SubstituteData::SessionHistoryVisibility::Hidden };
 
-        ResourceRequest resourceRequest { m_originDocument.url(), emptyString(), RefreshAnyCacheData };
+        ResourceRequest resourceRequest { m_originDocument.url(), emptyString(), ReloadIgnoringCacheData };
         FrameLoadRequest frameLoadRequest { m_originDocument, m_originDocument.securityOrigin(), resourceRequest, { }, lockHistory(), lockBackForwardList(), MaybeSendReferrer, AllowNavigationToInvalidURL::Yes, NewFrameOpenerPolicy::Allow, shouldOpenExternalURLs(), initiatedByMainFrame() };
         frameLoadRequest.setSubstituteData(replacementData);
         frame.loader().load(WTFMove(frameLoadRequest));