-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Conversation
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.
I think this is my longest commit message in BCD yet :) |
There was a problem hiding this 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.
No longer needed after mdn/browser-compat-data#9599.
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:
earliest time they were supported on AudioBufferSourceNode, which is
the earliest of the concrete interfaces.
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.