+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
"cookies": [],
"headers": "<filtered>",
"content": {
- "size": "<filtered>",
+ "size": 3042,
"compression": 0,
"mimeType": "text/html",
- "text": "<filtered text (3171)>"
+ "text": "<filtered text (3042)>"
},
"redirectURL": "",
"headersSize": "<filtered>",
"cookies": [],
"headers": "<filtered>",
"content": {
- "size": "<filtered>",
+ "size": 0,
"compression": 0,
"mimeType": "application/x-javascript",
"text": "<filtered text (7039)>"
// 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.
+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
+
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
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
+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.
});
}
-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.
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;
addExtraFieldsToRequest(request, newLoadType, true);
if (isReload(newLoadType))
- request.setCachePolicy(RefreshAnyCacheData);
+ request.setCachePolicy(ReloadIgnoringCacheData);
ASSERT(newLoadType != FrameLoadType::Same);
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;
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")
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
} 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:
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));
{
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));
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));