Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 73b4bbb977893a1d7c47cc14940a4cc47e487c43
https://github.com/WebKit/WebKit/commit/73b4bbb977893a1d7c47cc14940a4cc47e487c43
Author: Chris Dumez <[email protected]>
Date: 2026-08-05 (Wed, 05 Aug 2026)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/global-immutable-prototype.any.sharedworker-expected.txt
M Source/WebCore/workers/shared/SharedWorkerGlobalScope.idl
Log Message:
-----------
SharedWorkerGlobalScope prototype is not an immutable prototype exotic object
https://bugs.webkit.org/show_bug.cgi?id=321067
Reviewed by Sam Weinig and Darin Adler.
Per Web IDL, the interface prototype object of a [Global] interface must be
an immutable prototype exotic object. WebKit implements this via the
IsImmutablePrototypeExoticObjectOnPrototype IDL extended attribute, which
DedicatedWorkerGlobalScope, ServiceWorkerGlobalScope, WorkerGlobalScope,
EventTarget and DOMWindow all declare. SharedWorkerGlobalScope was missing
it, so SharedWorkerGlobalScope.prototype was an ordinary extensible object
and Object.setPrototypeOf(SharedWorkerGlobalScope.prototype, {}) succeeded
instead of throwing a TypeError.
This matches the behavior of Chrome and Firefox and fixes the "Setting to a
different prototype" subtest of global-immutable-prototype.any.sharedworker.
No new tests, rebaselined existing WPT test.
*
LayoutTests/imported/w3c/web-platform-tests/WebIDL/ecmascript-binding/global-immutable-prototype.any.sharedworker-expected.txt:
* Source/WebCore/workers/shared/SharedWorkerGlobalScope.idl:
Canonical link: https://commits.webkit.org/318684@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications