Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove duplicate AudioScheduledSourceNode start/stop/onended entries #9599

Merged
merged 1 commit into from
Mar 25, 2021

Conversation

foolip
Copy link
Contributor

@foolip foolip commented Mar 25, 2021

AudioBufferSourceNode is as old as the Web Audio API itself, and
originally had these members. OscillatorNode and ConstantSourceNode were
added later and also had these members. Later, AudioScheduledSourceNode
was introduced and the members were moved up to that prototype. Only an
overload start() method remained on AudioBufferSourceNode.

Summary of changes:

  • Remove the members no longer in spec/implementations.
  • Mark the members of AudioScheduledSourceNode as supported since the
    earliest time they were supported on AudioBufferSourceNode, which is
    the earliest of the concrete interfaces.
  • Mark AudioScheduledSourceNode as partially supported from the
    versions AudioBufferSourceNode were introduced until the
    AudioScheduledSourceNode interface was added.

Introduction of AudioScheduledSourceNode in each browser/engine:

Chromium 57:
https://bugs.chromium.org/p/chromium/issues/detail?id=661207
https://storage.googleapis.com/chromium-find-releases-static/009.html#00971f38908388728f49cd5127b9c6c6761d035f

Firefox 53:
https://bugzilla.mozilla.org/show_bug.cgi?id=1324568
mozilla/gecko-dev@bd93c7b

WebKit trunk 610.1.20, which was Safari 14:
https://bugs.webkit.org/show_bug.cgi?id=214381
https://trac.webkit.org/changeset/264538/webkit

There was an AudioSourceNode parent interface in WebKit, but it never
had any members.

These tests were used to find or confirm some version numbers:
https://staging-dot-mdn-bcd-collector.appspot.com/tests/api/AudioScheduledSourceNode

(It uses a AudioBufferSourceNode, as the oldest concrete type now
inheriting from AudioScheduledSourceNode.)

For start/stop, Chrome 23 and 24 were tested to confirm.

WebKit commit for that at trunk version 537.12:
https://trac.webkit.org/changeset/129260/webkit
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/Configurations/Version.xcconfig?rev=129260

For onended, Chrome 29 and 30 were tested to confirm.

WebKit commit for that at trunk version 537.44:
https://trac.webkit.org/changeset/150905/webkit
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/Configurations/Version.xcconfig?rev=150905

That also introduced support for the event itself.

Edge 13 was tested to confirm support for onended/start/stop, and it was
assumed to also be in Edge 12 since most of the Web Audio API was.

Firefox 24 and 25 tested were tested to confirm Firefox data.

Fixes #6656.

AudioBufferSourceNode is as old as the Web Audio API itself, and
originally had these members. OscillatorNode and ConstantSourceNode were
added later and also had these members. Later, AudioScheduledSourceNode
was introduced and the members were moved up to that prototype. Only an
overload start() method remained on AudioBufferSourceNode.

Summary of changes:
 - Remove the members no longer in spec/implementations.
 - Mark the members of AudioScheduledSourceNode as supported since the
   earliest time they were supported on AudioBufferSourceNode, which is
   the earliest of the concrete interfaces.
 - Mark AudioScheduledSourceNode as partially supported from the
   versions AudioBufferSourceNode were introduced until the
   AudioScheduledSourceNode interface was added.

Introduction of AudioScheduledSourceNode in each browser/engine:

Chromium 57:
https://bugs.chromium.org/p/chromium/issues/detail?id=661207
https://storage.googleapis.com/chromium-find-releases-static/009.html#00971f38908388728f49cd5127b9c6c6761d035f

Firefox 53:
https://bugzilla.mozilla.org/show_bug.cgi?id=1324568
mozilla/gecko-dev@bd93c7b

WebKit trunk 610.1.20, which was Safari 14:
https://bugs.webkit.org/show_bug.cgi?id=214381
https://trac.webkit.org/changeset/264538/webkit

There was an AudioSourceNode parent interface in WebKit, but it never
had any members.

These tests were used to find or confirm some version numbers:
https://staging-dot-mdn-bcd-collector.appspot.com/tests/api/AudioScheduledSourceNode

(It uses a AudioBufferSourceNode, as the oldest concrete type now
inheriting from AudioScheduledSourceNode.)

For start/stop, Chrome 23 and 24 were tested to confirm.

WebKit commit for that at trunk version 537.12:
https://trac.webkit.org/changeset/129260/webkit
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/Configurations/Version.xcconfig?rev=129260

For onended, Chrome 29 and 30 were tested to confirm.

WebKit commit for that at trunk version 537.44:
https://trac.webkit.org/changeset/150905/webkit
https://trac.webkit.org/browser/webkit/trunk/Source/WebCore/Configurations/Version.xcconfig?rev=150905

That also introduced support for the event itself.

Edge 13 was tested to confirm support for onended/start/stop, and it was
assumed to also be in Edge 12 since most of the Web Audio API was.

Firefox 24 and 25 tested were tested to confirm Firefox data.

Fixes #6656.
@github-actions github-actions bot added the data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API label Mar 25, 2021
@foolip
Copy link
Contributor Author

foolip commented Mar 25, 2021

I think this is my longest commit message in BCD yet :)

Copy link
Member

@Elchi3 Elchi3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, this follows the pattern of using partial_implementation nicely for prototype moves. It would be nice if you could write a data guideline for this now that we've successfully used this in at least two scenarios.

I've reviewed this by comparing with the current IDL files and it makes sense structurally. For the all versions numbers I just glanced over them and I think they make sense.

@Elchi3 Elchi3 merged commit 507cd0d into main Mar 25, 2021
@Elchi3 Elchi3 deleted the untangle-AudioScheduledSourceNode branch March 25, 2021 12:54
ddbeck added a commit to ddbeck/browser-compat-data that referenced this pull request Mar 25, 2021
foolip added a commit to foolip/mdn-bcd-collector that referenced this pull request Mar 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data:api Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

How to represent the introduction of AudioScheduledSourceNode?
4 participants