Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 21093d51f5451a8e4defdb50205b2edc600d7fca
https://github.com/WebKit/WebKit/commit/21093d51f5451a8e4defdb50205b2edc600d7fca
Author: Sam Weinig <[email protected]>
Date: 2026-02-13 (Fri, 13 Feb 2026)
Changed paths:
M Source/WebCore/Modules/WebGPU/GPUQueue.cpp
M Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp
M Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp
M Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp
M Source/WebCore/Modules/fetch/FetchBody.cpp
M Source/WebCore/Modules/fetch/FetchBody.h
M Source/WebCore/Modules/filesystem/FileSystemSyncAccessHandle.cpp
M Source/WebCore/Modules/filesystem/FileSystemWritableFileStream.cpp
M Source/WebCore/Modules/filesystem/FileSystemWritableFileStream.h
M Source/WebCore/Modules/filesystem/FileSystemWritableFileStreamSink.cpp
M Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp
M Source/WebCore/Modules/push-api/PushEvent.cpp
M Source/WebCore/Modules/push-api/PushEventInit.h
M Source/WebCore/Modules/push-api/PushManager.cpp
M Source/WebCore/Modules/push-api/PushSubscriptionOptionsInit.h
M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp
M Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl
M Source/WebCore/Modules/webauthn/AuthenticationResponseJSON.idl
M Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp
M Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.idl
M Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.h
M Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.idl
M Source/WebCore/Modules/webauthn/PublicKeyCredential.cpp
M Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl
M Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptionsJSON.idl
M Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl
M Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptorJSON.idl
M Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl
M Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.h
M Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.idl
M Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntity.idl
M Source/WebCore/Modules/webauthn/RegistrationResponseJSON.idl
M Source/WebCore/Modules/webauthn/fido/Pin.cpp
M Source/WebCore/Modules/webauthn/fido/U2fCommandConstructor.cpp
M Source/WebCore/Modules/webauthn/fido/U2fResponseConverter.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsAudioData.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsAudioData.idl
M Source/WebCore/Modules/webcodecs/WebCodecsAudioDataAlgorithms.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunk.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunk.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp
M Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp
M Source/WebCore/WebCore.xcodeproj/project.pbxproj
M Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm
M Source/WebCore/bindings/IDLTypes.h
M Source/WebCore/bindings/js/BufferSource.h
M Source/WebCore/bindings/js/JSDOMConvertBufferSource.h
M Source/WebCore/bindings/js/JSDOMConvertResult.h
M Source/WebCore/bindings/js/JSDOMConvertUnion.h
M Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp
M Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
M Source/WebCore/crypto/SubtleCrypto.cpp
M Source/WebCore/crypto/SubtleCrypto.h
M Source/WebCore/crypto/cocoa/CryptoKeyRSAMac.cpp
M Source/WebCore/crypto/gcrypt/CryptoKeyRSAGCrypt.cpp
M Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl
M Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl
M Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl
M Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl
M Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl
M Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.h
M Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl
M Source/WebCore/crypto/openssl/CryptoKeyRSAOpenSSL.cpp
M Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h
M Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h
M Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h
M Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h
M Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h
M Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h
M Source/WebCore/css/FontFace.cpp
M Source/WebCore/css/FontFace.h
M Source/WebCore/dom/StartViewTransitionOptions.idl
M Source/WebCore/fileapi/Blob.cpp
M Source/WebCore/fileapi/Blob.h
M Source/WebCore/fileapi/BlobBuilder.cpp
M Source/WebCore/fileapi/BlobBuilder.h
M Source/WebCore/fileapi/FileReader.cpp
M Source/WebCore/fileapi/FileReader.h
M Source/WebCore/html/ImageDataArray.cpp
M Source/WebCore/html/ImageDataArray.h
M Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
M Source/WebCore/html/canvas/WebGLAny.h
M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
M Source/WebCore/html/canvas/WebGLRenderingContextBase.h
M Source/WebCore/inspector/InspectorCanvasArguments.cpp
M Source/WebCore/inspector/InspectorCanvasArguments.h
M
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm
M Source/WebCore/xml/XMLHttpRequest.cpp
M Source/WebCore/xml/XMLHttpRequest.h
M Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm
M Source/WebKit/UIProcess/WebAuthentication/Authenticator.cpp
M Source/WebKit/UIProcess/WebAuthentication/Authenticator.h
M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp
M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.h
M Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp
M Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp
M Tools/TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp
M Tools/TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp
Log Message:
-----------
Support using Ref for buffer source types in IDL unions
https://bugs.webkit.org/show_bug.cgi?id=306967
Reviewed by Darin Adler.
Migrates the underlying representation of non-nullable buffer source types in
IDL unions to use Ref rather than RefPtr.
Biggest change here was requiring that the special BufferSource type use Ref,
meaning that buffers now use `create` rather than `tryCreate` in a few more
places. For clients that want to allow for buffer source creation to fail, they
need to do that prior to constructing the BufferSource and deal with the failure
(by, for instance, throwing an exception).
A small bindings generator change need to ensure JSDOMConvertOptional.h was
needed
when PermissiveInvalidValue is used for enum dictionary members in a dictionary
without LegacyNativeDictionaryRequiredInterfaceNullability.
* Source/WebCore/Modules/WebGPU/GPUQueue.cpp:
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp:
* Source/WebCore/Modules/encryptedmedia/MediaKeyStatusMap.cpp:
* Source/WebCore/Modules/encryptedmedia/MediaKeys.cpp:
* Source/WebCore/Modules/fetch/FetchBody.cpp:
* Source/WebCore/Modules/fetch/FetchBody.h:
* Source/WebCore/Modules/filesystem/FileSystemSyncAccessHandle.cpp:
* Source/WebCore/Modules/filesystem/FileSystemWritableFileStream.cpp:
* Source/WebCore/Modules/filesystem/FileSystemWritableFileStream.h:
* Source/WebCore/Modules/filesystem/FileSystemWritableFileStreamSink.cpp:
* Source/WebCore/Modules/mediastream/RTCRtpSFrameTransform.cpp:
* Source/WebCore/Modules/push-api/PushEvent.cpp:
* Source/WebCore/Modules/push-api/PushEventInit.h:
* Source/WebCore/Modules/push-api/PushManager.cpp:
* Source/WebCore/Modules/push-api/PushSubscriptionOptionsInit.h:
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp:
* Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl:
* Source/WebCore/Modules/webauthn/AuthenticationResponseJSON.idl:
* Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
* Source/WebCore/Modules/webauthn/AuthenticatorSelectionCriteria.idl:
* Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.h:
* Source/WebCore/Modules/webauthn/CredentialPropertiesOutput.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredential.cpp:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptionsJSON.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptor.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialDescriptorJSON.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRequestOptions.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.h:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialRpEntity.idl:
* Source/WebCore/Modules/webauthn/PublicKeyCredentialUserEntity.idl:
* Source/WebCore/Modules/webauthn/RegistrationResponseJSON.idl:
* Source/WebCore/Modules/webauthn/fido/Pin.cpp:
* Source/WebCore/Modules/webauthn/fido/U2fCommandConstructor.cpp:
* Source/WebCore/Modules/webauthn/fido/U2fResponseConverter.cpp:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioData.cpp:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioData.idl:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioDataAlgorithms.cpp:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioDecoder.cpp:
* Source/WebCore/Modules/webcodecs/WebCodecsAudioEncoder.cpp:
* Source/WebCore/Modules/webcodecs/WebCodecsEncodedAudioChunk.cpp:
* Source/WebCore/Modules/webcodecs/WebCodecsEncodedVideoChunk.cpp:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoDecoder.cpp:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoEncoder.cpp:
* Source/WebCore/Modules/webcodecs/WebCodecsVideoFrame.cpp:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/accessibility/mac/AccessibilityObjectMac.mm:
* Source/WebCore/bindings/IDLTypes.h:
* Source/WebCore/bindings/js/BufferSource.h:
* Source/WebCore/bindings/js/JSDOMConvertBufferSource.h:
* Source/WebCore/bindings/js/JSDOMConvertResult.h:
* Source/WebCore/bindings/js/JSDOMConvertUnion.h:
* Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp:
* Source/WebCore/bindings/scripts/CodeGeneratorJS.pm:
* Source/WebCore/crypto/SubtleCrypto.cpp:
* Source/WebCore/crypto/SubtleCrypto.h:
* Source/WebCore/crypto/cocoa/CryptoKeyRSAMac.cpp:
* Source/WebCore/crypto/keys/CryptoAesKeyAlgorithm.idl:
* Source/WebCore/crypto/keys/CryptoEcKeyAlgorithm.idl:
* Source/WebCore/crypto/keys/CryptoHmacKeyAlgorithm.idl:
* Source/WebCore/crypto/keys/CryptoKeyAlgorithm.idl:
* Source/WebCore/crypto/keys/CryptoRsaHashedKeyAlgorithm.idl:
* Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.h:
* Source/WebCore/crypto/keys/CryptoRsaKeyAlgorithm.idl:
* Source/WebCore/crypto/parameters/CryptoAlgorithmAesCbcCfbParams.h:
* Source/WebCore/crypto/parameters/CryptoAlgorithmAesCtrParams.h:
* Source/WebCore/crypto/parameters/CryptoAlgorithmAesGcmParams.h:
* Source/WebCore/crypto/parameters/CryptoAlgorithmHkdfParams.h:
* Source/WebCore/crypto/parameters/CryptoAlgorithmPbkdf2Params.h:
* Source/WebCore/crypto/parameters/CryptoAlgorithmRsaOaepParams.h:
* Source/WebCore/css/FontFace.cpp:
* Source/WebCore/css/FontFace.h:
* Source/WebCore/dom/StartViewTransitionOptions.idl:
* Source/WebCore/fileapi/Blob.cpp:
* Source/WebCore/fileapi/Blob.h:
* Source/WebCore/fileapi/BlobBuilder.cpp:
* Source/WebCore/fileapi/BlobBuilder.h:
* Source/WebCore/fileapi/FileReader.cpp:
* Source/WebCore/fileapi/FileReader.h:
* Source/WebCore/html/ImageDataArray.cpp:
* Source/WebCore/html/ImageDataArray.h:
* Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
* Source/WebCore/inspector/InspectorCanvasArguments.cpp:
* Source/WebCore/inspector/InspectorCanvasArguments.h:
*
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
* Source/WebCore/xml/XMLHttpRequest.cpp:
* Source/WebCore/xml/XMLHttpRequest.h:
* Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
* Source/WebKit/UIProcess/WebAuthentication/Authenticator.cpp:
* Source/WebKit/UIProcess/WebAuthentication/Authenticator.h:
* Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp:
* Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.h:
* Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
* Tools/TestWebKitAPI/Tests/WebCore/CtapRequestTest.cpp:
* Tools/TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
* Tools/TestWebKitAPI/Tests/WebCore/U2fCommandConstructorTest.cpp:
Canonical link: https://commits.webkit.org/307559@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications