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

Reply via email to