summaryrefslogtreecommitdiffstats
path: root/dom/media/test/test_background_video_suspend_ends.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/test/test_background_video_suspend_ends.html')
-rw-r--r--dom/media/test/test_background_video_suspend_ends.html39
1 files changed, 39 insertions, 0 deletions
diff --git a/dom/media/test/test_background_video_suspend_ends.html b/dom/media/test/test_background_video_suspend_ends.html
new file mode 100644
index 000000000..e1b72c07a
--- /dev/null
+++ b/dom/media/test/test_background_video_suspend_ends.html
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Test Background Suspended Video Fires 'ended' Event</title>
+<script src="/tests/SimpleTest/SimpleTest.js"></script>
+<script src="manifest.js"></script>
+<script src="background_video.js"></script>
+<link rel="stylesheet" href="/tests/SimpleTest/test.css"/>
+<script type="text/javascript">
+"use strict";
+
+var manager = new MediaTestManager;
+
+startTest({
+ desc: "Test Background Suspended Video Fires 'ended' Event",
+ prefs: [
+ [ "media.test.setVisible", true ],
+ [ "media.suspend-bkgnd-video.enabled", true ],
+ // User a short delay to ensure video decode suspend happens before end
+ // of video.
+ [ "media.suspend-bkgnd-video.delay-ms", 1000 ]
+ ],
+ tests: gDecodeSuspendTests,
+ runTest: (test, token) => {
+ let v = appendVideoToDoc(test.name, token);
+ manager.started(token);
+
+ // This test checks that 'ended' event is received for videos with
+ // suspended video decoding. This is important for looping video logic
+ // handling in HTMLMediaElement.
+ waitUntilPlaying(v)
+ .then(() => testVideoSuspendsWhenHidden(v))
+ .then(() => waitUntilEnded(v))
+ .then(() => {
+ ok(v.currentTime >= v.duration, 'current time approximates duration.');
+ manager.finished(token);
+ });
+ }
+});
+</script>