Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(380)

Unified Diff: tools/telemetry/telemetry/page/actions/seek.js

Issue 23456012: [Telemetry] Improve logging on media measurement tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix video.html check Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/page/actions/seek.js
diff --git a/tools/telemetry/telemetry/page/actions/seek.js b/tools/telemetry/telemetry/page/actions/seek.js
index 1a06ed10e985de239fde57b8d67d5e113c5b9f8e..e77d48726db139aacbbdf1eb84fdcd38c4e06ad5 100644
--- a/tools/telemetry/telemetry/page/actions/seek.js
+++ b/tools/telemetry/telemetry/page/actions/seek.js
@@ -4,35 +4,34 @@
// This file performs actions on media elements.
(function() {
- function seekMedia(selector, seekTime, logSeekTime) {
+ function seekMedia(selector, seekTime, logSeekTime, seekLabel) {
// Performs the "Seek" action on media satisfying selector.
var mediaElements = window.__findMediaElements(selector);
for (var i = 0; i < mediaElements.length; i++) {
- seek(mediaElements[i], seekTime, logSeekTime);
+ if (mediaElements[i] instanceof HTMLMediaElement)
+ seekHTML5Element(mediaElements[i], seekTime, logSeekTime, seekLabel);
+ else
+ throw new Error('Can not seek non HTML5 media elements.');
}
}
- function seek(element, seekTime, logSeekTime) {
- if (element instanceof HTMLMediaElement)
- seekHTML5Element(element, seekTime, logSeekTime);
- else
- throw new Error('Can not seek non HTML5 media elements.');
- }
-
- function seekHTML5Element(element, seekTime, logSeekTime) {
+ function seekHTML5Element(element, seekTime, logSeekTime, seekLabel) {
+ function readyForSeek() {
+ seekHTML5ElementPostLoad(element, seekTime, logSeekTime, seekLabel);
+ }
if (element.readyState == element.HAVE_NOTHING) {
var onLoadedMetaData = function(e) {
element.removeEventListener('loadedmetadata', onLoadedMetaData);
- seekHTML5ElementPostLoad(element, seekTime, logSeekTime);
+ readyForSeek();
};
element.addEventListener('loadedmetadata', onLoadedMetaData);
element.load();
} else {
- seekHTML5ElementPostLoad(element, seekTime, logSeekTime);
+ readyForSeek();
}
}
- function seekHTML5ElementPostLoad(element, seekTime, logSeekTime) {
+ function seekHTML5ElementPostLoad(element, seekTime, logSeekTime, seekLabel) {
var onSeeked = function(e) {
element[e.type + '_completed'] = true;
element.removeEventListener('seeked', onSeeked);
@@ -49,7 +48,10 @@
if (logSeekTime) {
var willSeekEvent = document.createEvent('Event');
willSeekEvent.initEvent('willSeek', false, false);
- willSeekEvent.seekLabel = seekTime;
+ if (seekLabel)
+ willSeekEvent.seekLabel = seekLabel;
+ else
+ willSeekEvent.seekLabel = seekTime;
element.dispatchEvent(willSeekEvent);
}
try {

Powered by Google App Engine
This is Rietveld 408576698