Skip to content
Permalink
Browse files
Unreviewed, rolling out r226531.
This caused test failures on macOS WK2.

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/226531

Canonical link: https://commits.webkit.org/197309@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@226659 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
rancored-mongoose committed Jan 9, 2018
1 parent eebe225 commit 6c5fcac9a85fb4f9d380c238c28d8dd01df0ff12
@@ -1,3 +1,16 @@
2018-01-09 Matt Lewis <jlewis3@apple.com>

Unreviewed, rolling out r226531.

This caused test failures on macOS WK2.

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/226531

2018-01-09 Youenn Fablet <youenn@apple.com>

Make imported/w3c/web-platform-tests/service-workers/service-worker/fetch-canvas-tainting-cache.https.html robust to quota error
@@ -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
@@ -1,3 +1,16 @@
2018-01-09 Matt Lewis <jlewis3@apple.com>

Unreviewed, rolling out r226531.

This caused test failures on macOS WK2.

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/226531

2018-01-09 Michael Saboff <msaboff@apple.com>

Unreviewed, rolling out r226600 and r226603
@@ -1607,32 +1607,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.
@@ -1193,12 +1193,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;

@@ -1283,7 +1281,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);

@@ -1418,7 +1416,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;
@@ -1643,7 +1641,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")
@@ -2615,13 +2614,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
@@ -3479,10 +3478,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:
@@ -182,7 +182,7 @@ class ScheduledRedirect : public ScheduledURLNavigation {
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));
@@ -216,7 +216,7 @@ class ScheduledRefresh : public ScheduledURLNavigation {
{
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));
@@ -319,7 +319,7 @@ class ScheduledPageBlock final : public ScheduledNavigation {
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));

0 comments on commit 6c5fcac

Please sign in to comment.