Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement nested Dedicated Workers #4349

Merged
merged 1 commit into from
Sep 18, 2022

Conversation

cdumez
Copy link
Contributor

@cdumez cdumez commented Sep 14, 2022

48880e3

Implement nested Dedicated Workers
https://bugs.webkit.org/show_bug.cgi?id=22723
<rdar://6425810>

Reviewed by Darin Adler.

Add support for nested dedicated workers. Blink and Gecko already support this.

Also fix an issue where ScriptExecutionContext were added too early to the ScriptExecutionContextMap.
This was marking calls to postTaskTo() unsafe since it would call the virtual postTask() function
on a ScriptExecutionContext that had potentially not finished construction. This was causing flaky
test crashes.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/opt-in/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/opt-in/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/unset/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/unset/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/opt-in/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/opt-in/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/unset/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/unset/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-classic.http-rp/upgrade/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-classic.http-rp/upgrade/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-module.http-rp/upgrade/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-module.http-rp/upgrade/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/wasm/serialization/module/nested-worker-success.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/web-locks/query.tentative.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webmessaging/MessageEvent-trusted.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webmessaging/message-channels/worker-post-after-close.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webmessaging/message-channels/worker.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/websockets/Create-on-worker-shutdown.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/baseurl/alpha/worker-in-worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/constructors/Worker/expected-self-properties.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/dedicated-worker-in-data-url-context.window-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_close_from_parent_worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_close_self.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_importScripts.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_sync_xhr.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_terminate_from_document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/semantics/multiple-workers/exposure.any.worker-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.worker-expected.txt: Added.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.worker-expected.txt: Added.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import.any.worker-expected.txt: Added.
* LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
* Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.cpp:
(WebCore::AudioWorkletMessagingProxy::loaderContextIdentifier const):
* Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.h:
* Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::~DedicatedWorkerGlobalScope):
* Source/WebCore/workers/Worker.cpp:
(WebCore::Worker::networkStateChanged):
(WebCore::Worker::Worker):
(WebCore::Worker::create):
(WebCore::Worker::~Worker):
(WebCore::Worker::forEachWorker):
(WebCore::Worker::notifyNetworkStateChange): Deleted.
(WebCore::Worker::byIdentifier): Deleted.
* Source/WebCore/workers/Worker.h:
* Source/WebCore/workers/Worker.idl:
* Source/WebCore/workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
* Source/WebCore/workers/WorkerLoaderProxy.h:
* Source/WebCore/workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::loaderContextIdentifier const):
(WebCore::WorkerMessagingProxy::postTaskToLoader):
(WebCore::WorkerMessagingProxy::createCacheStorageConnection):
(WebCore::WorkerMessagingProxy::storageConnection):
(WebCore::WorkerMessagingProxy::createRTCDataChannelRemoteHandlerConnection):
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyedInternal):
(WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
(WebCore::WorkerMessagingProxy::reportPendingActivity):
* Source/WebCore/workers/WorkerMessagingProxy.h:
* Source/WebCore/workers/WorkerOrWorkletThread.cpp:
(WebCore::WorkerOrWorkletThread::workerOrWorkletThread):
(WebCore::WorkerOrWorkletThread::destroyWorkerGlobalScope):
(WebCore::WorkerOrWorkletThread::stop):
(WebCore::WorkerOrWorkletThread::addChildThread):
(WebCore::WorkerOrWorkletThread::removeChildThread):
* Source/WebCore/workers/WorkerOrWorkletThread.h:
* Source/WebCore/workers/service/SWClientConnection.cpp:
(WebCore::SWClientConnection::postMessageToServiceWorkerClient):
(WebCore::SWClientConnection::notifyClientsOfControllerChange):
* Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope):
* Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::loaderContextIdentifier const):
* Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h:
* Source/WebCore/workers/shared/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::~SharedWorkerGlobalScope):
* Source/WebCore/workers/shared/SharedWorkerGlobalScope.h:
* Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::SharedWorkerThreadProxy::loaderContextIdentifier const):
* Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h:

Canonical link: https://commits.webkit.org/254597@main

feb5352

