[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