[webkit-changes] [WebKit/WebKit] 99d539: Dedicated worker and shared worker global scope sh...
youennf
noreply at github.com
Thu Nov 10 06:30:30 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 99d539834b6ab6378da65545d5be275f7b08d44d
https://github.com/WebKit/WebKit/commit/99d539834b6ab6378da65545d5be275f7b08d44d
Author: Youenn Fablet <youennf at gmail.com>
Date: 2022-11-10 (Thu, 10 Nov 2022)
Changed paths:
M LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception-redirect.https-expected.txt
R LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception-redirect.https-expected.txt
M Source/WebCore/loader/DocumentThreadableLoader.cpp
M Source/WebCore/loader/DocumentThreadableLoader.h
M Source/WebCore/loader/ThreadableLoaderClient.h
M Source/WebCore/loader/ThreadableLoaderClientWrapper.h
M Source/WebCore/loader/WorkerThreadableLoader.cpp
M Source/WebCore/loader/WorkerThreadableLoader.h
M Source/WebCore/workers/Worker.cpp
M Source/WebCore/workers/WorkerFetchResult.h
M Source/WebCore/workers/WorkerScriptLoader.cpp
M Source/WebCore/workers/WorkerScriptLoader.h
M Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp
M Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp
Log Message:
-----------
Dedicated worker and shared worker global scope should use the response URL
https://bugs.webkit.org/show_bug.cgi?id=247615
rdar://problem/102088086
Reviewed by Chris Dumez.
As per https://html.spec.whatwg.org/multipage/workers.html#run-a-worker step 14.3.1, we should use the response URL.
Update the code accordingly, which allows removing the redirectReceived callback.
Update DocumentThreadableLoader to provide a correct response URL, including fragment identifier.
As DocumentThreadableLoader may reuse existing loads with same URL but different fragment identifier, we need to correctly set the response URL fragment identifier ourselves.
Covered by rebased test.
* LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception-redirect.https-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception-redirect.https-expected.txt:
* Source/WebCore/loader/DocumentThreadableLoader.cpp:
* Source/WebCore/loader/DocumentThreadableLoader.h:
* Source/WebCore/loader/ThreadableLoaderClient.h:
(WebCore::ThreadableLoaderClient::redirectReceived): Deleted.
* Source/WebCore/loader/ThreadableLoaderClientWrapper.h:
(WebCore::ThreadableLoaderClientWrapper::redirectReceived): Deleted.
* Source/WebCore/loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::redirectReceived): Deleted.
* Source/WebCore/loader/WorkerThreadableLoader.h:
* Source/WebCore/workers/Worker.cpp:
(WebCore::Worker::notifyFinished):
* Source/WebCore/workers/WorkerFetchResult.h:
(WebCore::WorkerFetchResult::isolatedCopy const):
(WebCore::WorkerFetchResult::encode const):
(WebCore::WorkerFetchResult::decode):
* Source/WebCore/workers/WorkerScriptLoader.cpp:
(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::fetchResult const):
(WebCore::WorkerScriptLoader::redirectReceived): Deleted.
* Source/WebCore/workers/WorkerScriptLoader.h:
(WebCore::WorkerScriptLoader::url const):
(WebCore::WorkerScriptLoader::lastRequestURL const): Deleted.
* Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::generateWorkerParameters):
* Source/WebKit/WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:
(WebKit::WebSharedWorkerContextManagerConnection::launchSharedWorker):
Canonical link: https://commits.webkit.org/256532@main
More information about the webkit-changes
mailing list