fune/dom/media/test/test_preload_suspend.html
Narcis Beleuzu 6a96b612b6 Backed out 5 changesets (bug 1556854) for mda failures on /test_media_selection.html CLOSED TREE
Backed out changeset 61a4022333fa (bug 1556854)
Backed out changeset cfd809c63877 (bug 1556854)
Backed out changeset 057cc9878594 (bug 1556854)
Backed out changeset 0f02ff8a5c67 (bug 1556854)
Backed out changeset 8719996c65b3 (bug 1556854)
2019-10-24 13:47:37 +03:00

112 lines
2.6 KiB
HTML

<!DOCTYPE HTML>
<html>
<head>
<title>Test for Bug 479863</title>
<script src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
<script type="text/javascript" src="manifest.js"></script>
</head>
<body>
<pre id="test">
<script class="testbody" type="text/javascript">
var manager = new MediaTestManager;
function checkSuspendCount(evt) {
var v = evt.target;
++v.suspendCount;
is(v.networkState, v.NETWORK_IDLE, v.name + " got suspended, count=" + v.suspendCount);
if (v.suspendCount == v.expectedSuspendCount) {
removeNodeAndSource(v);
manager.finished(v.name);
}
if (v.suspendCount > v.expectedSuspendCount) {
ok(false, v.name + " got too many suspend events");
}
}
var tests = [
{
name: 'v1',
preload: 'none',
expectedSuspendCount: 2,
onsuspend: function(evt) {
checkSuspendCount(evt);
if (evt.target.suspendCount == 1) {
evt.target.preload = 'auto';
}
}
},
{
name: 'v2',
preload: 'auto',
expectedSuspendCount: 1,
onsuspend: checkSuspendCount
},
{
name: 'v3',
preload: 'none',
autoplay: true,
expectedSuspendCount: 1,
onsuspend: checkSuspendCount
},
{
name: 'v4',
preload: 'none',
expectedSuspendCount: 2,
onsuspend: function(evt) {
checkSuspendCount(evt);
if (evt.target.suspendCount == 1) {
evt.target.play();
}
}
},
// disable v5 since media element doesn't support 'load' event anymore.
/*{
name: 'v5',
preload: 'none',
expectedSuspendCount: 2,
onsuspend: function(evt) {
checkSuspendCount(evt);
if (evt.target.suspendCount == 1) {
evt.target.currentTime = 0.1;
}
}
},*/
{
name: 'v6',
preload: 'none',
expectedSuspendCount: 2,
onsuspend: function(evt) {
checkSuspendCount(evt);
if (evt.target.suspendCount == 1) {
evt.target.autoplay = true;
}
}
}
];
function startTest(test, token) {
var v = document.createElement("video");
v.name = test.name;
var key = Math.random();
v.src = "seek.ogv?key=" + key + "&id=" + v.name;
v.preload = test.preload;
v.suspendCount = 0;
v.expectedSuspendCount = test.expectedSuspendCount;
if (test.autoplay) {
v.autoplay = true;
}
v.onsuspend = test.onsuspend;
document.body.appendChild(v);
manager.started(v.name);
}
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({"set": [["media.cache_size", 40000]]}, function() {
manager.runTests(tests, startTest);
});
</script>
</pre>
</body>
</html>