Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 99d539834b6ab6378da65545d5be275f7b08d44d
      
https://github.com/WebKit/WebKit/commit/99d539834b6ab6378da65545d5be275f7b08d44d
  Author: Youenn Fablet <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to