Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 343451670f38930c3b2c75d59c2d006b69bab1a0
https://github.com/WebKit/WebKit/commit/343451670f38930c3b2c75d59c2d006b69bab1a0
Author: Anne van Kesteren <[email protected]>
Date: 2026-05-03 (Sun, 03 May 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/nested-sharedworker-success.https-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/utf-8_include=workers-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/windows-1251_include=workers-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/html/infrastructure/urls/resolving-urls/query-encoding/windows-1252_include=workers-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker.https-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/secure-contexts/shared-worker-insecure-first.https-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/secure-contexts/shared-worker-secure-first.https-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/resources/nested_load_worker.js
M
LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/trusted-types/DedicatedWorker-constructor-from-SharedWorker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/wasm/serialization/module/nested-worker-success.any.sharedworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/workers/constructors/SharedWorker/interface-objects-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/003.any.sharedworker-expected.txt
M
LayoutTests/imported/w3c/web-platform-tests/workers/semantics/multiple-workers/exposure.any.sharedworker-expected.txt
M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
M Source/WebCore/DerivedSources-output.xcfilelist
M Source/WebCore/DerivedSources.make
M Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
M Source/WebCore/bindings/js/WebCoreBuiltinNames.h
M Source/WebCore/bindings/scripts/IDLAttributes.json
M Source/WebCore/bindings/scripts/generate-bindings-all.pl
M Source/WebCore/bindings/scripts/preprocess-idls.pl
M Source/WebCore/workers/Worker.cpp
M Source/WebCore/workers/Worker.idl
M Source/WebCore/workers/WorkerGlobalScope.cpp
M Source/WebCore/workers/WorkerGlobalScope.h
M Source/WebCore/workers/WorkerMessagingProxy.cpp
M Source/WebCore/workers/WorkerThread.cpp
M Source/WebCore/workers/WorkerThread.h
M Source/WebCore/workers/service/context/ServiceWorkerThread.cpp
M Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp
Log Message:
-----------
Enable dedicated workers in shared workers
https://bugs.webkit.org/show_bug.cgi?id=265263
rdar://118945089
Reviewed by Chris Dumez.
Expose Worker interface in SharedWorkerGlobalScope per the HTML
Standard, gated behind the WorkerInSharedWorkerEnabled preference
(preview).
This required several supporting changes:
- Make the online state listener registration in the Worker constructor
main-thread-safe via std::once_flag and ensureOnMainThread.
- Propagate agent cluster IDs through WorkerParameters so a dedicated
worker created from a shared worker shares its parent's agent cluster
(needed for WebAssembly module transfer). Each shared worker and
service worker now gets a unique agent cluster ID, fixing a
pre-existing collision where all shared workers (and all service
workers) appeared to share a single agent cluster.
- Add ExposedEnabledBySetting IDL extended attribute to gate interface
exposure in a specific context behind a runtime setting.
- Fix SharedWorkerGlobalScopeConstructors.idl missing from
DerivedSources.make IDL_INTERMEDIATE_FILES and
DerivedSources-output.xcfilelist, causing incremental builds to not
pick up Exposed changes for SharedWorkerGlobalScope.
- Fix path mismatch in generate-bindings-all.pl where supplemental
dependency lookups used relative paths against a hash keyed by
absolute paths, preventing regeneration of bindings when supplemental
IDL files changed.
Also fixes a WPT bug in nested_load_worker.js where the shared worker
path used connect event data instead of message event data. Already
upstreamed here:
https://github.com/web-platform-tests/wpt/pull/59498
Canonical link: https://commits.webkit.org/312503@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications