Index: chrome/test/data/media/html/media_seek.html |
diff --git a/chrome/test/data/media/html/media_seek.html b/chrome/test/data/media/html/media_seek.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..177fba0c2a584cd65bf3535db146d9abfd880293 |
--- /dev/null |
+++ b/chrome/test/data/media/html/media_seek.html |
@@ -0,0 +1,101 @@ |
+<!-- Used by media_seek_perf to record seek perf metrics. --> |
+<!DOCTYPE html> |
+<html lang="en-US"> |
+ <head> |
+ <title>CNS Seek Tests</title> |
+ <script src="utils.js" type="text/javascript"></script> |
+ </head> |
+ |
+ <body> |
+ <video height=350 controls></video> |
DaleCurtis
2012/04/18 18:57:53
Why set height?
shadi
2012/04/19 04:16:59
I had it while running the tests manually. Took it
|
+ <div id="log"></div> |
DaleCurtis
2012/04/18 18:57:53
Don't need the id anymore since you're using query
shadi
2012/04/19 04:16:59
Done.
|
+ </body> |
+ |
+ <script type="text/javascript"> |
+ var video = document.querySelector("video"); |
+ var log_div = document.querySelector("div"); |
+ |
+ function log(text) { |
+ log_div.innerText += text + "\n"; |
+ } |
+ |
+ // Called by the PyAuto controller to initiate testing. |
+ function startTest(src) { |
+ if (window.domAutomationController) |
+ window.domAutomationController.send(true); |
+ |
+ cached_seeks = []; |
+ uncached_seeks = []; |
+ cached_after_seek = []; |
+ endTest = false; |
+ errorMsg = ""; |
+ timer = new Timer(); |
+ |
+ iteration = 0; |
+ originalSrc = src; |
+ video.addEventListener("playing", playing); |
+ video.addEventListener("seeked", seeked); |
+ video.addEventListener("error", |
+ function() { end("Error loading media"); }); |
+ IterationTest(); |
+ } |
+ |
+ function IterationTest() { |
+ if (iteration < 3) { |
DaleCurtis
2012/04/18 18:57:53
Set iterations in startTest or in a const at the t
shadi
2012/04/19 04:16:59
Done.
|
+ iteration++; |
+ seek_turn = 0; |
DaleCurtis
2012/04/18 18:57:53
seek_turn is a bit opaque, might be clearer as see
shadi
2012/04/19 04:16:59
Done.
|
+ video.src = generateSrc(originalSrc); |
+ video.play(); |
+ } |
+ else { |
DaleCurtis
2012/04/18 18:57:53
Else goes on previous line.
shadi
2012/04/19 04:16:59
Done.
|
+ endTest = true; |
+ log (cached_seeks); |
DaleCurtis
2012/04/18 18:57:53
s/log (/log(/ here and elsewhere.
shadi
2012/04/19 04:16:59
Done.
|
+ log (uncached_seeks); |
+ log (cached_after_seek); |
DaleCurtis
2012/04/18 18:57:53
Instead of having cached, uncached, cached_after_s
shadi
2012/04/19 04:16:59
Done.
|
+ } |
+ } |
+ |
+ function playing() { |
+ if (seek_turn == 0) { |
+ timer.start(); |
+ video.currentTime = 1; |
+ } |
+ } |
+ |
+ function seeked() { |
+ delta = timer.stop(); |
+ switch (seek_turn) { |
+ // first short seek |
+ case 0: |
+ cached_seeks.push(delta) |
+ log ("short seek in " + delta + "ms.") |
+ timer.start(); |
+ seek_turn++; |
DaleCurtis
2012/04/18 18:57:53
Set seek_turn prior to timer.start() here and belo
shadi
2012/04/19 04:16:59
Done.
|
+ video.currentTime = video.duration - 1; |
+ break; |
+ // Seek to almost end of file (uncached) |
+ case 1: |
+ uncached_seeks.push(delta) |
+ log ("long seek in " + delta + "ms.") |
+ timer.start(); |
+ seek_turn++; |
+ video.currentTime = 1; |
+ break; |
+ // Second seek to a buffered aread. |
+ case 2: |
+ cached_after_seek.push(delta) |
+ log ("cached_after_seek seek in " + delta + "ms.") |
+ IterationTest(); |
+ break; |
+ default: |
+ end("An un-expected seek occured."); |
+ } |
+ } |
+ |
+ function end(msg) { |
+ errorMsg = msg; |
+ endTest = true; |
+ log (msg); |
+ } |
+ </script> |
+</html> |