Find nsIDocument via mGlobal (as nsPIDOMWindow) rather than via pointer to
HTMLTrackElement. (bz from #content has explained how we can access
nsPIDOMWindow and nsIDocument without having to ask the HTMLTrackElement)
For the time being, there are many null-ness checks for both 'window' and
'document', and no mechanism to report errors other than returning nullptr
where possible. This will be addressed in a followup bug.
Also adds a test for mHead nullness in TextTrackCue::ConvertNodeTreeToDOMTree
to prevent SIGSEV.
- 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.
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.