Diff
Modified: trunk/LayoutTests/ChangeLog (254918 => 254919)
--- trunk/LayoutTests/ChangeLog 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/LayoutTests/ChangeLog 2020-01-22 14:26:10 UTC (rev 254919)
@@ -1,3 +1,13 @@
+2020-01-22 youenn fablet <[email protected]>
+
+ Add logging of the source of a response used to respond a fetch event
+ https://bugs.webkit.org/show_bug.cgi?id=206426
+
+ Reviewed by Darin Adler.
+
+ * http/wpt/cache-storage/cache-put-keys.https.any.js:
+ (cache_test):
+
2020-01-21 Fujii Hironori <[email protected]>
A partially selected RTL text is placed at a wrong vertical position if it has a vertical initial advance
Modified: trunk/LayoutTests/http/wpt/cache-storage/cache-put-keys.https.any.js (254918 => 254919)
--- trunk/LayoutTests/http/wpt/cache-storage/cache-put-keys.https.any.js 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/LayoutTests/http/wpt/cache-storage/cache-put-keys.https.any.js 2020-01-22 14:26:10 UTC (rev 254919)
@@ -20,6 +20,8 @@
}).then(function() {
return cache.match(test_url);
}).then(function(result) {
+ if (self.internals && self.internals.fetchResponseSource)
+ assert_equals(internals.fetchResponseSource(result), "DOM cache");
assert_response_equals(result, alternate_response, 'Cache.put should replace existing ' + 'response with new response.');
return result.text();
}).then(function(body) {
Modified: trunk/Source/WebCore/ChangeLog (254918 => 254919)
--- trunk/Source/WebCore/ChangeLog 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebCore/ChangeLog 2020-01-22 14:26:10 UTC (rev 254919)
@@ -1,3 +1,31 @@
+2020-01-22 youenn fablet <[email protected]>
+
+ Add logging of the source of a response used to respond a fetch event
+ https://bugs.webkit.org/show_bug.cgi?id=206426
+
+ Reviewed by Darin Adler.
+
+ Add a DOMCache response source value.
+ This is set on responses created by DOMCache.
+ Update code that checks the source to handle this new value similary to ApplicationCache.
+ No change of behavior.
+
+ Add an internal test to verify a fetch response grabbed from DOM cache has the right source.
+
+ * Modules/cache/DOMCache.cpp:
+ (WebCore::DOMCache::updateRecords):
+ * inspector/agents/InspectorNetworkAgent.cpp:
+ (WebCore::responseSource):
+ * loader/ResourceLoader.cpp:
+ (WebCore::logResourceResponseSource):
+ * platform/network/ResourceResponseBase.h:
+ * testing/Internals.cpp:
+ (WebCore::responseSourceToString):
+ * workers/service/context/ServiceWorkerFetch.cpp:
+ (WebCore::ServiceWorkerFetch::processResponse):
+ Remove setting of the source to service worker, this is done in NetworkProcess
+ just before sending the response to the WebProcess.
+
2020-01-22 David Kilzer <[email protected]>
REGRESSION (r254893): Apple Win 10 Debug build failure
Modified: trunk/Source/WebCore/Modules/cache/DOMCache.cpp (254918 => 254919)
--- trunk/Source/WebCore/Modules/cache/DOMCache.cpp 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebCore/Modules/cache/DOMCache.cpp 2020-01-22 14:26:10 UTC (rev 254919)
@@ -574,6 +574,7 @@
if (index != notFound) {
auto& current = m_records[index];
if (current.updateResponseCounter != record.updateResponseCounter) {
+ record.response.setSource(ResourceResponse::Source::DOMCache);
auto response = FetchResponse::create(*scriptExecutionContext(), WTF::nullopt, record.responseHeadersGuard, WTFMove(record.response));
response->setBodyData(WTFMove(record.responseBody), record.responseBodySize);
@@ -585,6 +586,7 @@
auto requestHeaders = FetchHeaders::create(record.requestHeadersGuard, HTTPHeaderMap { record.request.httpHeaderFields() });
auto request = FetchRequest::create(*scriptExecutionContext(), WTF::nullopt, WTFMove(requestHeaders), WTFMove(record.request), WTFMove(record.options), WTFMove(record.referrer));
+ record.response.setSource(ResourceResponse::Source::DOMCache);
auto response = FetchResponse::create(*scriptExecutionContext(), WTF::nullopt, record.responseHeadersGuard, WTFMove(record.response));
response->setBodyData(WTFMove(record.responseBody), record.responseBodySize);
Modified: trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp (254918 => 254919)
--- trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebCore/inspector/agents/InspectorNetworkAgent.cpp 2020-01-22 14:26:10 UTC (rev 254919)
@@ -301,6 +301,7 @@
static Inspector::Protocol::Network::Response::Source responseSource(ResourceResponse::Source source)
{
switch (source) {
+ case ResourceResponse::Source::DOMCache:
case ResourceResponse::Source::ApplicationCache:
// FIXME: Add support for ApplicationCache in inspector.
case ResourceResponse::Source::Unknown:
Modified: trunk/Source/WebCore/loader/ResourceLoader.cpp (254918 => 254919)
--- trunk/Source/WebCore/loader/ResourceLoader.cpp 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebCore/loader/ResourceLoader.cpp 2020-01-22 14:26:10 UTC (rev 254919)
@@ -459,6 +459,7 @@
break;
case ResourceResponse::Source::MemoryCache:
case ResourceResponse::Source::MemoryCacheAfterValidation:
+ case ResourceResponse::Source::DOMCache:
case ResourceResponse::Source::ApplicationCache:
case ResourceResponse::Source::InspectorOverride:
case ResourceResponse::Source::Unknown:
Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.h (254918 => 254919)
--- trunk/Source/WebCore/platform/network/ResourceResponseBase.h 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.h 2020-01-22 14:26:10 UTC (rev 254919)
@@ -144,7 +144,7 @@
WEBCORE_EXPORT Optional<WallTime> lastModified() const;
const ParsedContentRange& contentRange() const;
- enum class Source : uint8_t { Unknown, Network, DiskCache, DiskCacheAfterValidation, MemoryCache, MemoryCacheAfterValidation, ServiceWorker, ApplicationCache, InspectorOverride };
+ enum class Source : uint8_t { Unknown, Network, DiskCache, DiskCacheAfterValidation, MemoryCache, MemoryCacheAfterValidation, ServiceWorker, ApplicationCache, DOMCache, InspectorOverride };
WEBCORE_EXPORT Source source() const;
void setSource(Source source)
{
Modified: trunk/Source/WebCore/testing/Internals.cpp (254918 => 254919)
--- trunk/Source/WebCore/testing/Internals.cpp 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebCore/testing/Internals.cpp 2020-01-22 14:26:10 UTC (rev 254919)
@@ -736,6 +736,8 @@
return "Memory cache after validation";
case ResourceResponse::Source::ApplicationCache:
return "Application cache";
+ case ResourceResponse::Source::DOMCache:
+ return "DOM cache";
case ResourceResponse::Source::InspectorOverride:
return "Inspector override";
}
Modified: trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp (254918 => 254919)
--- trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebCore/workers/service/context/ServiceWorkerFetch.cpp 2020-01-22 14:26:10 UTC (rev 254919)
@@ -89,8 +89,6 @@
return;
}
- resourceResponse.setSource(ResourceResponse::Source::ServiceWorker);
-
// In case of main resource and mime type is the default one, we set it to text/html to pass more service worker WPT tests.
// FIXME: We should refine our MIME type sniffing strategy for synthetic responses.
if (mode == FetchOptions::Mode::Navigate) {
Modified: trunk/Source/WebKit/ChangeLog (254918 => 254919)
--- trunk/Source/WebKit/ChangeLog 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebKit/ChangeLog 2020-01-22 14:26:10 UTC (rev 254919)
@@ -1,3 +1,17 @@
+2020-01-22 youenn fablet <[email protected]>
+
+ Add logging of the source of a response used to respond a fetch event
+ https://bugs.webkit.org/show_bug.cgi?id=206426
+
+ Reviewed by Darin Adler.
+
+ * NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp:
+ (WebKit::ServiceWorkerFetchTask::didReceiveResponse):
+ Log the source of the response.
+ * WebProcess/Network/WebLoaderStrategy.cpp:
+ (WebKit::WebLoaderStrategy::havePerformedSecurityChecks const):
+ Add case of DOMCache, similar to ServiceWorker.
+
2020-01-21 Fujii Hironori <[email protected]>
[Win][WK2] Pressing space key on text input form scrolls the page
Modified: trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp (254918 => 254919)
--- trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerFetchTask.cpp 2020-01-22 14:26:10 UTC (rev 254919)
@@ -139,7 +139,7 @@
if (m_isDone)
return;
- RELEASE_LOG_IF_ALLOWED("didReceiveResponse: (httpStatusCode=%d, MIMEType=%{public}s, expectedContentLength=%" PRId64 ", needsContinueDidReceiveResponseMessage=%d)", response.httpStatusCode(), response.mimeType().utf8().data(), response.expectedContentLength(), needsContinueDidReceiveResponseMessage);
+ RELEASE_LOG_IF_ALLOWED("didReceiveResponse: (httpStatusCode=%d, MIMEType=%{public}s, expectedContentLength=%" PRId64 ", needsContinueDidReceiveResponseMessage=%d, source=%u)", response.httpStatusCode(), response.mimeType().utf8().data(), response.expectedContentLength(), needsContinueDidReceiveResponseMessage, static_cast<unsigned>(response.source()));
m_wasHandled = true;
m_timeoutTimer.stop();
softUpdateIfNeeded();
Modified: trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp (254918 => 254919)
--- trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp 2020-01-22 14:08:40 UTC (rev 254918)
+++ trunk/Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp 2020-01-22 14:26:10 UTC (rev 254919)
@@ -803,6 +803,7 @@
if (!shouldPerformSecurityChecks())
return false;
switch (response.source()) {
+ case ResourceResponse::Source::DOMCache:
case ResourceResponse::Source::ApplicationCache:
case ResourceResponse::Source::MemoryCache:
case ResourceResponse::Source::MemoryCacheAfterValidation: