1 // Copyright 2015 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 (function() { 6 function loadMediaAndAwait(selector, event_to_await) { 7 var mediaElements = window.__findMediaElements(selector); 8 for (var i = 0; i < mediaElements.length; i++) { 9 console.log('Listening for ' + event_to_await + ' on element: ' + 10 mediaElements[i].src); 11 registerListeners(mediaElements[i], event_to_await); 12 loadMediaElement(mediaElements[i]); 13 } 14 } 15 16 function loadMediaElement(element) { 17 if (element instanceof HTMLMediaElement) { 18 element.load(); 19 } else { 20 throw new Error('Can not load non media elements.'); 21 } 22 } 23 24 function registerListeners(element, event_to_await) { 25 window.__registerHTML5ErrorEvents(element); 26 window.__registerHTML5EventCompleted(element, event_to_await); 27 } 28 29 window.__loadMediaAndAwait = loadMediaAndAwait; 30 })(); 31