Bug 1298307 - Check cue's active state first, then verify displaystate. r=alwu, smaug
MozReview-Commit-ID: 4sqPNY9Czsr
--- a/dom/media/test/test_webvtt_empty_displaystate.html
+++ b/dom/media/test/test_webvtt_empty_displaystate.html
@@ -60,21 +60,29 @@ function runTest() {
isnot(window.VTTCue, undefined, "VTTCue should be defined.");
var cue = new VTTCue(0, 1, "Test cue");
ok(cue instanceof TextTrackCue, "Cue should be an instanceof TextTrackCue.");
ok(cue instanceof VTTCue, "Cue should be an instanceof VTTCue.");
info("--- add cue ---");
track.addCue(cue);
-
+ video.ontimeupdate = function () {
+ info("--- video.currentTime is " + video.currentTime);
+ };
cue.onenter = function () {
cue.onenter = null;
isReceivedOnEnterEvent = true;
- checkCueDisplayState(cue, true /* has display-state */);
+ var cueChrome = SpecialPowers.wrap(cue);
+ info("cueChrome.getActive " + cueChrome.getActive);
+ if (cueChrome.getActive) {
+ checkCueDisplayState(cue, true /* has display-state */);
+ } else {
+ ok(false, "The cue start time is 0, should be always active!?");
+ }
cue.onexit = function () {
cue.onexit = null;
isReceivedOnExitEvent = true;
checkCueDisplayState(cue, false /* no display-state */);
video.pause();
}
}
--- a/dom/webidl/VTTCue.webidl
+++ b/dom/webidl/VTTCue.webidl
@@ -63,9 +63,11 @@ partial interface VTTCue {
[ChromeOnly]
readonly attribute boolean hasBeenReset;
[ChromeOnly]
readonly attribute double computedLine;
[ChromeOnly]
readonly attribute double computedPosition;
[ChromeOnly]
readonly attribute PositionAlignSetting computedPositionAlign;
+ [ChromeOnly]
+ readonly attribute boolean getActive;
};