WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
247614
Only require a "transient" user activation for Web Audio rendering
https://bugs.webkit.org/show_bug.cgi?id=247614
Summary
Only require a "transient" user activation for Web Audio rendering
David Spura
Reported
2022-11-08 06:09:44 PST
After registering processor to AudioWorklet, its process method does not get called. Please try here:
https://1006044.playcode.io/
Source of the sample:
https://playcode.io/1006044
Mentioned sample works in firefox, chrome and edge.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2022-11-15 06:10:16 PST
<
rdar://problem/102364692
>
Chris Dumez
Comment 2
2022-11-15 13:26:43 PST
Safari has stricter use gesture requirements than other browsers. We don't allow starting rendering without a user gesture. I see the demo asks the user to click a button to start rendering but my bet is that it actually starts the rendering asynchronously after getting the click.
Chris Dumez
Comment 3
2022-11-15 13:29:29 PST
Yes, I mean the click handler calls an async function which does a: ``` await e.audioWorklet.addModule(n), ``` Before it connects the node to the graph. By that time, the user gesture is lost in Safari. I wish we could relax the user gesture requirement a bit (e.g. only require a "recent" gesture) but I usually get push back from our media team when I suggest that.
Chris Dumez
Comment 4
2022-11-15 14:16:08 PST
Pull request:
https://github.com/WebKit/WebKit/pull/6529
EWS
Comment 5
2022-11-15 22:29:15 PST
Committed
256721@main
(7cc4b4216132): <
https://commits.webkit.org/256721@main
> Reviewed commits have been landed. Closing PR #6529 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug