Commit Graph

24 Commits

Author SHA1 Message Date
Rick Eyre
59ba14791c Bug 977302 - Perform automatic text track selection. r=rillian
This takes care of automatic track selection for tracks with
the default attribute specified. However, it does not take
into account any user preferences set through Firefox such
as default language.
2014-02-28 15:40:00 -05:00
Rick Eyre
4b465b49a2 Bug 983293 - Part 4: Pass ReadyState variables to AddTextTrack methods and TextTrack ctors. r=cpearce
This makes it more clear what part of the code is triggering the ReadyState
to be what it is. I.E. Tracks added through the HTMLMediaElement::AddTextTrack
method should have a ReadyState of "Loaded" and so it's more clear for
function to specify that. Vice versa for TrackElements which add TextTracks
with a default ReadyState of "None".
2014-03-13 14:41:21 -04:00
Rick Eyre
2e37168e82 Bug 983207 - Tracks created through a TrackElement should have a default mode of 'disabled'. r=cpearce
- I've refactored the way we set modes as well, making it a part
of the TextTrack ctors.
- I've also changed TextTracks in the track tests to have their
mode set to 'hidden' in order to be able to call TextTrack::Cues.
This is correct since TextTracks with a mode of 'disabled' do not
return null for their cue lists.
2014-03-13 13:18:06 -04:00
Rick Eyre
cf709f8952 Bug 882664 - Part 2: Perform sorting on TextTrackLists. r=rillian
- This implements sorting on the MediaElement's list of TextTracks as
described in: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#text-track-model
This is important as automatically positioned cues will have a line
position that is relative to their TextTrack's position in the
MediaElement's list of TextTracks.
- Added a TextTrackSource enum which all TextTracks have. This helps
distinguish where a TextTrack came from.
2014-02-27 12:47:23 -05:00
Rick Eyre
c5db634a0c Bug 972479 - TextTracks added to a TextTrackList through an HTMLTrackElement should dispatch 'onaddtrack' event. r=rillian
The problem was that the HTMLTrackElement calls a different
AddTextTrack method then the HTMLMediaElement does when
addTextTrack is called on it. This patch has the method
that the HTMLTrackElement calls dispatch the onaddtrackevent
as well.
2014-02-13 13:28:21 -05:00
Rick Eyre
bbede675f5 Bug 881976 - Part 3: Refactor TextTrack classes. r=rillian
Change the way they store references to eachother to make more sense.
A Track will never belong to a MediaElement directly. It will always
belong to one through a TextTrackList.
2014-01-27 15:17:20 -05:00
Rick Eyre
3c33886b48 Bug 881976 - Part 2: Expose TextTrackList's MediaElement to chrome JS. r=rillian, r=bz
Our JS WebVTT implementation (vtt.js) needs access to a TextTrackList's
MediaElement in order to compute a TextTrackCue's line position. Therefore,
we need to expose it to chrome JS.
2014-01-27 14:51:28 -05:00
Rick Eyre
f29b2ae1a1 Bug 881976 - Part 1: Expose TextTrack::TextTrackList to Chrome JS. r=rillian, r=bz
Our JS WebVTT implementation (vtt.js) needs access to the Track's
TextTrackList in order to compute the line position of a TextTrackCue.
Therefore, we need to expose it to chrome JS so that vtt.js can have
access to it.
2014-01-27 13:10:06 -05:00
Rick Eyre
78e1d23095 Bug 865407 - Part 5: Move update display of cues code to TextTrackManager. r=bz, r=rillian 2013-12-12 12:02:17 -05:00
Rick Eyre
bc2db591c5 Bug 865407 - Part 3: Add TextTrackList::GetAllActiveCues(). r=rillian 2013-12-12 10:57:21 -05:00
Ryan VanderMeulen
d65ecca981 Backed out 5 changesets (bug 865407) for Windows crashes.
Backed out changeset d3e7f6392670 (bug 865407)
Backed out changeset 7ba94f08b7a5 (bug 865407)
Backed out changeset 3de6e32a4346 (bug 865407)
Backed out changeset 5c0572c6727b (bug 865407)
Backed out changeset 5db43cac79f5 (bug 865407)
2014-01-10 11:50:49 -05:00
Rick Eyre
7b7b323893 Bug 865407 - Part 5: Move update display of cues code to TextTrackManager. r=bz, r=rillian 2013-12-12 12:02:17 -05:00
Rick Eyre
cabf0b003d Bug 865407 - Part 3: Add TextTrackList::GetAllActiveCues(). r=rillian 2013-12-12 10:57:21 -05:00
Brendan Long
2d0fd1214e Bug 882703 - Add TextTrackList change event; r=rillian,bz 2013-12-17 23:19:09 -06:00
Rick Eyre
152649a90e Bug 865407 - Part 2: Change TextTrackList::RemoveTextTrack() to receive a pointer r=rillian
The only code using this is TextTrackManager::RemoveTextTrack() which
receives a non-const pointer.
2013-10-21 07:15:00 -07:00
Boris Zbarsky
6195bac64d Bug 817194. Make WebIDL dictionary types sanely initialized by default; add a new Fast subclass to handle cases when we can skip the initialization safely. r=khuey 2013-10-09 12:05:22 -04:00
Ed Morley
d3ad6a9766 Backed out changeset ccedb8b1cefc (bug 817194) 2013-10-09 17:47:58 +01:00
Boris Zbarsky
77ffdb3ea1 Bug 817194 followup because someone added another *Initializer use. r=bustage 2013-10-09 12:20:49 -04:00
Andrew Quartey
63455e984d Bug 893309 - Implement TrackEvent. r=cpearce 2013-10-04 14:28:25 -04:00
Rick Eyre
5939f3d97a Bug 883173 - Part 3: Implement TextTrack::ActiveCues. r=cpearce, r=rillian
- Active cues now returns the subset of cues in mCueList that are valid
for the current playback time.
- Introduces new code in media element, when seeking, and in TextTrack, when
adding and removing cues, to mark the active cue list as dirty so that we know
when we might need to rebuild the list completely.
2013-06-14 16:10:36 -04:00
Rick Eyre
7b90a3a973 Bug 905320 - Fix TextTrack classes to utilize cycle collection correctly. r=khuey
We were incorrectly using the wrapper cache cycle collection macros when that
functionality was already implemented by the base classes. Therefore, we
should instead use the inherited version of the cycle collection macros.
2013-08-15 11:11:15 -04:00
Rick Eyre
ffb8b1982d Bug 882706 - Implement TextTrackList::GetTrackById(). r=rillian
I've also added an Id attribute to the TextTrack implementation as it wasn't
there yet.
2013-07-09 11:44:35 -04:00
Rick Eyre
3800bbb044 Bug 833382 - Implement WebVTTLoadListener r=cpearce,bz
- Implemented WebVTTLoadListener to manage the webvtt parser.
- TextTrackCue now handles the conversion of webvtt nodes to
  anonymous content which will be displayed on the video div
  overlay.
- HTMLTrackElement manages the lifetime of the WebVTTLoadListener.
2013-06-10 08:30:00 -07:00
Ralph Giles
3d52d52549 Bug 833385 - Implement HTMLTrackElement and TextTrack. r=bz,Ms2ger
Add webidl interfaces and implementations of the HTML <track>
element and related TextTrack, TextTrackList, TextTrackCue,
and TextTrackCueList dom objects.

Visibility is controlled by the media.webvtt.enabled pref,
which defaults to false.

HTMLMediaElement:NewURIFromString() is hoisted to
nsGenericHTMLElement so it's available to the track
element as well.

This patch is primarily work by Dale Karp, David Humphrey
and others as Seneca College.
2013-05-22 00:14:00 +08:00