Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0105c62ef91b4f82e7f09f42287bbd445ed65ddc
https://github.com/WebKit/WebKit/commit/0105c62ef91b4f82e7f09f42287bbd445ed65ddc
Author: Chris Dumez <[email protected]>
Date: 2023-06-30 (Fri, 30 Jun 2023)
Changed paths:
M
LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https-expected.txt
M Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp
M Source/WebCore/bindings/js/SerializedScriptValue.cpp
Log Message:
-----------
REGRESSION(264489@main):
wpt/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https.html
https://bugs.webkit.org/show_bug.cgi?id=258209
rdar://110900370
Reviewed by Jer Noble.
The test was passing a blob inside the options passed to the AudioWorklet
processor constructor and expecting a processorerror event to get fired.
The reason for this expectation is that Blobs (as well as all other
non-builtin JS types) are not exposed to AudioWorklet and we thus expect
the deserialization of the Blob to fail for the AudioWorkletGlobalScope.
To address the issue, we now check the deserialized type inside
SerializedScriptValue's CloneDeserializer to make sure the type is
exposed to the current global scope. If it isn't, we fail deserialization.
We now also do proper deserialization error handling inside
AudioWorkletGlobalScope::createProcessor().
*
LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-onerror.https-expected.txt:
* Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp:
(WebCore::AudioWorkletGlobalScope::createProcessor):
* Source/WebCore/bindings/js/SerializedScriptValue.cpp:
(WebCore::isTypeExposedToGlobalObject):
(WebCore::CloneDeserializer::readTerminal):
Canonical link: https://commits.webkit.org/265678@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes