nsIWebVTTParserWrapper

Interface for a wrapper of a JS WebVTT parser (vtt.js).

Methods

loadParser(window)

Loads the JS WebVTTParser and sets it to use the passed window to create
VTTRegions and VTTCues. This function must be called before calling
parse, flush, or watch.

Parameters

window The window that the parser will use to create VTTCues and VTTRegions.

parse(data)

Attempts to parse the stream’s data as WebVTT format. When it successfully
parses a WebVTT region or WebVTT cue it will create a VTTRegion or VTTCue
object and pass it back to the callee through its callbacks.

Parameters

data The buffer that contains the WebVTT data received by the Necko consumer so far.

flush()

Flush indicates that no more data is expected from the stream. As such the
parser should try to parse any kind of partial data it has.

watch(callback)

Set this parser object to use an nsIWebVTTListener object for its onCue
and onRegion callbacks.

Parameters

callback The nsIWebVTTListener object that exposes onCue and onRegion callbacks for the parser.

convertCueToDOMTree(window, cue)

Convert the text content of a WebVTT cue to a document fragment so that
we can display it on the page.

Parameters

window A window object with which the document fragment will be created.
cue The cue whose content will be converted to a document fragment.

processCues(window, cues, overlay)

Compute the display state of the VTTCues in cues along with any VTTRegions
that they might be in. First, it computes the positioning and styling of
the cues and regions passed and converts them into a DOM tree rooted at
a containing HTMLDivElement. It then adjusts those computed divs for
overlap avoidance using the dimensions of ‘overlay’. Finally, it adds the
computed divs to the VTTCues display state property for use later.

Parameters

window A window object with which it will create the DOM tree and containing div element.
cues An array of VTTCues who need there display state to be computed.
overlay The HTMLElement that the cues will be displayed within.