Misc iOS, tvOS & watchOS macOS Linux Windows
βœ… πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe βœ… πŸ›  πŸ§ͺ win
βœ… πŸ›  ios-sim   πŸ›  mac-debug βœ… πŸ›  gtk βœ… πŸ›  wincairo
βœ… πŸ§ͺ webkitperl βœ… πŸ§ͺ ios-wk2 βœ… πŸ›  mac-AS-debug βœ… πŸ§ͺ gtk-wk2
βœ… πŸ§ͺ api-ios βœ… πŸ§ͺ api-mac βœ… πŸ§ͺ api-gtk
βœ… πŸ›  tv   πŸ§ͺ mac-wk1
βœ… πŸ›  tv-sim βœ… πŸ§ͺ mac-wk2
βœ… πŸ›  πŸ§ͺ merge βœ… πŸ›  watch βœ… πŸ§ͺ mac-AS-debug-wk2
βœ… πŸ›  watch-sim βœ… πŸ§ͺ mac-wk2-stress

@cdumez cdumez self-assigned this Sep 14, 2022
@cdumez cdumez added WebCore Misc. For miscellaneous bugs in the WebCore framework (and not JavaScriptCore or WebKit). WebKit Nightly Build labels Sep 14, 2022
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Sep 14, 2022
@cdumez cdumez removed the merging-blocked Applied to prevent a change from being merged label Sep 14, 2022
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Sep 15, 2022
@cdumez cdumez removed the merging-blocked Applied to prevent a change from being merged label Sep 15, 2022
@cdumez cdumez added 528+ (Nightly build) DOM For bugs specific to XML/HTML DOM elements (including parsing). and removed WebCore Misc. For miscellaneous bugs in the WebCore framework (and not JavaScriptCore or WebKit). WebKit Nightly Build labels Sep 15, 2022
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Sep 15, 2022
@cdumez cdumez removed the merging-blocked Applied to prevent a change from being merged label Sep 15, 2022
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Sep 15, 2022
@cdumez cdumez removed the merging-blocked Applied to prevent a change from being merged label Sep 15, 2022
@cdumez cdumez changed the title [WIP] Add support for nested dedicated workers Implement nested Dedicated Workers Sep 15, 2022
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Sep 16, 2022
@cdumez cdumez removed the merging-blocked Applied to prevent a change from being merged label Sep 16, 2022
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Sep 16, 2022
@cdumez cdumez removed the merging-blocked Applied to prevent a change from being merged label Sep 17, 2022
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Sep 17, 2022
@cdumez cdumez removed the merging-blocked Applied to prevent a change from being merged label Sep 17, 2022
@cdumez cdumez marked this pull request as ready for review September 17, 2022 20:35
@cdumez cdumez requested a review from rniwa as a code owner September 17, 2022 20:35
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Sep 17, 2022
@cdumez cdumez removed the merging-blocked Applied to prevent a change from being merged label Sep 17, 2022
Copy link
Member

@darinadler darinadler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We want a quick obvious failure if someone forgets to do addToContexMap or removeFromContexMap in a derived class. Might be worth thinking about how to accomplish that. For removeFromContextMap we could change things so it’s done by the deref function’s destroy code rather than by the destructor, and then implementers of derived classes can’t forget.

@cdumez
Copy link
Contributor Author

cdumez commented Sep 17, 2022

We want a quick obvious failure if someone forgets to do addToContexMap or removeFromContexMap in a derived class. Might be worth thinking about how to accomplish that. For removeFromContextMap we could change things so it’s done by the deref function’s destroy code rather than by the destructor, and then implementers of derived classes can’t forget.

The good news is that if we forget to call addToContextsMap(), then the destructor will hit an assertion. This is how I caught all the missing cases. Not sure how to catch the issue earlier.

I agree with you that the deref() function should call removeFromContextsMap().
It would be safer to call removeFromContextsMap() before destruction since we're not supposed to make virtual function calls while running the destructor. Sadly, it is not as trivial as it looks because the ref counting of ScriptExecutionContext is delegated to its subclasses. The reason for that is that Document is one of the subclasses and Document has very special refcounting (since it is a Node). We definitely don't want to slow down Node ref-counting by adding a check in its deref().

