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

Side by Side Diff: chrome/test/data/prerender/prerender_events_common.js

Issue 133073021: Pass DomContentLoaded event from prerenders to launching elements. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed davidben comments. Created 6 years, 10 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 unified diff | Download patch
« no previous file with comments | « chrome/renderer/prerender/prerender_dispatcher.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Common js for prerender loaders; defines the helper functions that put 5 // Common js for prerender loaders; defines the helper functions that put
6 // event handlers on prerenders and track the events for browser tests. 6 // event handlers on prerenders and track the events for browser tests.
7 7
8 // TODO(gavinp): Put more common loader logic in here. 8 // TODO(gavinp): Put more common loader logic in here.
9 9
10 // Currently only errors with the ordering of Prerender events are caught. 10 // Currently only errors with the ordering of Prerender events are caught.
11 var hadPrerenderEventErrors = false; 11 var hadPrerenderEventErrors = false;
12 12
13 var receivedPrerenderStartEvents = []; 13 var receivedPrerenderStartEvents = [];
14 var receivedPrerenderLoadEvents = []; 14 var receivedPrerenderLoadEvents = [];
15 var receivedPrerenderDomContentLoadedEvents = [];
15 var receivedPrerenderStopEvents = []; 16 var receivedPrerenderStopEvents = [];
16 17
17 function PrerenderStartHandler(index) { 18 function PrerenderStartHandler(index) {
18 if (receivedPrerenderStartEvents[index] || 19 if (receivedPrerenderStartEvents[index] ||
19 receivedPrerenderLoadEvents[index] || 20 receivedPrerenderLoadEvents[index] ||
20 receivedPrerenderStopEvents[index]) { 21 receivedPrerenderStopEvents[index]) {
21 hadPrerenderEventErrors = true; 22 hadPrerenderEventErrors = true;
22 return; 23 return;
23 } 24 }
24 receivedPrerenderStartEvents[index] = true; 25 receivedPrerenderStartEvents[index] = true;
25 } 26 }
26 27
27 function PrerenderLoadHandler(index) { 28 function PrerenderLoadHandler(index) {
28 if (!receivedPrerenderStartEvents[index] || 29 if (!receivedPrerenderStartEvents[index] ||
29 receivedPrerenderStopEvents[index]) { 30 receivedPrerenderStopEvents[index]) {
30 hadPrerenderEventErrors = true; 31 hadPrerenderEventErrors = true;
31 return; 32 return;
32 } 33 }
33 if (!receivedPrerenderLoadEvents[index]) 34 if (!receivedPrerenderLoadEvents[index])
34 receivedPrerenderLoadEvents[index] = 0; 35 receivedPrerenderLoadEvents[index] = 0;
35 receivedPrerenderLoadEvents[index]++; 36 receivedPrerenderLoadEvents[index]++;
36 } 37 }
37 38
39 function PrerenderDomContentLoadedHandler(index) {
40 if (!receivedPrerenderStartEvents[index] ||
41 receivedPrerenderStopEvents[index]) {
42 hadPrerenderEventErrors = true;
43 return;
44 }
45 if (!receivedPrerenderDomContentLoadedEvents[index])
46 receivedPrerenderDomContentLoadedEvents[index] = 0;
47 receivedPrerenderDomContentLoadedEvents[index]++;
48 }
49
38 function PrerenderStopHandler(index) { 50 function PrerenderStopHandler(index) {
39 if (!receivedPrerenderStartEvents[index] || 51 if (!receivedPrerenderStartEvents[index] ||
40 receivedPrerenderStopEvents[index]) { 52 receivedPrerenderStopEvents[index]) {
41 hadPrerenderEventErrors = true; 53 hadPrerenderEventErrors = true;
42 return; 54 return;
43 } 55 }
44 receivedPrerenderStopEvents[index] = true; 56 receivedPrerenderStopEvents[index] = true;
45 } 57 }
46 58
47 function AddEventHandlersToLinkElement(link, index) { 59 function AddEventHandlersToLinkElement(link, index) {
48 link.addEventListener('webkitprerenderstart', 60 link.addEventListener('webkitprerenderstart',
49 PrerenderStartHandler.bind(null, index), false); 61 PrerenderStartHandler.bind(null, index), false);
50 link.addEventListener('webkitprerenderload', 62 link.addEventListener('webkitprerenderload',
51 PrerenderLoadHandler.bind(null, index), false); 63 PrerenderLoadHandler.bind(null, index), false);
64 link.addEventListener('webkitprerenderdomcontentloaded',
65 PrerenderDomContentLoadedHandler.bind(null, index),
66 false);
52 link.addEventListener('webkitprerenderstop', 67 link.addEventListener('webkitprerenderstop',
53 PrerenderStopHandler.bind(null, index), false); 68 PrerenderStopHandler.bind(null, index), false);
54 } 69 }
55 70
56 function AddPrerender(url, index) { 71 function AddPrerender(url, index) {
57 var link = document.createElement('link'); 72 var link = document.createElement('link');
58 link.rel = 'prerender'; 73 link.rel = 'prerender';
59 link.href = url; 74 link.href = url;
60 AddEventHandlersToLinkElement(link, index); 75 AddEventHandlersToLinkElement(link, index);
61 document.body.appendChild(link); 76 document.body.appendChild(link);
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 cancelable: true, 164 cancelable: true,
150 detail: 1, 165 detail: 1,
151 metaKey: true, 166 metaKey: true,
152 shiftKey: true 167 shiftKey: true
153 })); 168 }));
154 } 169 }
155 170
156 function WindowOpen(url) { 171 function WindowOpen(url) {
157 window.open(url); 172 window.open(url);
158 } 173 }
OLDNEW
« no previous file with comments | « chrome/renderer/prerender/prerender_dispatcher.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698