Bug 217405 - Add implementation for AudioWorkletGlobalScope.registerProcessor()
Summary: Add implementation for AudioWorkletGlobalScope.registerProcessor()
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Audio (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Chris Dumez
URL:
Keywords: InRadar
Depends on: 217251
Blocks: 217058
  Show dependency treegraph
 
Reported: 2020-10-06 14:03 PDT by Chris Dumez
Modified: 2020-10-06 17:37 PDT (History)
16 users (show)

See Also:


Attachments
Patch (51.90 KB, patch)
2020-10-06 14:25 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (52.54 KB, patch)
2020-10-06 15:51 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (52.50 KB, patch)
2020-10-06 15:53 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (59.12 KB, patch)
2020-10-06 16:12 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff
Patch (59.12 KB, patch)
2020-10-06 16:54 PDT, Chris Dumez
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Dumez 2020-10-06 14:03:18 PDT
Add implementation for AudioWorkletGlobalScope.registerProcessor():
- https://www.w3.org/TR/webaudio/#dom-audioworkletglobalscope-registerprocessor
Comment 1 Chris Dumez 2020-10-06 14:25:15 PDT
Created attachment 410693 [details]
Patch
Comment 2 Geoffrey Garen 2020-10-06 15:21:54 PDT
Comment on attachment 410693 [details]
Patch

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

r=me

> Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp:70
> +    JSC::JSObject* jsConstructor = processorContructor->callbackData()->callback();
> +    auto* globalObject = jsConstructor->globalObject();
> +    auto& vm = globalObject->vm();
> +    auto scope = DECLARE_THROW_SCOPE(vm);

Does an audio worklet always execute on the same non-main thread?
Comment 3 Chris Dumez 2020-10-06 15:22:42 PDT
(In reply to Geoffrey Garen from comment #2)
> Comment on attachment 410693 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=410693&action=review
> 
> r=me
> 
> > Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp:70
> > +    JSC::JSObject* jsConstructor = processorContructor->callbackData()->callback();
> > +    auto* globalObject = jsConstructor->globalObject();
> > +    auto& vm = globalObject->vm();
> > +    auto scope = DECLARE_THROW_SCOPE(vm);
> 
> Does an audio worklet always execute on the same non-main thread?

Yes it does.
Comment 4 Chris Dumez 2020-10-06 15:25:46 PDT
(In reply to Chris Dumez from comment #3)
> (In reply to Geoffrey Garen from comment #2)
> > Comment on attachment 410693 [details]
> > Patch
> > 
> > View in context:
> > https://bugs.webkit.org/attachment.cgi?id=410693&action=review
> > 
> > r=me
> > 
> > > Source/WebCore/Modules/webaudio/AudioWorkletGlobalScope.cpp:70
> > > +    JSC::JSObject* jsConstructor = processorContructor->callbackData()->callback();
> > > +    auto* globalObject = jsConstructor->globalObject();
> > > +    auto& vm = globalObject->vm();
> > > +    auto scope = DECLARE_THROW_SCOPE(vm);
> > 
> > Does an audio worklet always execute on the same non-main thread?
> 
> Yes it does.

Why the question? Would you like me to tighten the assertion to make sure we're always running on the Worklet thread instead of simply checking we're not on the main thread?
Comment 5 Chris Dumez 2020-10-06 15:51:48 PDT
Created attachment 410707 [details]
Patch
Comment 6 Chris Dumez 2020-10-06 15:53:16 PDT
Created attachment 410708 [details]
Patch
Comment 7 Chris Dumez 2020-10-06 16:12:04 PDT
Created attachment 410710 [details]
Patch
Comment 8 EWS 2020-10-06 16:47:35 PDT
ChangeLog entry in LayoutTests/imported/w3c/ChangeLog contains OOPS!.
Comment 9 Chris Dumez 2020-10-06 16:54:04 PDT
Created attachment 410713 [details]
Patch
Comment 10 EWS 2020-10-06 17:36:26 PDT
Committed r268103: <https://trac.webkit.org/changeset/268103>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 410713 [details].
Comment 11 Radar WebKit Bug Importer 2020-10-06 17:37:25 PDT
<rdar://problem/70025532>