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

Side by Side Diff: chrome/test/data/prerender/prerender_page_removes_pending.html

Issue 11571037: Pass load events from prerenders to launching elements. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ready for review Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <html> 1 <html>
2 <!-- 2 <!--
3 This test checks to make sure that pending prerenders which are canceled 3 This test checks to make sure that pending prerenders which are canceled
4 while pending never start. 4 while pending never start.
5 --> 5 -->
6 <link id=thePrerender rel=prerender href="does_not_exist.html" /> 6 <link id=thePrerender rel=prerender href="does_not_exist.html" />
7 <head> 7 <head>
8 <title>Prerender Page</title> 8 <title>Prerender Page</title>
9 9
10 <script src="prerender_events_common.js"></script>
11
10 <script> 12 <script>
11 var pageWasPrerendered = false; 13 var pageWasPrerendered = false;
12 14
13 var receivedPrerenderStartEvents = [];
14 var receivedPrerenderStopEvents = [];
15
16 function PrerenderStartHandlerForLink(index) {
17 receivedPrerenderStartEvents[index] = true;
18 }
19
20 function PrerenderStopHandlerForLink(index) {
21 receivedPrerenderStopEvents[index] = true;
22 }
23
24 function DidPrerenderPass() { 15 function DidPrerenderPass() {
25 pageWasPrerendered = true; 16 pageWasPrerendered = true;
26 var link = document.getElementById('thePrerender'); 17 var link = document.getElementById('thePrerender');
27 if (link) 18 if (link)
28 link.parentElement.removeChild(link) 19 link.parentElement.removeChild(link)
29 return !receivedPrerenderStartEvents[0] && !receivedPrerenderStopEvents[0]; 20 return !receivedPrerenderStartEvents[0] && !receivedPrerenderStopEvents[0];
30 } 21 }
31 22
32 // Make sure DidPrerenderPass() was called first. Otherwise, the page was 23 // Make sure DidPrerenderPass() was called first. Otherwise, the page was
33 // most likely reloaded instead of using the prerendered page. 24 // most likely reloaded instead of using the prerendered page.
34 function DidDisplayPass() { 25 function DidDisplayPass() {
35 return pageWasPrerendered && !receivedPrerenderStartEvents[0] && 26 return pageWasPrerendered && !receivedPrerenderStartEvents[0] &&
36 !receivedPrerenderStopEvents[0]; 27 !receivedPrerenderStopEvents[0];
37 } 28 }
38 29
39 var link = document.getElementById('thePrerender'); 30 var link = document.getElementById('thePrerender');
40 link.addEventListener('webkitprerenderstart', 31 AddEventHandlersToLink(link, 0);
41 PrerenderStartHandlerForLink.bind(null, 0), false);
42 link.addEventListener('webkitprerenderstop',
43 PrerenderStopHandlerForLink.bind(null, 0), false);
44 </script> 32 </script>
45 33
46 </head> 34 </head>
47 <body></body> 35 <body></body>
48 </html> 36 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698