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

Update audioTracks/videoTracks/textTracks versions for Safari #6644

Conversation

sideshowbarker
Copy link
Collaborator

This change corrects the Safari version data for the audioTracks, videoTracks, and textTracks members of the SourceBuffer interface to reflect, per https://trac.webkit.org/changeset/178172/webkit, the actual version of Safari which first shipped support for them.

Relates to #6102

@github-actions github-actions bot added the data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API label Sep 4, 2020
@sideshowbarker sideshowbarker changed the title Update audioTracks/videoTracks/textTracks versions Update audioTracks/videoTracks/textTracks versions for Safari Sep 4, 2020
@foolip
Copy link
Collaborator

foolip commented Sep 7, 2020

https://trac.webkit.org/changeset/178172/webkit does not seems related to shipping audioTracks/videoTracks/textTracks, it only moves them around in the IDL file and they're still behind [Conditional=VIDEO_TRACK].

@foolip
Copy link
Collaborator

foolip commented Sep 7, 2020

Understanding when this really shipped is made more complicated by [NoInterfaceObject] used on the interface in WebKit until https://trac.webkit.org/changeset/206146/webkit, where it was removed as a drive-by in another change. @vinyldarkscratch FYI you may run into this in the next part of #6642.

Copy link
Collaborator

@foolip foolip left a comment

Choose a reason for hiding this comment

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

I'm unable to confirm the suggested versions, so more evidence would be great.

@@ -75,7 +75,7 @@
"version_added": "8"
},
"safari_ios": {
"version_added": false
"version_added": "8"
Copy link
Collaborator

Choose a reason for hiding this comment

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

I've tested http://software.hixie.ch/utilities/js/live-dom-viewer/saved/8420 on iPhones in BrowserStack to try to confirm when MSE was added, but it's not there even on Safari 13. https://caniuse.com/mediasource suggests that it's only for iPad. If that's correct, we should have notes in the BCD data as well.

@@ -471,10 +471,10 @@
"version_added": "14"
},
"safari": {
"version_added": "8"
"version_added": "11"
Copy link
Collaborator

Choose a reason for hiding this comment

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

I've tested https://software.hixie.ch/utilities/js/live-dom-viewer/?saved=8419 on Safari (macOS) in BrowserStack and see support at least back to 10.1. Before that point I'm not sure because the interface object was not exposed at one point. But at any case the methodology here seems unreliable, so another look would be good.

@sideshowbarker
Copy link
Collaborator Author

Paging in @eric-carlson and @jernoble, who I think will be able to give us some guidance here.

Eric, Jer, we’re trying to figure out two things:

  1. What were the first versions of Safari and iOS Safari that shipped with audioTracks/videoTracks/textTracks support?
  2. What were the first versions of Safari and iOS Safari that shipped with SourceBuffer support?

@jernoble
Copy link

  1. What were the first versions of Safari and iOS Safari that shipped with audioTracks/videoTracks/textTracks support?

This first landed in Safari 8 on MacOS X Yosemite, and in Mobile Safari on iOS 8.

  1. What were the first versions of Safari and iOS Safari that shipped with SourceBuffer support?

This also landed in Safari 8 on MacOS X Yosemite, and later in Mobile Safari on iPad in iOS 13.

@sideshowbarker
Copy link
Collaborator Author

@jernoble Thanks much

One thing I realize now I should have been more clear about: given that both HTMLMediaElement and SourceBuffer have audioTracks/videoTracks/textTracks properties, we need to confirm the data for those properties for both the HTMLMediaElement and SourceBuffer cases.

So can you please either confirm the following, or let me know any further corrections needed —

  • audioTracks/videoTracks/textTracks for HTMLMediaElement shipped in macOS Safari 8, and in Mobile Safari on iOS 8
  • SourceBuffer — with audioTracks/videoTracks/textTracks properties implemented/exposed — shipped in macOS Safari 8, and later in Mobile Safari in iOS 13

Specifically, the particular details I’m not completely sure about are:

  • When SourceBuffer shipped initially, did it implement/expose audioTracks/videoTracks/textTracks properties, or instead was support for those was added later?
  • Did Mobile Safari on iPhone in iOS 13 ship with SourceBuffer support implemented/exposed? (I ask because in your previous comment, you specifically mention only Mobile Safari on iPad)

@jernoble
Copy link

  • When SourceBuffer shipped initially, did it implement/expose audioTracks/videoTracks/textTracks properties, or instead was support for those was added later?

Yes, those properties were exposed from the start. https://bugs.webkit.org/show_bug.cgi?id=123374

  • Did Mobile Safari on iPhone in iOS 13 ship with SourceBuffer support implemented/exposed? (I ask because in your previous comment, you specifically mention only Mobile Safari on iPad)

No, Mobile Safari on iPhone does not expose any MSE APIs.

@sideshowbarker sideshowbarker force-pushed the sideshowbarker/SourceBuffer-audioTracks-videoTracks-textTracks-Safari-update branch from 9c194ee to c1aa1ed Compare September 20, 2020 09:48
This change corrects the Safari version data for the audioTracks, videoTracks,
and textTracks members of the SourceBuffer interface to reflect, per
https://bugs.webkit.org/show_bug.cgi?id=123374, the actual version of
Safari which first shipped support for them.

The change also updates the Safari version data for the audioTracks,
videoTracks, and textTracks members of the HTMLMediaElement interface.

Relates to mdn#6102
@sideshowbarker sideshowbarker force-pushed the sideshowbarker/SourceBuffer-audioTracks-videoTracks-textTracks-Safari-update branch from c1aa1ed to 6ddd615 Compare September 20, 2020 10:06
@sideshowbarker
Copy link
Collaborator Author

@foolip I amended the commit to reflect the details from Jer.

To document what Jer indicated about SourceBuffer being exposed in Safari on iPad but not on iPhone, I marked safari_ios for it with partial_implementation:true and an “Exposed in Mobile Safari on iPad but not on iPhone” note. But I’m not sure if that’s actually the best way to indicate it — I don’t know if we have a precedent — so I guess it would be good if @ddbeck could also weigh in with some guidance.

@queengooborg
Copy link
Collaborator

We've discussed separating iPadOS into its own column in #6326 a bit. For now, I think you've got the right idea to add a note!

@ddbeck
Copy link
Collaborator

ddbeck commented Sep 21, 2020

Yep putting this in a note is the way to go right now.

Copy link
Collaborator

@foolip foolip left a comment

Choose a reason for hiding this comment

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

Thanks @jernoble for confirming the releases for these bits, and thanks @sideshowbarker! I'll go ahead and land this now.

@foolip foolip merged commit 840efbb into mdn:master Sep 22, 2020
@foolip
Copy link
Collaborator

foolip commented Sep 22, 2020

@vinyldarkscratch there ought to be a whole bunch of MSE APIs that can be updated in a similar way to this PR, in case you want to collect results from iPad.

@sideshowbarker sideshowbarker deleted the sideshowbarker/SourceBuffer-audioTracks-videoTracks-textTracks-Safari-update branch October 6, 2020 23:02
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.

5 participants