Index: tools/telemetry/telemetry/page/actions/media_action.js |
diff --git a/tools/telemetry/telemetry/page/actions/media_action.js b/tools/telemetry/telemetry/page/actions/media_action.js |
index 96f6ffa658eb18397de7075763b8f4d90c9183f5..e9df62de97f641e39ec25a343dc4f379064549e7 100644 |
--- a/tools/telemetry/telemetry/page/actions/media_action.js |
+++ b/tools/telemetry/telemetry/page/actions/media_action.js |
@@ -36,3 +36,24 @@ window.__hasEventCompleted = function(selector, event_name) { |
} |
return true; |
}; |
+ |
+window.__registerHTML5ErrorEvents = function(element) { |
+ // Listens to HTML5 media errors. |
+ function onError(e) { |
+ window.__error = 'Media error: ' + e.type + ', code:' + e.target.error.code; |
+ throw new Error(window.__error); |
+ } |
+ element.addEventListener('error', onError); |
+ element.addEventListener('abort', onError); |
+}; |
+ |
+window.__registerHTML5EventCompleted = function(element, event_name) { |
+ // Logs |even_name| on element when completed. |
+ var logEventHappened = function(e) { |
+ element[e.type + '_completed'] = true; |
+ element.removeEventListener(event_name, logEventHappened); |
+ } |
+ element.addEventListener(event_name, logEventHappened); |
+}; |
+ |
+window.__error = null; |