Index: chrome/test/data/prerender/prerender_html5_common.js |
diff --git a/chrome/test/data/prerender/prerender_html5_common.js b/chrome/test/data/prerender/prerender_html5_common.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..00385790f380355f0270ac756a98f6a0bdeab697 |
--- /dev/null |
+++ b/chrome/test/data/prerender/prerender_html5_common.js |
@@ -0,0 +1,54 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Define a variable called willPlay which indicates if the media is expected |
+// to start playing during the test. |
+ |
+var canPlaySeen = false; |
+var playingSeen = false; |
+var canPlayThroughSeen = false; |
+var hasError = false; |
+ |
+var mediaEl = document.getElementById("mediaEl"); |
+ |
+function mediaEventHandler(e) { |
+ console.log(e.type); |
cbentzel
2011/11/15 18:55:33
Is this console.log statement needed anymore?
Shishir
2011/11/17 21:18:49
Helpful for debugging failing tests, so might be w
scherkus (not reviewing)
2011/11/17 23:27:50
I'm a big proponent of quiet tests.
If a test sta
Shishir
2011/11/22 00:45:16
Done.
|
+ |
+ switch (e.type) { |
+ case 'canplay': |
+ canPlaySeen = true; |
+ break; |
+ case 'playing': |
+ playingSeen = true; |
+ break; |
+ case 'canplaythrough': |
+ canPlayThroughSeen = true; |
+ break; |
+ case 'error': |
+ hasError = true; |
+ break; |
+ } |
+ |
+ if ((willPlay && canPlayThroughSeen && playingSeen) || |
+ (!willPlay && canPlayThroughSeen && !playingSeen)) { |
+ document.title = 'PASS'; |
+ } |
+} |
+ |
+mediaEl.addEventListener('playing', mediaEventHandler, false); |
cbentzel
2011/11/15 18:55:33
Should this be using the network events (loadstart
scherkus (not reviewing)
2011/11/16 02:02:23
I agree -- loadstart, progress, and stalled are go
Shishir
2011/11/17 21:18:49
The network events are not very reliable and its n
scherkus (not reviewing)
2011/11/17 23:27:50
This is interesting to discuss and would like to h
Shishir
2011/11/22 00:45:16
Added a test for loadStart and stalled.
|
+mediaEl.addEventListener('canplay', mediaEventHandler, false); |
+mediaEl.addEventListener('canplaythrough', mediaEventHandler, false); |
+mediaEl.addEventListener('error', mediaEventHandler, false); |
+ |
+function DidPrerenderPass() { |
+ // The media should not have started at this point. |
+ return !canPlaySeen && !playingSeen && !hasError && |
+ mediaEl.currentTime == 0 && |
+ mediaEl.readyState == mediaEl.HAVE_NOTHING; |
+} |
+ |
+function DidDisplayPass() { |
+ // The actual test is done via the TitleWatcher. |
+ return true; |
+} |