haikuwebkit/LayoutTests/webrtc
Youenn Fablet 9883c8b797 Allow to use BigInt as key identifier
https://bugs.webkit.org/show_bug.cgi?id=222165

Reviewed by Darin Adler.

Source/WebCore:

Allow to pass a BigInt as key id so as to use all of SFrame key ID 8 bytes.
A RangeError is thrown if BigInt is more than 64 bits.

Update the implementation to use a Vector instead of a map to keep the keys.
This allows to also use 0 and 2^64-1 values that HashMap reserves for its personal use.

Covered by updated test.

* Modules/mediastream/RTCRtpSFrameTransform.idl:
* Modules/mediastream/RTCRtpSFrameTransformer.cpp:
(WebCore::RTCRtpSFrameTransformer::setEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::updateEncryptionKey):
(WebCore::RTCRtpSFrameTransformer::decryptFrame):
* Modules/mediastream/RTCRtpSFrameTransformer.h:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSRTCRtpSFrameTransformCustom.cpp: Added.
(WebCore::JSRTCRtpSFrameTransform::setEncryptionKey):

LayoutTests:

* webrtc/sframe-keys-expected.txt:
* webrtc/sframe-keys.html:


Canonical link: https://commits.webkit.org/234353@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273158 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-02-19 20:39:40 +00:00
..
datachannel
libwebrtc
addICECandidate-closed-expected.txt
addICECandidate-closed.html
audio-capabilities-expected.txt
audio-capabilities.html
audio-muted-stats-expected.txt
audio-muted-stats.html
audio-peer-connection-g722-expected.txt
audio-peer-connection-g722.html
audio-peer-connection-webaudio-expected.txt
audio-peer-connection-webaudio.html
audio-replace-track-expected.txt
audio-replace-track.html
audio-samplerate-change-expected.txt
audio-samplerate-change.html
audio-sframe-expected.txt
audio-sframe.html
audio-video-element-playing-expected.txt
audio-video-element-playing.html [GPUP] Test webrtc/audio-video-element-playing.html fails when media in GPU Process is enabled 2021-02-18 08:53:05 +00:00
calling-peerconnection-once-closed-expected.txt
calling-peerconnection-once-closed.html
candidate-stats-expected.txt
candidate-stats.html
captureCanvas-webrtc-expected.txt
captureCanvas-webrtc-software-h264-baseline-expected.txt
captureCanvas-webrtc-software-h264-baseline.html
captureCanvas-webrtc-software-h264-high-expected.txt
captureCanvas-webrtc-software-h264-high.html
captureCanvas-webrtc-software-h264.js
captureCanvas-webrtc.html
certificates-indexeddb-expected.txt
certificates-indexeddb.html
clone-audio-track-expected.txt
clone-audio-track.html
closing-peerconnection-expected.txt
closing-peerconnection.html
concurrentVideoPlayback-expected.txt
concurrentVideoPlayback.html
concurrentVideoPlayback2-expected.txt
concurrentVideoPlayback2.html
connection-state-expected.txt
connection-state.html
createOfferAnswer-expected.txt
createOfferAnswer.html
direction-change-expected.txt
direction-change.html
disable-encryption-expected.txt
disable-encryption.html
dmtf-getter-crash-expected.txt
dmtf-getter-crash.html
ephemeral-certificates-and-cnames-expected.txt
ephemeral-certificates-and-cnames.html
filtering-ice-candidate-after-reload-expected.txt
filtering-ice-candidate-after-reload.html
getUserMedia-webaudio-autoplay-expected.txt
getUserMedia-webaudio-autoplay.html
h264-baseline-expected.txt
h264-baseline.html
h264-high-expected.txt
h264-high.html
h264-packetization-mode-expected.txt
h264-packetization-mode.html
h264-profile-tests.js
h265-expected.txt
h265.html
ice-candidate-sdpMLineIndex-expected.txt
ice-candidate-sdpMLineIndex.html
legacy-api-expected.txt
legacy-api.html
missing-exception-checks-RTCPeerConnection-generateCertificate-expected.txt
missing-exception-checks-RTCPeerConnection-generateCertificate.html
msection-recycling-expected.txt
msection-recycling.html
multi-audio-expected.txt
multi-audio.html
multi-video-expected.txt
multi-video.html
negotiatedneeded-event-addStream-expected.txt
negotiatedneeded-event-addStream.html
no-port-zero-in-upd-candidates-expected.txt
no-port-zero-in-upd-candidates.html
onnegotiationneeded-expected.txt
onnegotiationneeded.html
pc-detached-document-expected.txt
pc-detached-document.html
peer-connection-audio-mute-expected.txt
peer-connection-audio-mute.html
peer-connection-audio-mute2-expected.txt
peer-connection-audio-mute2.html
peer-connection-audio-unmute-expected.txt
peer-connection-audio-unmute.html
peer-connection-createMediaStreamDestination-expected.txt
peer-connection-createMediaStreamDestination.html
peer-connection-remote-audio-mute-expected.txt
peer-connection-remote-audio-mute.html
peer-connection-remote-audio-mute2-expected.txt
peer-connection-remote-audio-mute2.html
peer-connection-track-end-expected.txt
peer-connection-track-end.html
peerconnection-new-candidate-page-cache-expected.txt
peerconnection-new-candidate-page-cache.html
peerconnection-page-cache-expected.txt
peerconnection-page-cache-long-expected.txt
peerconnection-page-cache-long.html
peerconnection-page-cache.html
receiver-track-should-stay-live-even-if-receiver-is-inactive-expected.txt
receiver-track-should-stay-live-even-if-receiver-is-inactive.html
release-after-getting-track-expected.txt
release-after-getting-track.html
remoteAudio-never-played-expected.txt
remoteAudio-never-played.html
remove-track-expected.txt
remove-track.html
routines.js
rtcpeerconnection-error-messages-expected.txt
rtcpeerconnection-error-messages.html
script-transform.js
sframe-keys-expected.txt Allow to use BigInt as key identifier 2021-02-19 20:39:40 +00:00
sframe-keys.html Allow to use BigInt as key identifier 2021-02-19 20:39:40 +00:00
simulcast-h264-expected.txt
simulcast-h264.html
stun-server-filtering-expected.txt
stun-server-filtering.html
utf8-sdp-expected.txt
utf8-sdp.html
video-addLegacyTransceiver-expected.txt
video-addTrack-expected.txt
video-addTrack.html
video-addTransceiver-expected.txt
video-addTransceiver.html
video-autoplay-expected.txt
video-autoplay.html
video-autoplay1-expected.txt
video-autoplay1.html
video-autoplay2-expected.txt
video-autoplay2.html
video-autoplay3-expected.txt
video-autoplay3.html
video-autoplay4-expected.txt
video-autoplay4.html
video-disabled-black-expected.txt
video-disabled-black.html
video-expected.txt
video-getParameters-expected.txt
video-getParameters.html
video-h264-expected.txt
video-h264.html
video-interruption-expected.txt
video-interruption.html
video-mediastreamtrack-stats-expected.txt
video-mediastreamtrack-stats.html
video-mute-expected.txt
video-mute-vp8-expected.txt
video-mute-vp8.html
video-mute.html
video-receivers-expected.txt
video-receivers.html
video-remote-mute-expected.txt
video-remote-mute.html
video-replace-muted-track-expected.txt
video-replace-muted-track.html
video-replace-track-expected.txt
video-replace-track-to-null-expected.txt
video-replace-track-to-null.html
video-replace-track.html
video-rotation-expected.txt
video-rotation-no-cvo-expected.txt
video-rotation-no-cvo.html
video-rotation.html
video-setDirection-expected.txt
video-setDirection.html
video-sframe-expected.txt
video-sframe.html
video-stats-expected.txt
video-stats.html
video-unmute-expected.txt
video-unmute.html
video-update-often-expected.txt
video-update-often.html
video-with-data-channel-expected.txt
video-with-data-channel.html
video-with-receiver-expected.txt
video.html
vp9-expected.txt
vp9-profile2-expected.txt
vp9-profile2.html
vp9-vtb-expected.txt
vp9-vtb.html
vp9.html