Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 86d0164f83073aa858779f68fdf4804eacf1f676
https://github.com/WebKit/WebKit/commit/86d0164f83073aa858779f68fdf4804eacf1f676
Author: Anne van Kesteren <[email protected]>
Date: 2026-10-07 (Wed, 07 Oct 2026)
Changed paths:
M Source/WebCore/Modules/filesystem/FileSystemHandle.idl
M Source/WebCore/Modules/mediasource/MediaSourceHandle.idl
M Source/WebCore/Modules/mediastream/MediaStreamTrack.idl
M Source/WebCore/Modules/mediastream/MediaStreamTrackHandle.idl
M Source/WebCore/Modules/mediastream/RTCCertificate.idl
M Source/WebCore/Modules/mediastream/RTCDataChannel.idl
M Source/WebCore/Modules/mediastream/RTCEncodedAudioFrame.idl
M Source/WebCore/Modules/mediastream/RTCEncodedVideoFrame.idl
M Source/WebCore/Modules/streams/ReadableStream.idl
M Source/WebCore/Modules/streams/TransformStream.idl
M Source/WebCore/Modules/streams/WritableStream.idl
M Source/WebCore/Modules/webcodecs/WebCodecsAudioData.idl
M Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunk.idl
M Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunk.idl
M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.idl
M Source/WebCore/bindings/js/SerializedScriptValue.cpp
M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
M Source/WebCore/bindings/scripts/IDLAttributes.json
M Source/WebCore/bindings/scripts/test/ExposedStar.idl
M Source/WebCore/bindings/scripts/test/JS/JSExposedStar.cpp
M Source/WebCore/bindings/scripts/test/JS/JSExposedStar.h
A Source/WebCore/bindings/scripts/test/JS/JSTestSerializable.cpp
A Source/WebCore/bindings/scripts/test/JS/JSTestSerializable.h
M Source/WebCore/bindings/scripts/test/SupplementalDependencies.dep
A Source/WebCore/bindings/scripts/test/TestSerializable.idl
M Source/WebCore/crypto/CryptoKey.idl
M Source/WebCore/css/DOMMatrix.idl
M Source/WebCore/css/DOMMatrixReadOnly.idl
M Source/WebCore/dom/DOMException.idl
M Source/WebCore/dom/DOMPoint.idl
M Source/WebCore/dom/DOMPointReadOnly.idl
M Source/WebCore/dom/DOMQuad.idl
M Source/WebCore/dom/DOMRect.idl
M Source/WebCore/dom/DOMRectReadOnly.idl
M Source/WebCore/dom/MessagePort.idl
M Source/WebCore/dom/QuotaExceededError.idl
M Source/WebCore/fileapi/Blob.idl
M Source/WebCore/fileapi/File.idl
M Source/WebCore/fileapi/FileList.idl
M Source/WebCore/html/ImageBitmap.idl
M Source/WebCore/html/ImageData.idl
M Source/WebCore/html/OffscreenCanvas.idl
M Source/WebCore/worklets/WorkletGlobalScope.h
Log Message:
-----------
Generate structured deserialization exposure checks from IDL
https://bugs.webkit.org/show_bug.cgi?id=326492
rdar://189274188
Reviewed by Sam Weinig.
isTypeExposedToGlobalObject() kept a hand-written list of serialization
tags that are not exposed in AudioWorkletGlobalScope, independent of the
[Exposed] values in IDL.
Support the [Serializable] and [Transferable] extended attributes in the
bindings generator: for interfaces that have either, generate a static
isExposedInGlobalObject() function that checks [Exposed], [SecureContext],
[EnabledBySetting] and [EnabledForContext] against a global object.
Annotate the interfaces that SerializedScriptValue serializes or
transfers, per their specifications. isTypeExposedToGlobalObject() now
maps each tag to its interface and uses the generated function.
No change in behavior: the generated functions are only used for
AudioWorkletGlobalScope, as before, and streams remain unexposed there.
Using them for every global object will be done separately.
Canonical link: https://commits.webkit.org/322966@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications