Bug 214931

Summary: Calling AudioNode constructors should have identical behavior to using create*() function on BaseAudioContext
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: Web AudioAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: clark_wang, eric.carlson, ews-watchlist, ggaren, glenn, jer.noble, philipj, sergio, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 212611, 214851    
Attachments:
Description Flags
Patch eric.carlson: review+

Description Chris Dumez 2020-07-29 12:38:27 PDT
Calling AudioNode constructors should have identical behavior than using create*() function on BaseAudioContext. Otherwise, this leads to assertion hits like:
https://ews-build.s3-us-west-2.amazonaws.com/macOS-Mojave-Debug-WK1-Tests-EWS/r405354-14671/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output-crash-log.txt

We need to make sure that the AudioContext gets initialized when an AudioNode constructor gets called. We also need to make sure refNode() gets called if necessary.
Comment 1 Chris Dumez 2020-07-29 12:41:47 PDT
Created attachment 405486 [details]
Patch
Comment 2 Eric Carlson 2020-07-29 13:07:37 PDT
Comment on attachment 405486 [details]
Patch

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

> Source/WebCore/ChangeLog:3
> +        Calling AudioNode constructors should have identical behavior than using create*() function on BaseAudioContext

s/identical behavior than using create/identical behavior to using create/

> Source/WebCore/ChangeLog:8
> +        Calling AudioNode constructors should have identical behavior than using create*() function on BaseAudioContext.

Ditto.
Comment 3 Chris Dumez 2020-07-29 13:24:51 PDT
Committed r265052: <https://trac.webkit.org/changeset/265052>
Comment 4 Radar WebKit Bug Importer 2020-07-29 13:25:24 PDT
<rdar://problem/66289207>