@cdumez cdumez added the merge-queue Applied to send a pull request to merge-queue label Sep 18, 2022
https://bugs.webkit.org/show_bug.cgi?id=22723
<rdar://6425810>

Reviewed by Darin Adler.

Add support for nested dedicated workers. Blink and Gecko already support this.

Also fix an issue where ScriptExecutionContext were added too early to the ScriptExecutionContextMap.
This was marking calls to postTaskTo() unsafe since it would call the virtual postTask() function
on a ScriptExecutionContext that had potentially not finished construction. This was causing flaky
test crashes.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/opt-in/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/opt-in/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/unset/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/unset/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/opt-in/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/opt-in/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/unset/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/unset/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-classic.http-rp/upgrade/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-classic.http-rp/upgrade/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-module.http-rp/upgrade/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-module.http-rp/upgrade/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/wasm/serialization/module/nested-worker-success.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/web-locks/query.tentative.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webmessaging/MessageEvent-trusted.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webmessaging/message-channels/worker-post-after-close.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webmessaging/message-channels/worker.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/websockets/Create-on-worker-shutdown.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/baseurl/alpha/worker-in-worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/constructors/Worker/expected-self-properties.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/dedicated-worker-in-data-url-context.window-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_close_from_parent_worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_close_self.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_importScripts.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_sync_xhr.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_terminate_from_document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/semantics/multiple-workers/exposure.any.worker-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.worker-expected.txt: Added.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.worker-expected.txt: Added.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import.any.worker-expected.txt: Added.
* LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
* Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.cpp:
(WebCore::AudioWorkletMessagingProxy::loaderContextIdentifier const):
* Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.h:
* Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::~DedicatedWorkerGlobalScope):
* Source/WebCore/workers/Worker.cpp:
(WebCore::Worker::networkStateChanged):
(WebCore::Worker::Worker):
(WebCore::Worker::create):
(WebCore::Worker::~Worker):
(WebCore::Worker::forEachWorker):
(WebCore::Worker::notifyNetworkStateChange): Deleted.
(WebCore::Worker::byIdentifier): Deleted.
* Source/WebCore/workers/Worker.h:
* Source/WebCore/workers/Worker.idl:
* Source/WebCore/workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
* Source/WebCore/workers/WorkerLoaderProxy.h:
* Source/WebCore/workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::loaderContextIdentifier const):
(WebCore::WorkerMessagingProxy::postTaskToLoader):
(WebCore::WorkerMessagingProxy::createCacheStorageConnection):
(WebCore::WorkerMessagingProxy::storageConnection):
(WebCore::WorkerMessagingProxy::createRTCDataChannelRemoteHandlerConnection):
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyedInternal):
(WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
(WebCore::WorkerMessagingProxy::reportPendingActivity):
* Source/WebCore/workers/WorkerMessagingProxy.h:
* Source/WebCore/workers/WorkerOrWorkletThread.cpp:
(WebCore::WorkerOrWorkletThread::workerOrWorkletThread):
(WebCore::WorkerOrWorkletThread::destroyWorkerGlobalScope):
(WebCore::WorkerOrWorkletThread::stop):
(WebCore::WorkerOrWorkletThread::addChildThread):
(WebCore::WorkerOrWorkletThread::removeChildThread):
* Source/WebCore/workers/WorkerOrWorkletThread.h:
* Source/WebCore/workers/service/SWClientConnection.cpp:
(WebCore::SWClientConnection::postMessageToServiceWorkerClient):
(WebCore::SWClientConnection::notifyClientsOfControllerChange):
* Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope):
* Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::loaderContextIdentifier const):
* Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h:
* Source/WebCore/workers/shared/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::~SharedWorkerGlobalScope):
* Source/WebCore/workers/shared/SharedWorkerGlobalScope.h:
* Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::SharedWorkerThreadProxy::loaderContextIdentifier const):
* Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h:

Canonical link: https://commits.webkit.org/254597@main
@webkit-commit-queue
Copy link
Collaborator

Committed 254597@main (48880e3): https://commits.webkit.org/254597@main

Reviewed commits have been landed. Closing PR #4349 and removing active labels.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DOM For bugs specific to XML/HTML DOM elements (including parsing).
Projects
None yet
5 participants