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

Side by Side Diff: chrome/test/data/extensions/api_test/webnavigation/navigation1/test.html

Issue 4448003: Implement onCompleted event for the webNavigation API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 10 years, 1 month 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 <script> 1 <script>
2 var expectedEventData; 2 var expectedEventData;
3 var capturedEventData; 3 var capturedEventData;
4 var nextFrameId; 4 var nextFrameId;
5 var frameIds; 5 var frameIds;
6 6
7 function expect(data) { 7 function expect(data) {
8 expectedEventData = data; 8 expectedEventData = data;
9 capturedEventData = []; 9 capturedEventData = [];
10 nextFrameId = 1; 10 nextFrameId = 1;
(...skipping 29 matching lines...) Expand all
40 40
41 chrome.experimental.webNavigation.onCommitted.addListener(function(details) { 41 chrome.experimental.webNavigation.onCommitted.addListener(function(details) {
42 captureEvent("onCommitted", details); 42 captureEvent("onCommitted", details);
43 }); 43 });
44 44
45 chrome.experimental.webNavigation.onDOMContentLoaded.addListener( 45 chrome.experimental.webNavigation.onDOMContentLoaded.addListener(
46 function(details) { 46 function(details) {
47 captureEvent("onDOMContentLoaded", details); 47 captureEvent("onDOMContentLoaded", details);
48 }); 48 });
49 49
50 chrome.experimental.webNavigation.onCompleted.addListener(
51 function(details) {
52 captureEvent("onCompleted", details);
53 });
54
50 chrome.experimental.webNavigation.onErrorOccurred.addListener( 55 chrome.experimental.webNavigation.onErrorOccurred.addListener(
51 function(details) { 56 function(details) {
52 captureEvent("onErrorOccurred", details); 57 captureEvent("onErrorOccurred", details);
53 }); 58 });
54 59
55 var getURL = chrome.extension.getURL; 60 var getURL = chrome.extension.getURL;
56 chrome.tabs.getSelected(null, function(tab) { 61 chrome.tabs.getSelected(null, function(tab) {
57 var tabId = tab.id; 62 var tabId = tab.id;
58 63
59 chrome.test.runTests([ 64 chrome.test.runTests([
(...skipping 10 matching lines...) Expand all
70 { frameId: 0, 75 { frameId: 0,
71 tabId: tabId, 76 tabId: tabId,
72 timeStamp: 0, 77 timeStamp: 0,
73 transitionQualifiers: "", 78 transitionQualifiers: "",
74 transitionType: "link", 79 transitionType: "link",
75 url: getURL('simpleLoad/a.html') }], 80 url: getURL('simpleLoad/a.html') }],
76 [ "onDOMContentLoaded", 81 [ "onDOMContentLoaded",
77 { frameId: 0, 82 { frameId: 0,
78 tabId: tabId, 83 tabId: tabId,
79 timeStamp: 0, 84 timeStamp: 0,
85 url: getURL('simpleLoad/a.html') }],
86 [ "onCompleted",
87 { frameId: 0,
88 tabId: tabId,
89 timeStamp: 0,
80 url: getURL('simpleLoad/a.html') }]]); 90 url: getURL('simpleLoad/a.html') }]]);
81 chrome.tabs.update(tabId, { url: getURL('simpleLoad/a.html') }); 91 chrome.tabs.update(tabId, { url: getURL('simpleLoad/a.html') });
82 }, 92 },
83 93
84 /* Navigates to a.html that redirects to b.html (using javascript) 94 /* Navigates to a.html that redirects to b.html (using javascript)
85 after a delay of 500ms, so the initial navigation is completed and 95 after a delay of 500ms, so the initial navigation is completed and
86 the redirection is marked as client_redirect */ 96 the redirection is marked as client_redirect */
87 function clientRedirect() { 97 function clientRedirect() {
88 expect([ 98 expect([
89 [ "onBeforeNavigate", 99 [ "onBeforeNavigate",
90 { frameId: 0, 100 { frameId: 0,
91 requestId: 0, 101 requestId: 0,
92 tabId: tabId, 102 tabId: tabId,
93 timeStamp: 0, 103 timeStamp: 0,
94 url: getURL('clientRedirect/a.html') }], 104 url: getURL('clientRedirect/a.html') }],
95 [ "onCommitted", 105 [ "onCommitted",
96 { frameId: 0, 106 { frameId: 0,
97 tabId: tabId, 107 tabId: tabId,
98 timeStamp: 0, 108 timeStamp: 0,
99 transitionQualifiers: "", 109 transitionQualifiers: "",
100 transitionType: "link", 110 transitionType: "link",
101 url: getURL('clientRedirect/a.html') }], 111 url: getURL('clientRedirect/a.html') }],
102 [ "onDOMContentLoaded", 112 [ "onDOMContentLoaded",
103 { frameId: 0, 113 { frameId: 0,
104 tabId: tabId, 114 tabId: tabId,
105 timeStamp: 0, 115 timeStamp: 0,
106 url: getURL('clientRedirect/a.html') }], 116 url: getURL('clientRedirect/a.html') }],
117 [ "onCompleted",
118 { frameId: 0,
119 tabId: tabId,
120 timeStamp: 0,
121 url: getURL('clientRedirect/a.html') }],
107 [ "onBeforeNavigate", 122 [ "onBeforeNavigate",
108 { frameId: 0, 123 { frameId: 0,
109 requestId: 0, 124 requestId: 0,
110 tabId: tabId, 125 tabId: tabId,
111 timeStamp: 0, 126 timeStamp: 0,
112 url: getURL('clientRedirect/b.html') }], 127 url: getURL('clientRedirect/b.html') }],
113 [ "onCommitted", 128 [ "onCommitted",
114 { frameId: 0, 129 { frameId: 0,
115 tabId: tabId, 130 tabId: tabId,
116 timeStamp: 0, 131 timeStamp: 0,
117 transitionQualifiers: "client_redirect", 132 transitionQualifiers: "client_redirect",
118 transitionType: "link", 133 transitionType: "link",
119 url: getURL('clientRedirect/b.html') }], 134 url: getURL('clientRedirect/b.html') }],
120 [ "onDOMContentLoaded", 135 [ "onDOMContentLoaded",
121 { frameId: 0, 136 { frameId: 0,
122 tabId: tabId, 137 tabId: tabId,
123 timeStamp: 0, 138 timeStamp: 0,
139 url: getURL('clientRedirect/b.html') }],
140 [ "onCompleted",
141 { frameId: 0,
142 tabId: tabId,
143 timeStamp: 0,
124 url: getURL('clientRedirect/b.html') }]]); 144 url: getURL('clientRedirect/b.html') }]]);
125 chrome.tabs.update(tabId, { url: getURL('clientRedirect/a.html') }); 145 chrome.tabs.update(tabId, { url: getURL('clientRedirect/a.html') });
126 }, 146 },
127 147
128 /* First navigates to a.html which redirects to to b.html which uses 148 /* First navigates to a.html which redirects to to b.html which uses
129 history.back() to navigate back to a.html */ 149 history.back() to navigate back to a.html */
130 function forwardBack() { 150 function forwardBack() {
131 expect([ 151 expect([
132 [ "onBeforeNavigate", 152 [ "onBeforeNavigate",
133 { frameId: 0, 153 { frameId: 0,
134 requestId: 0, 154 requestId: 0,
135 tabId: tabId, 155 tabId: tabId,
136 timeStamp: 0, 156 timeStamp: 0,
137 url: getURL('forwardBack/a.html') }], 157 url: getURL('forwardBack/a.html') }],
138 [ "onCommitted", 158 [ "onCommitted",
139 { frameId: 0, 159 { frameId: 0,
140 tabId: tabId, 160 tabId: tabId,
141 timeStamp: 0, 161 timeStamp: 0,
142 transitionQualifiers: "", 162 transitionQualifiers: "",
143 transitionType: "link", 163 transitionType: "link",
144 url: getURL('forwardBack/a.html') }], 164 url: getURL('forwardBack/a.html') }],
145 [ "onDOMContentLoaded", 165 [ "onDOMContentLoaded",
146 { frameId: 0, 166 { frameId: 0,
147 tabId: tabId, 167 tabId: tabId,
148 timeStamp: 0, 168 timeStamp: 0,
149 url: getURL('forwardBack/a.html') }], 169 url: getURL('forwardBack/a.html') }],
170 [ "onCompleted",
171 { frameId: 0,
172 tabId: tabId,
173 timeStamp: 0,
174 url: getURL('forwardBack/a.html') }],
150 [ "onBeforeNavigate", 175 [ "onBeforeNavigate",
151 { frameId: 0, 176 { frameId: 0,
152 requestId: 0, 177 requestId: 0,
153 tabId: tabId, 178 tabId: tabId,
154 timeStamp: 0, 179 timeStamp: 0,
155 url: getURL('forwardBack/b.html') }], 180 url: getURL('forwardBack/b.html') }],
156 [ "onCommitted", 181 [ "onCommitted",
157 { frameId: 0, 182 { frameId: 0,
158 tabId: tabId, 183 tabId: tabId,
159 timeStamp: 0, 184 timeStamp: 0,
160 transitionQualifiers: "client_redirect", 185 transitionQualifiers: "client_redirect",
161 transitionType: "link", 186 transitionType: "link",
162 url: getURL('forwardBack/b.html') }], 187 url: getURL('forwardBack/b.html') }],
163 [ "onDOMContentLoaded", 188 [ "onDOMContentLoaded",
164 { frameId: 0, 189 { frameId: 0,
165 tabId: tabId, 190 tabId: tabId,
166 timeStamp: 0, 191 timeStamp: 0,
167 url: getURL('forwardBack/b.html') }], 192 url: getURL('forwardBack/b.html') }],
193 [ "onCompleted",
194 { frameId: 0,
195 tabId: tabId,
196 timeStamp: 0,
197 url: getURL('forwardBack/b.html') }],
168 [ "onBeforeNavigate", 198 [ "onBeforeNavigate",
169 { frameId: 0, 199 { frameId: 0,
170 requestId: 0, 200 requestId: 0,
171 tabId: tabId, 201 tabId: tabId,
172 timeStamp: 0, 202 timeStamp: 0,
173 url: getURL('forwardBack/a.html') }], 203 url: getURL('forwardBack/a.html') }],
174 [ "onCommitted", 204 [ "onCommitted",
175 { frameId: 0, 205 { frameId: 0,
176 tabId: tabId, 206 tabId: tabId,
177 timeStamp: 0, 207 timeStamp: 0,
178 transitionQualifiers: "forward_back", 208 transitionQualifiers: "forward_back",
179 transitionType: "link", 209 transitionType: "link",
180 url: getURL('forwardBack/a.html') }], 210 url: getURL('forwardBack/a.html') }],
181 [ "onDOMContentLoaded", 211 [ "onDOMContentLoaded",
182 { frameId: 0, 212 { frameId: 0,
183 tabId: tabId, 213 tabId: tabId,
184 timeStamp: 0, 214 timeStamp: 0,
215 url: getURL('forwardBack/a.html') }],
216 [ "onCompleted",
217 { frameId: 0,
218 tabId: tabId,
219 timeStamp: 0,
185 url: getURL('forwardBack/a.html') }]]); 220 url: getURL('forwardBack/a.html') }]]);
186 chrome.tabs.update(tabId, { url: getURL('forwardBack/a.html') }); 221 chrome.tabs.update(tabId, { url: getURL('forwardBack/a.html') });
187 }, 222 },
188 223
189 /* Navigates to a.html which includes b.html as an iframe. b.html 224 /* Navigates to a.html which includes b.html as an iframe. b.html
190 redirects to c.html. */ 225 redirects to c.html. */
191 function iframe() { 226 function iframe() {
192 expect([ 227 expect([
193 [ "onBeforeNavigate", 228 [ "onBeforeNavigate",
194 { frameId: 0, 229 { frameId: 0,
(...skipping 24 matching lines...) Expand all
219 tabId: tabId, 254 tabId: tabId,
220 timeStamp: 0, 255 timeStamp: 0,
221 transitionQualifiers: "", 256 transitionQualifiers: "",
222 transitionType: "auto_subframe", 257 transitionType: "auto_subframe",
223 url: getURL('iframe/b.html') }], 258 url: getURL('iframe/b.html') }],
224 [ "onDOMContentLoaded", 259 [ "onDOMContentLoaded",
225 { frameId: 1, 260 { frameId: 1,
226 tabId: tabId, 261 tabId: tabId,
227 timeStamp: 0, 262 timeStamp: 0,
228 url: getURL('iframe/b.html') }], 263 url: getURL('iframe/b.html') }],
264 [ "onCompleted",
265 { frameId: 1,
266 tabId: tabId,
267 timeStamp: 0,
268 url: getURL('iframe/b.html') }],
269 [ "onCompleted",
270 { frameId: 0,
271 tabId: tabId,
272 timeStamp: 0,
273 url: getURL('iframe/a.html') }],
229 [ "onBeforeNavigate", 274 [ "onBeforeNavigate",
230 { frameId: 1, 275 { frameId: 1,
231 requestId: 0, 276 requestId: 0,
232 tabId: tabId, 277 tabId: tabId,
233 timeStamp: 0, 278 timeStamp: 0,
234 url: getURL('iframe/c.html') }], 279 url: getURL('iframe/c.html') }],
235 [ "onCommitted", 280 [ "onCommitted",
236 { frameId: 1, 281 { frameId: 1,
237 tabId: tabId, 282 tabId: tabId,
238 timeStamp: 0, 283 timeStamp: 0,
239 transitionQualifiers: "", 284 transitionQualifiers: "",
240 transitionType: "manual_subframe", 285 transitionType: "manual_subframe",
241 url: getURL('iframe/c.html') }], 286 url: getURL('iframe/c.html') }],
242 [ "onDOMContentLoaded", 287 [ "onDOMContentLoaded",
243 { frameId: 1, 288 { frameId: 1,
244 tabId: tabId, 289 tabId: tabId,
245 timeStamp: 0, 290 timeStamp: 0,
291 url: getURL('iframe/c.html') }],
292 [ "onCompleted",
293 { frameId: 1,
294 tabId: tabId,
295 timeStamp: 0,
246 url: getURL('iframe/c.html') }]]); 296 url: getURL('iframe/c.html') }]]);
247 chrome.tabs.update(tabId, { url: getURL('iframe/a.html') }); 297 chrome.tabs.update(tabId, { url: getURL('iframe/a.html') });
248 }, 298 },
249 299
250 /* Navigates to d.html which includes e.html and f.html as iframes. To be 300 /* Navigates to d.html which includes e.html and f.html as iframes. To be
251 able to predict which iframe has which id, the iframe for f.html is 301 able to predict which iframe has which id, the iframe for f.html is
252 created by javascript. f.html then navigates to g.html. */ 302 created by javascript. f.html then navigates to g.html. */
253 function iframe2() { 303 function iframe2() {
254 expect([ 304 expect([
255 [ "onBeforeNavigate", 305 [ "onBeforeNavigate",
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 { frameId: 1, 337 { frameId: 1,
288 tabId: tabId, 338 tabId: tabId,
289 timeStamp: 0, 339 timeStamp: 0,
290 url: getURL('iframe/e.html') }], 340 url: getURL('iframe/e.html') }],
291 [ "onBeforeNavigate", 341 [ "onBeforeNavigate",
292 { frameId: 2, 342 { frameId: 2,
293 requestId: 0, 343 requestId: 0,
294 tabId: tabId, 344 tabId: tabId,
295 timeStamp: 0, 345 timeStamp: 0,
296 url: getURL('iframe/f.html') }], 346 url: getURL('iframe/f.html') }],
347 [ "onCompleted",
348 { frameId: 1,
349 tabId: tabId,
350 timeStamp: 0,
351 url: getURL('iframe/e.html') }],
297 [ "onCommitted", 352 [ "onCommitted",
298 { frameId: 2, 353 { frameId: 2,
299 tabId: tabId, 354 tabId: tabId,
300 timeStamp: 0, 355 timeStamp: 0,
301 transitionQualifiers: "", 356 transitionQualifiers: "",
302 transitionType: "auto_subframe", 357 transitionType: "auto_subframe",
303 url: getURL('iframe/f.html') }], 358 url: getURL('iframe/f.html') }],
304 [ "onDOMContentLoaded", 359 [ "onDOMContentLoaded",
305 { frameId: 2, 360 { frameId: 2,
306 tabId: tabId, 361 tabId: tabId,
307 timeStamp: 0, 362 timeStamp: 0,
308 url: getURL('iframe/f.html') }], 363 url: getURL('iframe/f.html') }],
364 [ "onCompleted",
365 { frameId: 2,
366 tabId: tabId,
367 timeStamp: 0,
368 url: getURL('iframe/f.html') }],
369 [ "onCompleted",
370 { frameId: 0,
371 tabId: tabId,
372 timeStamp: 0,
373 url: getURL('iframe/d.html') }],
309 [ "onBeforeNavigate", 374 [ "onBeforeNavigate",
310 { frameId: 2, 375 { frameId: 2,
311 requestId: 0, 376 requestId: 0,
312 tabId: tabId, 377 tabId: tabId,
313 timeStamp: 0, 378 timeStamp: 0,
314 url: getURL('iframe/g.html') }], 379 url: getURL('iframe/g.html') }],
315 [ "onCommitted", 380 [ "onCommitted",
316 { frameId: 2, 381 { frameId: 2,
317 tabId: tabId, 382 tabId: tabId,
318 timeStamp: 0, 383 timeStamp: 0,
319 transitionQualifiers: "", 384 transitionQualifiers: "",
320 transitionType: "manual_subframe", 385 transitionType: "manual_subframe",
321 url: getURL('iframe/g.html') }], 386 url: getURL('iframe/g.html') }],
322 [ "onDOMContentLoaded", 387 [ "onDOMContentLoaded",
323 { frameId: 2, 388 { frameId: 2,
324 tabId: tabId, 389 tabId: tabId,
325 timeStamp: 0, 390 timeStamp: 0,
391 url: getURL('iframe/g.html') }],
392 [ "onCompleted",
393 { frameId: 2,
394 tabId: tabId,
395 timeStamp: 0,
326 url: getURL('iframe/g.html') }]]); 396 url: getURL('iframe/g.html') }]]);
327 chrome.tabs.update(tabId, { url: getURL('iframe/d.html') }); 397 chrome.tabs.update(tabId, { url: getURL('iframe/d.html') });
328 }, 398 },
329 ]); 399 ]);
330 }); 400 });
331 </script> 401 </script>
OLDNEW
« no previous file with comments | « chrome/renderer/render_view.cc ('k') | chrome/test/data/extensions/api_test/webnavigation/navigation2/test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698