From 6f60c44bc39382e80837f1043a7bf43b3edc5fe7 Mon Sep 17 00:00:00 2001 From: Chris Dumez Date: Tue, 13 Sep 2022 10:29:02 -0700 Subject: [PATCH] Merge 254447@main - workers/interfaces/WorkerUtils/importScripts/catch.sub.any.*.html WPT tests are failing in WebKit https://bugs.webkit.org/show_bug.cgi?id=245098 Reviewed by Darin Adler. Implement the "muted error" logic from: - https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-classic-worker-imported-script (step 8) * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.serviceworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.sharedworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.sharedworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.sharedworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.sharedworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.sharedworker-expected.txt: * LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker-expected.txt: Rebaseline tests that are now passing. * Source/WebCore/loader/cache/CachedResource.cpp: (WebCore::CachedResource::setResponse): Response tainting should be "basic" for data URLs: - https://fetch.spec.whatwg.org/#concept-main-fetch (Step 11) * Source/WebCore/workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::importScripts): Implemented the "muted errors" logic from: - https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-classic-worker-imported-script (step 8) * Source/WebCore/workers/WorkerScriptLoader.cpp: (WebCore::WorkerScriptLoader::didReceiveResponse): * Source/WebCore/workers/WorkerScriptLoader.h: (WebCore::WorkerScriptLoader::responseTainting const): Keep track for the response's tainting so that we can use it in importScripts. Canonical link: https://commits.webkit.org/254447@main (cherry picked from commit d9c375a06164c8ed5126013714208853be9d6833) --- .../worker-importScriptsOnError-expected.txt | 4 ++-- .../catch.sub.any.serviceworker-expected.txt | 20 ++++--------------- .../catch.sub.any.sharedworker-expected.txt | 20 ++++--------------- .../catch.sub.any.worker-expected.txt | 20 ++++--------------- ...s-origin.sub.any.sharedworker-expected.txt | 6 +----- ...r-cross-origin.sub.any.worker-expected.txt | 6 +----- ...s-origin.sub.any.sharedworker-expected.txt | 6 +----- ...o-cross-origin.sub.any.worker-expected.txt | 6 +----- ...s-origin.sub.any.sharedworker-expected.txt | 6 +----- ...t-cross-origin.sub.any.worker-expected.txt | 6 +----- ...s-origin.sub.any.sharedworker-expected.txt | 6 +----- ...o-cross-origin.sub.any.worker-expected.txt | 6 +----- .../WebCore/loader/cache/CachedResource.cpp | 2 +- Source/WebCore/workers/WorkerGlobalScope.cpp | 5 +++++ Source/WebCore/workers/WorkerScriptLoader.cpp | 1 + Source/WebCore/workers/WorkerScriptLoader.h | 2 ++ 16 files changed, 31 insertions(+), 91 deletions(-) diff --git a/LayoutTests/http/tests/workers/worker-importScriptsOnError-expected.txt b/LayoutTests/http/tests/workers/worker-importScriptsOnError-expected.txt index 1f533f008512..de12cd3b138f 100644 --- a/LayoutTests/http/tests/workers/worker-importScriptsOnError-expected.txt +++ b/LayoutTests/http/tests/workers/worker-importScriptsOnError-expected.txt @@ -1,4 +1,4 @@ -CONSOLE MESSAGE: Error: Script error. +CONSOLE MESSAGE: NetworkError: Network response is CORS-cross-origin Test importScripts with error. @@ -20,7 +20,7 @@ filename: http://127.0.0.1:8000/workers/resources/worker-importScripts-error.js, initEvent: function initEvent() { [native code] }, isTrusted: true, lineno: 2, -message: Error: Script error., +message: NetworkError: Network response is CORS-cross-origin, preventDefault: function preventDefault() { [native code] }, returnValue: true, srcElement: [object Worker], diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.serviceworker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.serviceworker-expected.txt index 7f580d59088c..9c30e36538d9 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.serviceworker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.serviceworker-expected.txt @@ -1,20 +1,8 @@ PASS Same-origin syntax error PASS Same-origin throw -FAIL Cross-origin syntax error assert_throws_dom: function "function () { - importScripts(crossOrigin + - "/workers/modules/resources/syntax-error.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 -FAIL Cross-origin throw assert_throws_dom: function "function () { - importScripts(crossOrigin + - "/workers/modules/resources/throw.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 -FAIL Redirect-to-cross-origin syntax error assert_throws_dom: function "function () { - importScripts(redirectToCrossOrigin + - "/workers/modules/resources/syntax-error.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 -FAIL Redirect-to-Cross-origin throw assert_throws_dom: function "function () { - importScripts(redirectToCrossOrigin + - "/workers/modules/resources/throw.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 +PASS Cross-origin syntax error +PASS Cross-origin throw +PASS Redirect-to-cross-origin syntax error +PASS Redirect-to-Cross-origin throw diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.sharedworker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.sharedworker-expected.txt index 7f580d59088c..9c30e36538d9 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.sharedworker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.sharedworker-expected.txt @@ -1,20 +1,8 @@ PASS Same-origin syntax error PASS Same-origin throw -FAIL Cross-origin syntax error assert_throws_dom: function "function () { - importScripts(crossOrigin + - "/workers/modules/resources/syntax-error.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 -FAIL Cross-origin throw assert_throws_dom: function "function () { - importScripts(crossOrigin + - "/workers/modules/resources/throw.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 -FAIL Redirect-to-cross-origin syntax error assert_throws_dom: function "function () { - importScripts(redirectToCrossOrigin + - "/workers/modules/resources/syntax-error.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 -FAIL Redirect-to-Cross-origin throw assert_throws_dom: function "function () { - importScripts(redirectToCrossOrigin + - "/workers/modules/resources/throw.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 +PASS Cross-origin syntax error +PASS Cross-origin throw +PASS Redirect-to-cross-origin syntax error +PASS Redirect-to-Cross-origin throw diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.worker-expected.txt index 7f580d59088c..9c30e36538d9 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.worker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/catch.sub.any.worker-expected.txt @@ -1,20 +1,8 @@ PASS Same-origin syntax error PASS Same-origin throw -FAIL Cross-origin syntax error assert_throws_dom: function "function () { - importScripts(crossOrigin + - "/workers/modules/resources/syntax-error.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 -FAIL Cross-origin throw assert_throws_dom: function "function () { - importScripts(crossOrigin + - "/workers/modules/resources/throw.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 -FAIL Redirect-to-cross-origin syntax error assert_throws_dom: function "function () { - importScripts(redirectToCrossOrigin + - "/workers/modules/resources/syntax-error.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 -FAIL Redirect-to-Cross-origin throw assert_throws_dom: function "function () { - importScripts(redirectToCrossOrigin + - "/workers/modules/resources/throw.js"); - }" threw object "Error: Script error." that is not a DOMException NetworkError: property "code" is equal to undefined, expected 19 +PASS Cross-origin syntax error +PASS Cross-origin throw +PASS Redirect-to-cross-origin syntax error +PASS Redirect-to-Cross-origin throw diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.sharedworker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.sharedworker-expected.txt index c424e7d81e93..ba764f5abbb0 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.sharedworker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.sharedworker-expected.txt @@ -1,9 +1,5 @@ -FAIL WorkerGlobalScope error event: error assert_equals: e.error should be a DOMException expected function "function DOMException() { - [native code] -}" but got function "function Error() { - [native code] -}" +PASS WorkerGlobalScope error event: error PASS WorkerGlobalScope error event: message PASS WorkerGlobalScope error event: filename PASS WorkerGlobalScope error event: lineno diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.worker-expected.txt index c424e7d81e93..ba764f5abbb0 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.worker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-cross-origin.sub.any.worker-expected.txt @@ -1,9 +1,5 @@ -FAIL WorkerGlobalScope error event: error assert_equals: e.error should be a DOMException expected function "function DOMException() { - [native code] -}" but got function "function Error() { - [native code] -}" +PASS WorkerGlobalScope error event: error PASS WorkerGlobalScope error event: message PASS WorkerGlobalScope error event: filename PASS WorkerGlobalScope error event: lineno diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.sharedworker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.sharedworker-expected.txt index c424e7d81e93..ba764f5abbb0 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.sharedworker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.sharedworker-expected.txt @@ -1,9 +1,5 @@ -FAIL WorkerGlobalScope error event: error assert_equals: e.error should be a DOMException expected function "function DOMException() { - [native code] -}" but got function "function Error() { - [native code] -}" +PASS WorkerGlobalScope error event: error PASS WorkerGlobalScope error event: message PASS WorkerGlobalScope error event: filename PASS WorkerGlobalScope error event: lineno diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.worker-expected.txt index c424e7d81e93..ba764f5abbb0 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.worker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-redirect-to-cross-origin.sub.any.worker-expected.txt @@ -1,9 +1,5 @@ -FAIL WorkerGlobalScope error event: error assert_equals: e.error should be a DOMException expected function "function DOMException() { - [native code] -}" but got function "function Error() { - [native code] -}" +PASS WorkerGlobalScope error event: error PASS WorkerGlobalScope error event: message PASS WorkerGlobalScope error event: filename PASS WorkerGlobalScope error event: lineno diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.sharedworker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.sharedworker-expected.txt index c424e7d81e93..ba764f5abbb0 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.sharedworker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.sharedworker-expected.txt @@ -1,9 +1,5 @@ -FAIL WorkerGlobalScope error event: error assert_equals: e.error should be a DOMException expected function "function DOMException() { - [native code] -}" but got function "function Error() { - [native code] -}" +PASS WorkerGlobalScope error event: error PASS WorkerGlobalScope error event: message PASS WorkerGlobalScope error event: filename PASS WorkerGlobalScope error event: lineno diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker-expected.txt index c424e7d81e93..ba764f5abbb0 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-cross-origin.sub.any.worker-expected.txt @@ -1,9 +1,5 @@ -FAIL WorkerGlobalScope error event: error assert_equals: e.error should be a DOMException expected function "function DOMException() { - [native code] -}" but got function "function Error() { - [native code] -}" +PASS WorkerGlobalScope error event: error PASS WorkerGlobalScope error event: message PASS WorkerGlobalScope error event: filename PASS WorkerGlobalScope error event: lineno diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.sharedworker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.sharedworker-expected.txt index c424e7d81e93..ba764f5abbb0 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.sharedworker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.sharedworker-expected.txt @@ -1,9 +1,5 @@ -FAIL WorkerGlobalScope error event: error assert_equals: e.error should be a DOMException expected function "function DOMException() { - [native code] -}" but got function "function Error() { - [native code] -}" +PASS WorkerGlobalScope error event: error PASS WorkerGlobalScope error event: message PASS WorkerGlobalScope error event: filename PASS WorkerGlobalScope error event: lineno diff --git a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker-expected.txt index c424e7d81e93..ba764f5abbb0 100644 --- a/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker-expected.txt +++ b/LayoutTests/imported/w3c/web-platform-tests/workers/interfaces/WorkerUtils/importScripts/report-error-setTimeout-redirect-to-cross-origin.sub.any.worker-expected.txt @@ -1,9 +1,5 @@ -FAIL WorkerGlobalScope error event: error assert_equals: e.error should be a DOMException expected function "function DOMException() { - [native code] -}" but got function "function Error() { - [native code] -}" +PASS WorkerGlobalScope error event: error PASS WorkerGlobalScope error event: message PASS WorkerGlobalScope error event: filename PASS WorkerGlobalScope error event: lineno diff --git a/Source/WebCore/loader/cache/CachedResource.cpp b/Source/WebCore/loader/cache/CachedResource.cpp index 8cee9f0e6d15..51b152417262 100644 --- a/Source/WebCore/loader/cache/CachedResource.cpp +++ b/Source/WebCore/loader/cache/CachedResource.cpp @@ -477,7 +477,7 @@ void CachedResource::setResponse(const ResourceResponse& response) } #endif m_response.setRedirected(m_redirectChainCacheStatus.status != RedirectChainCacheStatus::Status::NoRedirection); - if (m_response.tainting() == ResourceResponse::Tainting::Basic || m_response.tainting() == ResourceResponse::Tainting::Cors) + if ((m_response.tainting() == ResourceResponse::Tainting::Basic || m_response.tainting() == ResourceResponse::Tainting::Cors) && !m_response.url().protocolIsData()) m_response.setTainting(m_responseTainting); } diff --git a/Source/WebCore/workers/WorkerGlobalScope.cpp b/Source/WebCore/workers/WorkerGlobalScope.cpp index de7130aa725d..8b56344669fa 100644 --- a/Source/WebCore/workers/WorkerGlobalScope.cpp +++ b/Source/WebCore/workers/WorkerGlobalScope.cpp @@ -404,6 +404,9 @@ ExceptionOr WorkerGlobalScope::importScripts(const FixedVector& ur if (auto exception = scriptLoader->loadSynchronously(this, url, WorkerScriptLoader::Source::ClassicWorkerImport, FetchOptions::Mode::NoCors, cachePolicy, cspEnforcement, resourceRequestIdentifier())) return WTFMove(*exception); + // https://html.spec.whatwg.org/multipage/webappapis.html#fetch-a-classic-worker-imported-script (step 7). + bool mutedErrors = scriptLoader->responseTainting() == ResourceResponse::Tainting::Opaque || scriptLoader->responseTainting() == ResourceResponse::Tainting::Opaqueredirect; + InspectorInstrumentation::scriptImported(*this, scriptLoader->identifier(), scriptLoader->script().toString()); WeakPtr sourceProvider; @@ -413,6 +416,8 @@ ExceptionOr WorkerGlobalScope::importScripts(const FixedVector& ur sourceProvider = static_cast(sourceCode.provider()); script()->evaluate(sourceCode, exception); if (exception) { + if (mutedErrors) + return Exception { NetworkError, "Network response is CORS-cross-origin"_s }; script()->setException(exception); return { }; } diff --git a/Source/WebCore/workers/WorkerScriptLoader.cpp b/Source/WebCore/workers/WorkerScriptLoader.cpp index 5d9e211d3f18..059fbd5a111f 100644 --- a/Source/WebCore/workers/WorkerScriptLoader.cpp +++ b/Source/WebCore/workers/WorkerScriptLoader.cpp @@ -247,6 +247,7 @@ void WorkerScriptLoader::didReceiveResponse(ResourceLoaderIdentifier identifier, m_certificateInfo = response.certificateInfo() ? *response.certificateInfo() : CertificateInfo(); m_responseMIMEType = response.mimeType(); m_responseSource = response.source(); + m_responseTainting = response.tainting(); m_isRedirected = response.isRedirected(); m_contentSecurityPolicy = ContentSecurityPolicyResponseHeaders { response }; if (m_isCOEPEnabled) diff --git a/Source/WebCore/workers/WorkerScriptLoader.h b/Source/WebCore/workers/WorkerScriptLoader.h index 3da0a1d5a699..8d9d01a289d2 100644 --- a/Source/WebCore/workers/WorkerScriptLoader.h +++ b/Source/WebCore/workers/WorkerScriptLoader.h @@ -81,6 +81,7 @@ class WorkerScriptLoader : public RefCounted, public Threada bool isRedirected() const { return m_isRedirected; } const CertificateInfo& certificateInfo() const { return m_certificateInfo; } const String& responseMIMEType() const { return m_responseMIMEType; } + ResourceResponse::Tainting responseTainting() const { return m_responseTainting; } bool failed() const { return m_failed; } ResourceLoaderIdentifier identifier() const { return m_identifier; } const ResourceError& error() const { return m_error; } @@ -137,6 +138,7 @@ class WorkerScriptLoader : public RefCounted, public Threada bool m_isRedirected { false }; bool m_isCOEPEnabled { false }; ResourceResponse::Source m_responseSource { ResourceResponse::Source::Unknown }; + ResourceResponse::Tainting m_responseTainting { ResourceResponse::Tainting::Basic }; ResourceError m_error; ScriptExecutionContextIdentifier m_clientIdentifier; #if ENABLE(SERVICE_WORKER)