[webkit-reviews] review granted: [Bug 237144] SharedArrayBuffer posted to AudioWorkletProcessor is not actually shared with the main thread : [Attachment 453239] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Feb 25 12:59:17 PST 2022


Darin Adler <darin at apple.com> has granted Chris Dumez <cdumez at apple.com>'s
request for review:
Bug 237144: SharedArrayBuffer posted to AudioWorkletProcessor is not actually
shared with the main thread
https://bugs.webkit.org/show_bug.cgi?id=237144

Attachment 453239: Patch

https://bugs.webkit.org/attachment.cgi?id=453239&action=review




--- Comment #9 from Darin Adler <darin at apple.com> ---
Comment on attachment 453239
  --> https://bugs.webkit.org/attachment.cgi?id=453239
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=453239&action=review

> Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp:94
> -	   serializedOptions = SerializedScriptValue::create(globalObject,
jsOptions, SerializationErrorMode::NonThrowing);
> -	   if (!serializedOptions)
> +	   Vector<RefPtr<MessagePort>> ports;
> +	   auto serializedValue = SerializedScriptValue::create(globalObject,
jsOptions, { }, ports, SerializationContext::WorkerPostMessage);

I’m finding this interface confusing. Could this difference in semantics be
expressed as two differently named functions rather than having both be named
"create"? Why does SerializedScriptValue::create do something so different when
you pass it different arguments, particularly in a case like this where all the
arguments are empty values and empty vectors. Is the key difference
SerializationContext::WorkerPostMessage?


More information about the webkit-reviews mailing list