| function waitForMultipleEvents(name, times, func) { |
| var count = 0; |
| document.addEventListener(name, function() { |
| if (++count == times) { |
| func(); |
| } |
| }, true); |
| } |
| |
| function init() |
| { |
| var videos = document.getElementsByTagName('video'); |
| |
| waitForMultipleEvents("canplaythrough", videos.length, function() { |
| for (var i = 0; i < videos.length; ++i) { |
| handlePromise(videos[i].play()); |
| videos[i].addEventListener("playing", function(event) { |
| event.target.pause(); |
| event.target.currentTime = 0; |
| }); |
| } |
| |
| waitForMultipleEvents("seeked", videos.length, function() { |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| }); |
| }); |
| } |
| |
| if (window.testRunner) { |
| testRunner.waitUntilDone(); |
| setTimeout(function() { |
| document.body.appendChild(document.createTextNode('FAIL')); |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } , 8000); |
| } |
| |
| function initAndPause() |
| { |
| var videos = document.getElementsByTagName('video'); |
| |
| waitForMultipleEvents("canplaythrough", videos.length, function() { |
| for (var i = 0; i < videos.length; ++i) { |
| handlePromise(videos[i].play()); |
| videos[i].addEventListener("playing", function(event) { |
| event.target.pause(); |
| }); |
| } |
| |
| waitForMultipleEvents("pause", videos.length, function() { |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| }); |
| }); |
| |
| } |
| |
| function initAndSeeked() |
| { |
| var videos = document.getElementsByTagName('video'); |
| |
| waitForMultipleEvents("seeked", videos.length, function() { |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| }); |
| } |
| |
| function handlePromise(promise) |
| { |
| function handle() { } |
| return promise.then(handle, handle); |
| } |