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

Reply via email to