Changeset 265038 in webkit


Ignore:
Timestamp:
Jul 29, 2020 5:35:54 AM (4 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, reverting r265002.
https://bugs.webkit.org/show_bug.cgi?id=214919

Broke imported/w3c/web-platform-tests/webaudio/the-audio-api
/the-scriptprocessornode-interface/simple-input-output.html

Reverted changeset:

"Added constructor methods to ChannelMergerNode,
ChannelSplitterNode"
https://bugs.webkit.org/show_bug.cgi?id=214851
https://trac.webkit.org/changeset/265002

Location:
trunk
Files:
4 deleted
29 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r265020 r265038  
     12020-07-29  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, reverting r265002.
     4        https://bugs.webkit.org/show_bug.cgi?id=214919
     5
     6        Broke imported/w3c/web-platform-tests/webaudio/the-audio-api
     7        /the-scriptprocessornode-interface/simple-input-output.html
     8
     9        Reverted changeset:
     10
     11        "Added constructor methods to ChannelMergerNode,
     12        ChannelSplitterNode"
     13        https://bugs.webkit.org/show_bug.cgi?id=214851
     14        https://trac.webkit.org/changeset/265002
     15
    1162020-07-28  Oriol Brufau  <obrufau@igalia.com>
    217
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/idlharness.https.window-expected.txt

    r265002 r265038  
    502502FAIL AudioNode interface: new BiquadFilterNode(context) must inherit property "channelInterpretation" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new BiquadFilterNode(context)')"
    503503PASS ChannelMergerNode interface: existence and properties of interface object
    504 PASS ChannelMergerNode interface object length
     504FAIL ChannelMergerNode interface object length assert_equals: wrong value for ChannelMergerNode.length expected 1 but got 0
    505505PASS ChannelMergerNode interface object name
    506506PASS ChannelMergerNode interface: existence and properties of interface prototype object
    507507PASS ChannelMergerNode interface: existence and properties of interface prototype object's "constructor" property
    508508PASS ChannelMergerNode interface: existence and properties of interface prototype object's @@unscopables property
    509 PASS ChannelMergerNode must be primary interface of new ChannelMergerNode(context)
    510 PASS Stringification of new ChannelMergerNode(context)
    511 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "connect(AudioNode, optional unsigned long, optional unsigned long)" with the proper type
    512 PASS AudioNode interface: calling connect(AudioNode, optional unsigned long, optional unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError
    513 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "connect(AudioParam, optional unsigned long)" with the proper type
    514 PASS AudioNode interface: calling connect(AudioParam, optional unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError
    515 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect()" with the proper type
    516 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(unsigned long)" with the proper type
    517 PASS AudioNode interface: calling disconnect(unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError
    518 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioNode)" with the proper type
    519 PASS AudioNode interface: calling disconnect(AudioNode) on new ChannelMergerNode(context) with too few arguments must throw TypeError
    520 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type
    521 PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError
    522 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type
    523 PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError
    524 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioParam)" with the proper type
    525 PASS AudioNode interface: calling disconnect(AudioParam) on new ChannelMergerNode(context) with too few arguments must throw TypeError
    526 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type
    527 PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError
    528 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "context" with the proper type
    529 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "numberOfInputs" with the proper type
    530 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "numberOfOutputs" with the proper type
    531 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "channelCount" with the proper type
    532 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "channelCountMode" with the proper type
    533 PASS AudioNode interface: new ChannelMergerNode(context) must inherit property "channelInterpretation" with the proper type
     509FAIL ChannelMergerNode must be primary interface of new ChannelMergerNode(context) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     510FAIL Stringification of new ChannelMergerNode(context) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     511FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "connect(AudioNode, optional unsigned long, optional unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     512FAIL AudioNode interface: calling connect(AudioNode, optional unsigned long, optional unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     513FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "connect(AudioParam, optional unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     514FAIL AudioNode interface: calling connect(AudioParam, optional unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     515FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     516FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     517FAIL AudioNode interface: calling disconnect(unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     518FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioNode)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     519FAIL AudioNode interface: calling disconnect(AudioNode) on new ChannelMergerNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     520FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     521FAIL AudioNode interface: calling disconnect(AudioNode, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     522FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     523FAIL AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     524FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioParam)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     525FAIL AudioNode interface: calling disconnect(AudioParam) on new ChannelMergerNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     526FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     527FAIL AudioNode interface: calling disconnect(AudioParam, unsigned long) on new ChannelMergerNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     528FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "context" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     529FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "numberOfInputs" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     530FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "numberOfOutputs" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     531FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "channelCount" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     532FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "channelCountMode" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
     533FAIL AudioNode interface: new ChannelMergerNode(context) must inherit property "channelInterpretation" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context)')"
    534534PASS ChannelSplitterNode interface: existence and properties of interface object
    535 PASS ChannelSplitterNode interface object length
     535FAIL ChannelSplitterNode interface object length assert_equals: wrong value for ChannelSplitterNode.length expected 1 but got 0
    536536PASS ChannelSplitterNode interface object name
    537537PASS ChannelSplitterNode interface: existence and properties of interface prototype object
    538538PASS ChannelSplitterNode interface: existence and properties of interface prototype object's "constructor" property
    539539PASS ChannelSplitterNode interface: existence and properties of interface prototype object's @@unscopables property
    540 PASS ChannelSplitterNode must be primary interface of new ChannelSplitterNode(context)
    541 PASS Stringification of new ChannelSplitterNode(context)
    542 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "connect(AudioNode, optional unsigned long, optional unsigned long)" with the proper type
    543 PASS AudioNode interface: calling connect(AudioNode, optional unsigned long, optional unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError
    544 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "connect(AudioParam, optional unsigned long)" with the proper type
    545 PASS AudioNode interface: calling connect(AudioParam, optional unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError
    546 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect()" with the proper type
    547 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(unsigned long)" with the proper type
    548 PASS AudioNode interface: calling disconnect(unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError
    549 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioNode)" with the proper type
    550 PASS AudioNode interface: calling disconnect(AudioNode) on new ChannelSplitterNode(context) with too few arguments must throw TypeError
    551 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type
    552 PASS AudioNode interface: calling disconnect(AudioNode, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError
    553 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type
    554 PASS AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError
    555 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioParam)" with the proper type
    556 PASS AudioNode interface: calling disconnect(AudioParam) on new ChannelSplitterNode(context) with too few arguments must throw TypeError
    557 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type
    558 PASS AudioNode interface: calling disconnect(AudioParam, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError
    559 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "context" with the proper type
    560 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "numberOfInputs" with the proper type
    561 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "numberOfOutputs" with the proper type
    562 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "channelCount" with the proper type
    563 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "channelCountMode" with the proper type
    564 PASS AudioNode interface: new ChannelSplitterNode(context) must inherit property "channelInterpretation" with the proper type
     540FAIL ChannelSplitterNode must be primary interface of new ChannelSplitterNode(context) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     541FAIL Stringification of new ChannelSplitterNode(context) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     542FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "connect(AudioNode, optional unsigned long, optional unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     543FAIL AudioNode interface: calling connect(AudioNode, optional unsigned long, optional unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     544FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "connect(AudioParam, optional unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     545FAIL AudioNode interface: calling connect(AudioParam, optional unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     546FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect()" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     547FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     548FAIL AudioNode interface: calling disconnect(unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     549FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioNode)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     550FAIL AudioNode interface: calling disconnect(AudioNode) on new ChannelSplitterNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     551FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioNode, unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     552FAIL AudioNode interface: calling disconnect(AudioNode, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     553FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioNode, unsigned long, unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     554FAIL AudioNode interface: calling disconnect(AudioNode, unsigned long, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     555FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioParam)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     556FAIL AudioNode interface: calling disconnect(AudioParam) on new ChannelSplitterNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     557FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "disconnect(AudioParam, unsigned long)" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     558FAIL AudioNode interface: calling disconnect(AudioParam, unsigned long) on new ChannelSplitterNode(context) with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     559FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "context" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     560FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "numberOfInputs" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     561FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "numberOfOutputs" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     562FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "channelCount" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     563FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "channelCountMode" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
     564FAIL AudioNode interface: new ChannelSplitterNode(context) must inherit property "channelInterpretation" with the proper type assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context)')"
    565565FAIL ConstantSourceNode interface: existence and properties of interface object assert_own_property: self does not have own property "ConstantSourceNode" expected property "ConstantSourceNode" missing
    566566FAIL ConstantSourceNode interface object length assert_own_property: self does not have own property "ConstantSourceNode" expected property "ConstantSourceNode" missing
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/buffer-resampling-expected.txt

    r265002 r265038  
    11
    22PASS # AUDIT TASK RUNNER STARTED.
    3 FAIL Executing "interpolate" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering()
    4                 .then')"
     3FAIL Executing "interpolate" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     4                context, {numberOfChannels: context.destination.channelCount})')"
    55PASS Audit report
    66PASS > [interpolate] Interpolation of AudioBuffers to context sample rate
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/sub-sample-buffer-stitching-expected.txt

    r265002 r265038  
    11
    22PASS # AUDIT TASK RUNNER STARTED.
    3 FAIL Executing "buffer-stitching-1" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'testBufferStitching(sampleRate, bufferRate, bufferLength)
    4                 .then')"
    5 FAIL Executing "buffer-stitching-2" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'testBufferStitching(sampleRate, bufferRate, bufferLength)
    6                 .then')"
     3FAIL Executing "buffer-stitching-1" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     4            context, {numberOfInputs: context.destination.channelCount})')"
     5FAIL Executing "buffer-stitching-2" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     6            context, {numberOfInputs: context.destination.channelCount})')"
    77PASS Audit report
    88PASS > [buffer-stitching-1] Subsample buffer stitching, same rates
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt

    r265002 r265038  
    11
    22PASS # AUDIT TASK RUNNER STARTED.
    3 FAIL Executing "attack" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'refNode[paramName]')"
    4 FAIL Executing "knee" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'refNode[paramName]')"
    5 FAIL Executing "ratio" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'refNode[paramName]')"
    6 FAIL Executing "release" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'refNode[paramName]')"
    7 FAIL Executing "threshold" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'refNode[paramName]')"
     3FAIL Executing "attack" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     4            context, {numberOfInputs: context.destination.channelCount})')"
     5FAIL Executing "knee" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     6            context, {numberOfInputs: context.destination.channelCount})')"
     7FAIL Executing "ratio" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     8            context, {numberOfInputs: context.destination.channelCount})')"
     9FAIL Executing "release" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     10            context, {numberOfInputs: context.destination.channelCount})')"
     11FAIL Executing "threshold" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     12            context, {numberOfInputs: context.destination.channelCount})')"
    813PASS Audit report
    914PASS > [attack] Dynamics compressor attack
    10 FAIL X attack: refNode = new DynamicsCompressorNode(context) incorrectly threw TypeError: "function is not a constructor (evaluating 'new DynamicsCompressorNode(context)')". assert_true: expected true got false
    1115PASS > [knee] Dynamics compressor knee
    12 FAIL X knee: refNode = new DynamicsCompressorNode(context) incorrectly threw TypeError: "function is not a constructor (evaluating 'new DynamicsCompressorNode(context)')". assert_true: expected true got false
    1316PASS > [ratio] Dynamics compressor ratio
    14 FAIL X ratio: refNode = new DynamicsCompressorNode(context) incorrectly threw TypeError: "function is not a constructor (evaluating 'new DynamicsCompressorNode(context)')". assert_true: expected true got false
    1517PASS > [release] Dynamics compressor release
    16 FAIL X release: refNode = new DynamicsCompressorNode(context) incorrectly threw TypeError: "function is not a constructor (evaluating 'new DynamicsCompressorNode(context)')". assert_true: expected true got false
    1718PASS > [threshold] Dynamics compressor threshold
    18 FAIL X threshold: refNode = new DynamicsCompressorNode(context) incorrectly threw TypeError: "function is not a constructor (evaluating 'new DynamicsCompressorNode(context)')". assert_true: expected true got false
    19 FAIL # AUDIT TASK RUNNER FINISHED: 5 out of 5 tasks were failed. assert_true: expected true got false
     19PASS # AUDIT TASK RUNNER FINISHED: 5 tasks ran successfully.
    2020
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/simple-input-output.https-expected.txt

    r265002 r265038  
    22PASS # AUDIT TASK RUNNER STARTED.
    33FAIL Executing "Initialize worklet" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.audioWorklet.addModule')"
    4 FAIL Executing "test" promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: AudioWorkletNode"
     4FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     5                context, {numberOfChannels: context.destination.channelCount})')"
    56PASS Audit report
    67PASS > [Initialize worklet] 
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/active-processing.https-expected.txt

    r265002 r265038  
    22PASS # AUDIT TASK RUNNER STARTED.
    33FAIL Executing "initialize" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.audioWorklet.addModule')"
    4 FAIL Executing "test" promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: AudioWorkletNode"
     4FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(context, {numberOfInputs: numberOfInputs})')"
    55PASS Audit report
    66PASS > [initialize] 
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/audiochannelmerger-basic-expected.txt

    r265002 r265038  
    66PASS > [exceptions-channels] 
    77PASS   context.createChannelMerger() did not throw an exception.
    8 PASS   context.createChannelMerger(0) threw IndexSizeError: "Number of inputs is not in the allowed range.".
     8PASS   context.createChannelMerger(0) threw IndexSizeError: "The index is not in the allowed range.".
    99PASS   context.createChannelMerger(32) did not throw an exception.
    10 PASS   context.createChannelMerger(33) threw IndexSizeError: "Number of inputs is not in the allowed range.".
     10PASS   context.createChannelMerger(33) threw IndexSizeError: "The index is not in the allowed range.".
    1111PASS < [exceptions-channels] All assertions passed. (total 4 assertions)
    1212PASS > [exceptions-properties] 
    13 PASS   merger.channelCount is equal to 1.
    14 PASS   merger.channelCount = 3 threw InvalidStateError: "Channel count cannot be changed from 1.".
    15 PASS   merger.channelCountMode is equal to explicit.
    16 PASS   merger.channelCountMode = "max" threw InvalidStateError: "Channel count mode cannot be changed from explicit.".
    17 PASS < [exceptions-properties] All assertions passed. (total 4 assertions)
    18 PASS # AUDIT TASK RUNNER FINISHED: 2 tasks ran successfully.
     13FAIL X merger.channelCount is not equal to 1. Got 2. assert_true: expected true got false
     14FAIL X merger.channelCount = 3 did not throw an exception. assert_true: expected true got false
     15FAIL X merger.channelCountMode is not equal to explicit. Got max. assert_true: expected true got false
     16FAIL X merger.channelCountMode = "max" did not throw an exception. assert_true: expected true got false
     17FAIL < [exceptions-properties] 4 out of 4 assertions were failed. assert_true: expected true got false
     18FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 2 tasks were failed. assert_true: expected true got false
    1919
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelmergernode-interface/ctor-channelmerger-expected.txt

    r265002 r265038  
    33PASS Executing "initialize"
    44PASS Executing "invalid constructor"
    5 PASS Executing "default constructor"
    6 PASS Executing "test AudioNodeOptions"
    7 PASS Executing "constructor options"
     5FAIL Executing "default constructor" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'node.numberOfInputs')"
     6FAIL Executing "test AudioNodeOptions" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'node.channelCount')"
     7FAIL Executing "constructor options" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'node.numberOfInputs')"
    88PASS Audit report
    99PASS > [initialize] 
     
    1111PASS < [initialize] All assertions passed. (total 1 assertions)
    1212PASS > [invalid constructor] 
    13 PASS   new ChannelMergerNode() threw TypeError: "Not enough arguments".
    14 PASS   new ChannelMergerNode(1) threw TypeError: "Argument 1 ('context') to the ChannelMergerNode constructor must be an instance of BaseAudioContext".
    15 PASS   new ChannelMergerNode(context, 42) threw TypeError: "Type error".
     13PASS   new ChannelMergerNode() threw TypeError: "function is not a constructor (evaluating 'new window[name]()')".
     14PASS   new ChannelMergerNode(1) threw TypeError: "function is not a constructor (evaluating 'new window[name](1)')".
     15PASS   new ChannelMergerNode(context, 42) threw TypeError: "function is not a constructor (evaluating 'new window[name](context, 42)')".
    1616PASS < [invalid constructor] All assertions passed. (total 3 assertions)
    1717PASS > [default constructor] 
    18 PASS   node0 = new ChannelMergerNode(context) did not throw an exception.
    19 PASS   node0 instanceof ChannelMergerNode is equal to true.
    20 PASS   node0.numberOfInputs is equal to 6.
    21 PASS   node0.numberOfOutputs is equal to 1.
    22 PASS   node0.channelCount is equal to 1.
    23 PASS   node0.channelCountMode is equal to explicit.
    24 PASS   node0.channelInterpretation is equal to speakers.
    25 PASS < [default constructor] All assertions passed. (total 7 assertions)
     18FAIL X node0 = new ChannelMergerNode(context) incorrectly threw TypeError: "function is not a constructor (evaluating 'new window[name](context, options.constructorOptions)')". assert_true: expected true got false
     19FAIL X node0 instanceof ChannelMergerNode is not equal to true. Got false. assert_true: expected true got false
    2620PASS > [test AudioNodeOptions] 
    27 PASS   new ChannelMergerNode(c, {channelCount: 1}) did not throw an exception.
    28 PASS   node.channelCount is equal to 1.
    29 PASS   new ChannelMergerNode(c, {channelCount: 2}) threw InvalidStateError: "Channel count cannot be changed from 1.".
    30 PASS   (new ChannelMergerNode(c, {channelCount: 1})).channelCount = 1 did not throw an exception.
    31 PASS   new ChannelMergerNode(c, {channelCountMode: "explicit"} did not throw an exception.
    32 PASS   node.channelCountMode is equal to explicit.
    33 PASS   new ChannelMergerNode(c, {channelCountMode: "max"}) threw InvalidStateError: "Channel count mode cannot be changed from explicit.".
    34 PASS   new ChannelMergerNode(c, {channelCountMode: "clamped-max"}) threw InvalidStateError: "Channel count mode cannot be changed from explicit.".
    35 PASS   (new ChannelMergerNode(c, {channelCountMode: "explicit"})).channelCountMode = "explicit" did not throw an exception.
    36 PASS   new ChannelMergerNode(c, {channelInterpretation: "speakers"}) did not throw an exception.
    37 PASS   node.channelInterpretation is equal to speakers.
    38 PASS   new ChannelMergerNode(c, {channelInterpretation: "discrete"}) did not throw an exception.
    39 PASS   node.channelInterpretation is equal to discrete.
    40 PASS   new ChannelMergerNode(c, {channelInterpretation: "foobar"}) threw TypeError: "Type error".
    41 PASS   node.channelInterpretation after invalid setter is equal to discrete.
    42 PASS < [test AudioNodeOptions] All assertions passed. (total 15 assertions)
     21FAIL X new ChannelMergerNode(c, {channelCount: 1}) incorrectly threw TypeError: "function is not a constructor (evaluating 'new window[nodeName]')". assert_true: expected true got false
    4322PASS > [constructor options] 
    44 PASS   node1 = new ChannelMergerNode(context, {"numberOfInputs":3,"numberOfOutputs":9,"channelInterpretation":"discrete"}) did not throw an exception.
    45 PASS   node1.numberOfInputs is equal to 3.
    46 PASS   node1.numberOfOutputs is equal to 1.
    47 PASS   node1.channelInterpretation is equal to discrete.
    48 PASS   new ChannelMergerNode(c, {"numberOfInputs":99}) threw IndexSizeError: "Number of inputs is not in the allowed range.".
    49 PASS   new ChannelMergerNode(c, {"channelCount":3}) threw InvalidStateError: "Channel count cannot be changed from 1.".
    50 PASS   new ChannelMergerNode(c, {"channelCountMode":"max"}) threw InvalidStateError: "Channel count mode cannot be changed from explicit.".
    51 PASS < [constructor options] All assertions passed. (total 7 assertions)
    52 PASS # AUDIT TASK RUNNER FINISHED: 5 tasks ran successfully.
     23FAIL X node1 = new ChannelMergerNode(context, {"numberOfInputs":3,"numberOfOutputs":9,"channelInterpretation":"discrete"}) incorrectly threw TypeError: "function is not a constructor (evaluating 'new ChannelMergerNode(context, options)')". assert_true: expected true got false
     24FAIL # AUDIT TASK RUNNER FINISHED: 3 out of 5 tasks were failed. assert_true: expected true got false
    5325
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/audiochannelsplitter-expected.txt

    r265002 r265038  
    66PASS Audit report
    77PASS > [construction] Construction of ChannelSplitterNode
    8 PASS   createChannelSplitter(0) threw IndexSizeError: "Number of outputs is not in the allowed range".
    9 PASS   createChannelSplitter(33) threw IndexSizeError: "Number of outputs is not in the allowed range".
     8PASS   createChannelSplitter(0) threw IndexSizeError: "The index is not in the allowed range.".
     9PASS   createChannelSplitter(33) threw IndexSizeError: "The index is not in the allowed range.".
    1010PASS   splitternode = context.createChannelSplitter(32) did not throw an exception.
    1111PASS   splitternode.numberOfOutputs is equal to 32.
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-channelsplitternode-interface/ctor-channelsplitter-expected.txt

    r265002 r265038  
    33PASS Executing "initialize"
    44PASS Executing "invalid constructor"
    5 PASS Executing "default constructor"
    6 PASS Executing "test AudioNodeOptions"
    7 PASS Executing "constructor options"
     5FAIL Executing "default constructor" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'node.numberOfInputs')"
     6FAIL Executing "test AudioNodeOptions" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'node.channelCount')"
     7FAIL Executing "constructor options" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'node.numberOfInputs')"
    88PASS Audit report
    99PASS > [initialize] 
     
    1111PASS < [initialize] All assertions passed. (total 1 assertions)
    1212PASS > [invalid constructor] 
    13 PASS   new ChannelSplitterNode() threw TypeError: "Not enough arguments".
    14 PASS   new ChannelSplitterNode(1) threw TypeError: "Argument 1 ('context') to the ChannelSplitterNode constructor must be an instance of BaseAudioContext".
    15 PASS   new ChannelSplitterNode(context, 42) threw TypeError: "Type error".
     13PASS   new ChannelSplitterNode() threw TypeError: "function is not a constructor (evaluating 'new window[name]()')".
     14PASS   new ChannelSplitterNode(1) threw TypeError: "function is not a constructor (evaluating 'new window[name](1)')".
     15PASS   new ChannelSplitterNode(context, 42) threw TypeError: "function is not a constructor (evaluating 'new window[name](context, 42)')".
    1616PASS < [invalid constructor] All assertions passed. (total 3 assertions)
    1717PASS > [default constructor] 
    18 PASS   node0 = new ChannelSplitterNode(context) did not throw an exception.
    19 PASS   node0 instanceof ChannelSplitterNode is equal to true.
    20 PASS   node0.numberOfInputs is equal to 1.
    21 PASS   node0.numberOfOutputs is equal to 6.
    22 PASS   node0.channelCount is equal to 6.
    23 PASS   node0.channelCountMode is equal to explicit.
    24 PASS   node0.channelInterpretation is equal to discrete.
    25 PASS < [default constructor] All assertions passed. (total 7 assertions)
     18FAIL X node0 = new ChannelSplitterNode(context) incorrectly threw TypeError: "function is not a constructor (evaluating 'new window[name](context, options.constructorOptions)')". assert_true: expected true got false
     19FAIL X node0 instanceof ChannelSplitterNode is not equal to true. Got false. assert_true: expected true got false
    2620PASS > [test AudioNodeOptions] 
    27 PASS   new ChannelSplitterNode(c, {channelCount: 6}) did not throw an exception.
    28 PASS   node.channelCount is equal to 6.
    29 PASS   new ChannelSplitterNode(c, {channelCount: 7}) threw IndexSizeError: "Channel count must be set to number of outputs.".
    30 PASS   (new ChannelSplitterNode(c, {channelCount: 6})).channelCount = 6 did not throw an exception.
    31 PASS   new ChannelSplitterNode(c, {channelCountMode: "explicit"} did not throw an exception.
    32 PASS   node.channelCountMode is equal to explicit.
    33 PASS   new ChannelSplitterNode(c, {channelCountMode: "max"}) threw InvalidStateError: "Channel count mode cannot be changed from explicit.".
    34 PASS   new ChannelSplitterNode(c, {channelCountMode: "clamped-max"}) threw InvalidStateError: "Channel count mode cannot be changed from explicit.".
    35 PASS   (new ChannelSplitterNode(c, {channelCountMode: "explicit"})).channelCountMode = "explicit" did not throw an exception.
    36 PASS   new ChannelSplitterNode(c, {channelInterpretation: "speakers"}) threw InvalidStateError: "Channel interpretation cannot be changed from discrete.".
    37 PASS   (new ChannelSplitterNode(c, {channelInterpretation: "discrete"})).channelInterpretation = "discrete" did not throw an exception.
    38 PASS < [test AudioNodeOptions] All assertions passed. (total 11 assertions)
     21FAIL X new ChannelSplitterNode(c, {channelCount: 6}) incorrectly threw TypeError: "function is not a constructor (evaluating 'new window[nodeName]')". assert_true: expected true got false
    3922PASS > [constructor options] 
    40 PASS   node1 = new ChannelSplitterNode(context, {"numberOfInputs":3,"numberOfOutputs":9,"channelInterpretation":"discrete"}) did not throw an exception.
    41 PASS   node1.numberOfInputs is equal to 1.
    42 PASS   node1.numberOfOutputs is equal to 9.
    43 PASS   node1.channelInterpretation is equal to discrete.
    44 PASS   new ChannelSplitterNode(c, {"numberOfOutputs":99}) threw IndexSizeError: "Number of outputs is not in the allowed range".
    45 PASS   new ChannelSplitterNode(c, {"channelCount":3}) threw IndexSizeError: "Channel count must be set to number of outputs.".
    46 PASS   new ChannelSplitterNode(c, {"channelCountMode":"max"}) threw InvalidStateError: "Channel count mode cannot be changed from explicit.".
    47 PASS < [constructor options] All assertions passed. (total 7 assertions)
    48 PASS # AUDIT TASK RUNNER FINISHED: 5 tasks ran successfully.
     23FAIL X node1 = new ChannelSplitterNode(context, {"numberOfInputs":3,"numberOfOutputs":9,"channelInterpretation":"discrete"}) incorrectly threw TypeError: "function is not a constructor (evaluating 'new ChannelSplitterNode(context, options)')". assert_true: expected true got false
     24FAIL # AUDIT TASK RUNNER FINISHED: 3 out of 5 tasks were failed. assert_true: expected true got false
    4925
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt

    r265002 r265038  
    11
    22PASS # AUDIT TASK RUNNER STARTED.
    3 FAIL Executing "detune limits" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering()
    4                 .then')"
     3FAIL Executing "detune limits" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     4                context, {numberOfInputs: context.destination.channelCount})')"
    55FAIL Executing "detune automation" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering()
    66                .then')"
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-distance-clamping-expected.txt

    r265002 r265038  
    33PASS Executing "ref-distance-error"
    44PASS Executing "max-distance-error"
    5 FAIL Executing "min-distance" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')"
    6 FAIL Executing "max-distance" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering().then')"
     5FAIL Executing "min-distance" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context, {numberOfOutputs: 2})')"
     6FAIL Executing "max-distance" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelSplitterNode(context, {numberOfOutputs: 2})')"
    77PASS Audit report
    88PASS > [ref-distance-error] 
  • trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output-expected.txt

    r265002 r265038  
    11
    22PASS # AUDIT TASK RUNNER STARTED.
    3 FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: undefined is not an object (evaluating 'context.startRendering()
    4                 .then')"
     3FAIL Executing "test" promise_test: Unhandled rejection with value: object "TypeError: function is not a constructor (evaluating 'new ChannelMergerNode(
     4                context, {numberOfChannels: context.destination.channelCount})')"
    55PASS Audit report
    66PASS > [test] ScriptProcessor with stopped input source
  • trunk/Source/WebCore/CMakeLists.txt

    r265028 r265038  
    466466    Modules/webaudio/ChannelInterpretation.idl
    467467    Modules/webaudio/ChannelMergerNode.idl
    468     Modules/webaudio/ChannelMergerOptions.idl
    469468    Modules/webaudio/ChannelSplitterNode.idl
    470     Modules/webaudio/ChannelSplitterOptions.idl
    471469    Modules/webaudio/ConvolverNode.idl
    472470    Modules/webaudio/DelayNode.idl
  • trunk/Source/WebCore/ChangeLog

    r265031 r265038  
     12020-07-29  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, reverting r265002.
     4        https://bugs.webkit.org/show_bug.cgi?id=214919
     5
     6        Broke imported/w3c/web-platform-tests/webaudio/the-audio-api
     7        /the-scriptprocessornode-interface/simple-input-output.html
     8
     9        Reverted changeset:
     10
     11        "Added constructor methods to ChannelMergerNode,
     12        ChannelSplitterNode"
     13        https://bugs.webkit.org/show_bug.cgi?id=214851
     14        https://trac.webkit.org/changeset/265002
     15
    1162020-07-28  Fujii Hironori  <Hironori.Fujii@sony.com>
    217
  • trunk/Source/WebCore/DerivedSources-input.xcfilelist

    r265028 r265038  
    315315$(PROJECT_DIR)/Modules/webaudio/ChannelInterpretation.idl
    316316$(PROJECT_DIR)/Modules/webaudio/ChannelMergerNode.idl
    317 $(PROJECT_DIR)/Modules/webaudio/ChannelMergerOptions.idl
    318317$(PROJECT_DIR)/Modules/webaudio/ChannelSplitterNode.idl
    319 $(PROJECT_DIR)/Modules/webaudio/ChannelSplitterOptions.idl
    320318$(PROJECT_DIR)/Modules/webaudio/ConvolverNode.idl
    321319$(PROJECT_DIR)/Modules/webaudio/DelayNode.idl
  • trunk/Source/WebCore/DerivedSources-output.xcfilelist

    r265028 r265038  
    314314$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSChannelMergerNode.cpp
    315315$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSChannelMergerNode.h
    316 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSChannelMergerOptions.cpp
    317 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSChannelMergerOptions.h
    318316$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSChannelSplitterNode.cpp
    319317$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSChannelSplitterNode.h
    320 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSChannelSplitterOptions.cpp
    321 $(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSChannelSplitterOptions.h
    322318$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSCharacterData.cpp
    323319$(BUILT_PRODUCTS_DIR)/DerivedSources/WebCore/JSCharacterData.h
  • trunk/Source/WebCore/DerivedSources.make

    r265028 r265038  
    398398    $(WebCore)/Modules/webaudio/ChannelInterpretation.idl \
    399399    $(WebCore)/Modules/webaudio/ChannelMergerNode.idl \
    400     $(WebCore)/Modules/webaudio/ChannelMergerOptions.idl \
    401400    $(WebCore)/Modules/webaudio/ChannelSplitterNode.idl \
    402         $(WebCore)/Modules/webaudio/ChannelSplitterOptions.idl \
    403401    $(WebCore)/Modules/webaudio/ConvolverNode.idl \
    404402    $(WebCore)/Modules/webaudio/DelayNode.idl \
  • trunk/Source/WebCore/Modules/webaudio/AudioNode.h

    r265002 r265038  
    181181
    182182    ChannelInterpretation channelInterpretation() const { return m_channelInterpretation; }
    183     virtual ExceptionOr<void> setChannelInterpretation(ChannelInterpretation);
     183    ExceptionOr<void> setChannelInterpretation(ChannelInterpretation);
    184184
    185185protected:
  • trunk/Source/WebCore/Modules/webaudio/BaseAudioContext.cpp

    r265002 r265038  
    4141#include "BiquadFilterNode.h"
    4242#include "ChannelMergerNode.h"
    43 #include "ChannelMergerOptions.h"
    4443#include "ChannelSplitterNode.h"
    45 #include "ChannelSplitterOptions.h"
    4644#include "ConvolverNode.h"
    4745#include "DefaultAudioDestinationNode.h"
     
    597595
    598596    lazyInitialize();
    599     ChannelSplitterOptions options;
    600     options.numberOfOutputs = numberOfOutputs;
    601     return ChannelSplitterNode::create(*this, options);
     597    auto node = ChannelSplitterNode::create(*this, sampleRate(), numberOfOutputs);
     598    if (!node)
     599        return Exception { IndexSizeError };
     600    return node.releaseNonNull();
    602601}
    603602
     
    611610
    612611    lazyInitialize();
    613     ChannelMergerOptions options;
    614     options.numberOfInputs = numberOfInputs;
    615     return ChannelMergerNode::create(*this, options);
     612    auto node = ChannelMergerNode::create(*this, sampleRate(), numberOfInputs);
     613    if (!node)
     614        return Exception { IndexSizeError };
     615    return node.releaseNonNull();
    616616}
    617617
  • trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.cpp

    r265002 r265038  
    4444WTF_MAKE_ISO_ALLOCATED_IMPL(ChannelMergerNode);
    4545
    46 ExceptionOr<Ref<ChannelMergerNode>> ChannelMergerNode::create(BaseAudioContext& context, const ChannelMergerOptions& options)
     46RefPtr<ChannelMergerNode> ChannelMergerNode::create(BaseAudioContext& context, float sampleRate, unsigned numberOfInputs)
    4747{
    48     if (options.numberOfInputs > AudioContext::maxNumberOfChannels() || !options.numberOfInputs)
    49         return Exception { IndexSizeError, "Number of inputs is not in the allowed range."_s };
     48    if (!numberOfInputs || numberOfInputs > AudioContext::maxNumberOfChannels())
     49        return nullptr;
    5050   
    51     auto merger = adoptRef(*new ChannelMergerNode(context, context.sampleRate(), options.numberOfInputs));
    52    
    53     auto result = merger->setChannelCount(options.channelCount.valueOr(1));
    54     if (result.hasException())
    55         return result.releaseException();
    56    
    57     result = merger->setChannelCountMode(options.channelCountMode.valueOr(ChannelCountMode::Explicit));
    58     if (result.hasException())
    59         return result.releaseException();
    60    
    61     result = merger->setChannelInterpretation(options.channelInterpretation.valueOr(ChannelInterpretation::Speakers));
    62     if (result.hasException())
    63         return result.releaseException();
    64    
    65     return merger;
     51    return adoptRef(*new ChannelMergerNode(context, sampleRate, numberOfInputs));     
    6652}
    6753
     
    144130}
    145131
    146 ExceptionOr<void> ChannelMergerNode::setChannelCount(unsigned channelCount)
    147 {
    148     if (channelCount != 1)
    149         return Exception { InvalidStateError, "Channel count cannot be changed from 1."_s };
    150    
    151     return AudioNode::setChannelCount(channelCount);
    152 }
    153 
    154 ExceptionOr<void> ChannelMergerNode::setChannelCountMode(ChannelCountMode mode)
    155 {
    156     if (mode != ChannelCountMode::Explicit)
    157         return Exception { InvalidStateError, "Channel count mode cannot be changed from explicit."_s };
    158    
    159     return AudioNode::setChannelCountMode(mode);
    160 }
    161 
    162132} // namespace WebCore
    163133
  • trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.h

    r265002 r265038  
    3030
    3131#include "AudioNode.h"
    32 #include "ChannelMergerOptions.h"
    3332
    3433namespace WebCore {
     
    3938    WTF_MAKE_ISO_ALLOCATED(ChannelMergerNode);
    4039public:
    41     static ExceptionOr<Ref<ChannelMergerNode>> create(BaseAudioContext&, const ChannelMergerOptions& = { });
    42    
     40    static RefPtr<ChannelMergerNode> create(BaseAudioContext&, float sampleRate, unsigned numberOfInputs);
     41
    4342    // AudioNode
    4443    void process(size_t framesToProcess) override;
     
    4746    // Called in the audio thread (pre-rendering task) when the number of channels for an input may have changed.
    4847    void checkNumberOfChannelsForInput(AudioNodeInput*) override;
    49    
    50     ExceptionOr<void> setChannelCount(unsigned) final;
    51     ExceptionOr<void> setChannelCountMode(ChannelCountMode) final;
    52    
     48
    5349private:
    5450    unsigned m_desiredNumberOfOutputChannels;
  • trunk/Source/WebCore/Modules/webaudio/ChannelMergerNode.idl

    r265002 r265038  
    3131    JSGenerateToJSObject
    3232] interface ChannelMergerNode : AudioNode {
    33     [MayThrowException, EnabledBySetting=ModernUnprefixedWebAudio] constructor (BaseAudioContext context, optional ChannelMergerOptions options);
    3433};
  • trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.cpp

    r265002 r265038  
    3737
    3838WTF_MAKE_ISO_ALLOCATED_IMPL(ChannelSplitterNode);
     39   
     40RefPtr<ChannelSplitterNode> ChannelSplitterNode::create(BaseAudioContext& context, float sampleRate, unsigned numberOfOutputs)
     41{
     42    if (!numberOfOutputs || numberOfOutputs > AudioContext::maxNumberOfChannels())
     43        return nullptr;
    3944
    40 ExceptionOr<Ref<ChannelSplitterNode>> ChannelSplitterNode::create(BaseAudioContext& context, const ChannelSplitterOptions& options)
    41 {
    42     if (options.numberOfOutputs > AudioContext::maxNumberOfChannels() || !options.numberOfOutputs)
    43         return Exception { IndexSizeError, "Number of outputs is not in the allowed range"_s };
    44    
    45     auto splitter = adoptRef(*new ChannelSplitterNode(context, context.sampleRate(), options.numberOfOutputs));
    46    
    47     auto result = splitter->setChannelCount(options.channelCount.valueOr(options.numberOfOutputs));
    48     if (result.hasException())
    49         return result.releaseException();
    50    
    51     result = splitter->setChannelCountMode(options.channelCountMode.valueOr(ChannelCountMode::Explicit));
    52     if (result.hasException())
    53         return result.releaseException();
    54    
    55     result = splitter->setChannelInterpretation(options.channelInterpretation.valueOr(ChannelInterpretation::Discrete));
    56     if (result.hasException())
    57         return result.releaseException();
    58    
    59     return splitter;
     45    return adoptRef(*new ChannelSplitterNode(context, sampleRate, numberOfOutputs));     
    6046}
    6147
     
    10187}
    10288
    103 ExceptionOr<void> ChannelSplitterNode::setChannelCount(unsigned channelCount)
    104 {
    105     if (channelCount != numberOfOutputs())
    106         return Exception { IndexSizeError, "Channel count must be set to number of outputs."_s };
    107    
    108     return AudioNode::setChannelCount(channelCount);
    109 }
    110 
    111 ExceptionOr<void> ChannelSplitterNode::setChannelCountMode(ChannelCountMode mode)
    112 {
    113     if (mode != ChannelCountMode::Explicit)
    114         return Exception { InvalidStateError, "Channel count mode cannot be changed from explicit."_s };
    115    
    116     return AudioNode::setChannelCountMode(mode);
    117 }
    118 
    119 ExceptionOr<void> ChannelSplitterNode::setChannelInterpretation(ChannelInterpretation interpretation)
    120 {
    121     if (interpretation != ChannelInterpretation::Discrete)
    122         return Exception { InvalidStateError, "Channel interpretation cannot be changed from discrete."_s };
    123    
    124     return AudioNode::setChannelInterpretation(interpretation);
    125 }
    126 
    12789} // namespace WebCore
    12890
  • trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.h

    r265002 r265038  
    2626
    2727#include "AudioNode.h"
    28 #include "ChannelSplitterOptions.h"
    2928
    3029namespace WebCore {
     
    3534    WTF_MAKE_ISO_ALLOCATED(ChannelSplitterNode);
    3635public:
    37     static ExceptionOr<Ref<ChannelSplitterNode>> create(BaseAudioContext&, const ChannelSplitterOptions& = { });
     36    static RefPtr<ChannelSplitterNode> create(BaseAudioContext&, float sampleRate, unsigned numberOfOutputs);
    3837
    3938    // AudioNode
    4039    void process(size_t framesToProcess) override;
    4140    void reset() override;
    42    
    43     ExceptionOr<void> setChannelCount(unsigned) final;
    44     ExceptionOr<void> setChannelCountMode(ChannelCountMode) final;
    45     ExceptionOr<void> setChannelInterpretation(ChannelInterpretation) final;
    4641
    4742private:
  • trunk/Source/WebCore/Modules/webaudio/ChannelSplitterNode.idl

    r265002 r265038  
    2727    JSGenerateToJSObject
    2828] interface ChannelSplitterNode : AudioNode {
    29     [MayThrowException, EnabledBySetting=ModernUnprefixedWebAudio] constructor (BaseAudioContext context, optional ChannelSplitterOptions options);
    3029};
  • trunk/Source/WebCore/Sources.txt

    r265028 r265038  
    27102710JSChannelInterpretation.cpp
    27112711JSChannelMergerNode.cpp
    2712 JSChannelMergerOptions.cpp
    27132712JSChannelSplitterNode.cpp
    2714 JSChannelSplitterOptions.cpp
    27152713JSCharacterData.cpp
    27162714JSChildNode.cpp
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r265028 r265038  
    1585715857                E7CF84A524C635F400B06B90 /* OfflineAudioContextOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OfflineAudioContextOptions.h; sourceTree = "<group>"; };
    1585815858                E7CF84A724C635F400B06B90 /* OfflineAudioContextOptions.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = OfflineAudioContextOptions.idl; sourceTree = "<group>"; };
    15859                 E7E0352024CF60ED008DFEFB /* ChannelMergerOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChannelMergerOptions.h; sourceTree = "<group>"; };
    15860                 E7E0352224CF60ED008DFEFB /* ChannelMergerOptions.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = ChannelMergerOptions.idl; sourceTree = "<group>"; };
    15861                 E7E0352424CF715E008DFEFB /* ChannelSplitterOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ChannelSplitterOptions.h; sourceTree = "<group>"; };
    15862                 E7E0352524CF715E008DFEFB /* ChannelSplitterOptions.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = ChannelSplitterOptions.idl; sourceTree = "<group>"; };
    1586315859                EB081CD81696084400553730 /* TypeConversions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TypeConversions.h; sourceTree = "<group>"; };
    1586415860                EB081CD91696084400553730 /* TypeConversions.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = TypeConversions.idl; sourceTree = "<group>"; };
     
    2948629482                                FD315FB512B0267500C1A359 /* ChannelMergerNode.h */,
    2948729483                                FD315FB612B0267500C1A359 /* ChannelMergerNode.idl */,
    29488                                 E7E0352024CF60ED008DFEFB /* ChannelMergerOptions.h */,
    29489                                 E7E0352224CF60ED008DFEFB /* ChannelMergerOptions.idl */,
    2949029484                                FD315FB712B0267500C1A359 /* ChannelSplitterNode.cpp */,
    2949129485                                FD315FB812B0267500C1A359 /* ChannelSplitterNode.h */,
    2949229486                                FD315FB912B0267500C1A359 /* ChannelSplitterNode.idl */,
    29493                                 E7E0352424CF715E008DFEFB /* ChannelSplitterOptions.h */,
    29494                                 E7E0352524CF715E008DFEFB /* ChannelSplitterOptions.idl */,
    2949529487                                FD315FDE12B0267600C1A359 /* ConvolverNode.cpp */,
    2949629488                                FD315FDF12B0267600C1A359 /* ConvolverNode.h */,
Note: See TracChangeset for help on using the changeset viewer.