Index: chrome/test/data/prerender/prerender_visibility_hidden_quick.html |
=================================================================== |
--- chrome/test/data/prerender/prerender_visibility_hidden_quick.html (revision 0) |
+++ chrome/test/data/prerender/prerender_visibility_hidden_quick.html (revision 0) |
@@ -0,0 +1,42 @@ |
+<html> |
+<!-- |
+This test checks the visibility API when a prerendered page is visited without |
+being displayed, before the page has finished loading. |
+--> |
+<head> |
+<title>Prerender Visibility Hidden Quick Switch</title> |
+ |
+<script> |
+// Checks visibility state while the page is still loading. |
+var lastState = document.webkitVisibilityState; |
+var loadingStatePassed = document.webkitHidden && |
+ (lastState == 'prerender' || lastState == 'hidden'); |
dominich
2011/08/25 21:18:04
it might be more future-proof to check that lastSt
mmenke
2011/08/25 21:36:53
Done. Still only allow at most one transition fro
|
+var unexpectedStateChange = false; |
+ |
+function onVisibilityChange(event) { |
+ if (lastState != 'prerender' || |
+ document.webkitVisibilityState != 'hidden') { |
+ unexpectedStateChange = true; |
+ return; |
+ } |
+ lastState = document.webkitVisibilityState; |
+} |
+ |
+document.addEventListener('webkitvisibilitychange', |
+ onVisibilityChange, |
+ false); |
+ |
+// Checks that either the first visibility state was 'prerender' and there |
+// was one and only one visibility change event to 'hidden', or visibility |
+// was always 'hidden'. |
+function DidDisplayPass() { |
+ return loadingStatePassed && |
+ !unexpectedStateChange && |
+ 'hidden' == document.webkitVisibilityState && |
+ document.webkitHidden; |
+} |
+</script> |
+ |
+</head> |
+<body></body> |
+</html> |
Property changes on: chrome\test\data\prerender\prerender_visibility_hidden_quick.html |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |