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

Side by Side Diff: chrome/test/data/extensions/api_test/webnavigation/test_iframe.js

Issue 10815051: Send the correct process ID with webNavigation events (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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 | Annotate | Revision Log
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 function runTests() { 5 function runTests() {
6 var getURL = chrome.extension.getURL; 6 var getURL = chrome.extension.getURL;
7 chrome.tabs.create({"url": "about:blank"}, function(tab) { 7 chrome.tabs.create({"url": "about:blank"}, function(tab) {
8 var tabId = tab.id; 8 var tabId = tab.id;
9 9
10 chrome.test.runTests([ 10 chrome.test.runTests([
11 // Navigates to a.html which includes b.html as an iframe. b.html 11 // Navigates to a.html which includes b.html as an iframe. b.html
12 // redirects to c.html. 12 // redirects to c.html.
13 function iframe() { 13 function iframe() {
14 expect([ 14 expect([
15 { label: "a-onBeforeNavigate", 15 { label: "a-onBeforeNavigate",
16 event: "onBeforeNavigate", 16 event: "onBeforeNavigate",
17 details: { frameId: 0, 17 details: { frameId: 0,
18 processId: 0,
18 tabId: 0, 19 tabId: 0,
19 timeStamp: 0, 20 timeStamp: 0,
20 url: getURL('iframe/a.html') }}, 21 url: getURL('iframe/a.html') }},
21 { label: "a-onCommitted", 22 { label: "a-onCommitted",
22 event: "onCommitted", 23 event: "onCommitted",
23 details: { frameId: 0, 24 details: { frameId: 0,
25 processId: 0,
24 tabId: 0, 26 tabId: 0,
25 timeStamp: 0, 27 timeStamp: 0,
26 transitionQualifiers: [], 28 transitionQualifiers: [],
27 transitionType: "link", 29 transitionType: "link",
28 url: getURL('iframe/a.html') }}, 30 url: getURL('iframe/a.html') }},
29 { label: "a-onDOMContentLoaded", 31 { label: "a-onDOMContentLoaded",
30 event: "onDOMContentLoaded", 32 event: "onDOMContentLoaded",
31 details: { frameId: 0, 33 details: { frameId: 0,
34 processId: 0,
32 tabId: 0, 35 tabId: 0,
33 timeStamp: 0, 36 timeStamp: 0,
34 url: getURL('iframe/a.html') }}, 37 url: getURL('iframe/a.html') }},
35 { label: "a-onCompleted", 38 { label: "a-onCompleted",
36 event: "onCompleted", 39 event: "onCompleted",
37 details: { frameId: 0, 40 details: { frameId: 0,
41 processId: 0,
38 tabId: 0, 42 tabId: 0,
39 timeStamp: 0, 43 timeStamp: 0,
40 url: getURL('iframe/a.html') }}, 44 url: getURL('iframe/a.html') }},
41 { label: "b-onBeforeNavigate", 45 { label: "b-onBeforeNavigate",
42 event: "onBeforeNavigate", 46 event: "onBeforeNavigate",
43 details: { frameId: 1, 47 details: { frameId: 1,
48 processId: 0,
44 tabId: 0, 49 tabId: 0,
45 timeStamp: 0, 50 timeStamp: 0,
46 url: getURL('iframe/b.html') }}, 51 url: getURL('iframe/b.html') }},
47 { label: "b-onCommitted", 52 { label: "b-onCommitted",
48 event: "onCommitted", 53 event: "onCommitted",
49 details: { frameId: 1, 54 details: { frameId: 1,
55 processId: 0,
50 tabId: 0, 56 tabId: 0,
51 timeStamp: 0, 57 timeStamp: 0,
52 transitionQualifiers: [], 58 transitionQualifiers: [],
53 transitionType: "auto_subframe", 59 transitionType: "auto_subframe",
54 url: getURL('iframe/b.html') }}, 60 url: getURL('iframe/b.html') }},
55 { label: "b-onDOMContentLoaded", 61 { label: "b-onDOMContentLoaded",
56 event: "onDOMContentLoaded", 62 event: "onDOMContentLoaded",
57 details: { frameId: 1, 63 details: { frameId: 1,
64 processId: 0,
58 tabId: 0, 65 tabId: 0,
59 timeStamp: 0, 66 timeStamp: 0,
60 url: getURL('iframe/b.html') }}, 67 url: getURL('iframe/b.html') }},
61 { label: "b-onCompleted", 68 { label: "b-onCompleted",
62 event: "onCompleted", 69 event: "onCompleted",
63 details: { frameId: 1, 70 details: { frameId: 1,
71 processId: 0,
64 tabId: 0, 72 tabId: 0,
65 timeStamp: 0, 73 timeStamp: 0,
66 url: getURL('iframe/b.html') }}, 74 url: getURL('iframe/b.html') }},
67 { label: "c-onBeforeNavigate", 75 { label: "c-onBeforeNavigate",
68 event: "onBeforeNavigate", 76 event: "onBeforeNavigate",
69 details: { frameId: 1, 77 details: { frameId: 1,
78 processId: 0,
70 tabId: 0, 79 tabId: 0,
71 timeStamp: 0, 80 timeStamp: 0,
72 url: getURL('iframe/c.html') }}, 81 url: getURL('iframe/c.html') }},
73 { label: "c-onCommitted", 82 { label: "c-onCommitted",
74 event: "onCommitted", 83 event: "onCommitted",
75 details: { frameId: 1, 84 details: { frameId: 1,
85 processId: 0,
76 tabId: 0, 86 tabId: 0,
77 timeStamp: 0, 87 timeStamp: 0,
78 transitionQualifiers: [], 88 transitionQualifiers: [],
79 transitionType: "auto_subframe", 89 transitionType: "auto_subframe",
80 url: getURL('iframe/c.html') }}, 90 url: getURL('iframe/c.html') }},
81 { label: "c-onDOMContentLoaded", 91 { label: "c-onDOMContentLoaded",
82 event: "onDOMContentLoaded", 92 event: "onDOMContentLoaded",
83 details: { frameId: 1, 93 details: { frameId: 1,
94 processId: 0,
84 tabId: 0, 95 tabId: 0,
85 timeStamp: 0, 96 timeStamp: 0,
86 url: getURL('iframe/c.html') }}, 97 url: getURL('iframe/c.html') }},
87 { label: "c-onCompleted", 98 { label: "c-onCompleted",
88 event: "onCompleted", 99 event: "onCompleted",
89 details: { frameId: 1, 100 details: { frameId: 1,
101 processId: 0,
90 tabId: 0, 102 tabId: 0,
91 timeStamp: 0, 103 timeStamp: 0,
92 url: getURL('iframe/c.html') }}], 104 url: getURL('iframe/c.html') }}],
93 [ navigationOrder("a-"), 105 [ navigationOrder("a-"),
94 navigationOrder("b-"), 106 navigationOrder("b-"),
95 navigationOrder("c-"), 107 navigationOrder("c-"),
96 isIFrameOf("b-", "a-"), 108 isIFrameOf("b-", "a-"),
97 isLoadedBy("c-", "b-")]); 109 isLoadedBy("c-", "b-")]);
98 chrome.tabs.update(tabId, { url: getURL('iframe/a.html') }); 110 chrome.tabs.update(tabId, { url: getURL('iframe/a.html') });
99 }, 111 },
100 112
101 // Navigates to d.html which includes e.html and f.html as iframes. To be 113 // Navigates to d.html which includes e.html and f.html as iframes. To be
102 // able to predict which iframe has which id, the iframe for f.html is 114 // able to predict which iframe has which id, the iframe for f.html is
103 // created by javascript. f.html then navigates to g.html. 115 // created by javascript. f.html then navigates to g.html.
104 function iframeMultiple() { 116 function iframeMultiple() {
105 expect([ 117 expect([
106 { label: "d-onBeforeNavigate", 118 { label: "d-onBeforeNavigate",
107 event: "onBeforeNavigate", 119 event: "onBeforeNavigate",
108 details: { frameId: 0, 120 details: { frameId: 0,
121 processId: 0,
109 tabId: 0, 122 tabId: 0,
110 timeStamp: 0, 123 timeStamp: 0,
111 url: getURL('iframe/d.html') }}, 124 url: getURL('iframe/d.html') }},
112 { label: "d-onCommitted", 125 { label: "d-onCommitted",
113 event: "onCommitted", 126 event: "onCommitted",
114 details: { frameId: 0, 127 details: { frameId: 0,
128 processId: 0,
115 tabId: 0, 129 tabId: 0,
116 timeStamp: 0, 130 timeStamp: 0,
117 transitionQualifiers: [], 131 transitionQualifiers: [],
118 transitionType: "link", 132 transitionType: "link",
119 url: getURL('iframe/d.html') }}, 133 url: getURL('iframe/d.html') }},
120 { label: "d-onDOMContentLoaded", 134 { label: "d-onDOMContentLoaded",
121 event: "onDOMContentLoaded", 135 event: "onDOMContentLoaded",
122 details: { frameId: 0, 136 details: { frameId: 0,
137 processId: 0,
123 tabId: 0, 138 tabId: 0,
124 timeStamp: 0, 139 timeStamp: 0,
125 url: getURL('iframe/d.html') }}, 140 url: getURL('iframe/d.html') }},
126 { label: "d-onCompleted", 141 { label: "d-onCompleted",
127 event: "onCompleted", 142 event: "onCompleted",
128 details: { frameId: 0, 143 details: { frameId: 0,
144 processId: 0,
129 tabId: 0, 145 tabId: 0,
130 timeStamp: 0, 146 timeStamp: 0,
131 url: getURL('iframe/d.html') }}, 147 url: getURL('iframe/d.html') }},
132 { label: "e-onBeforeNavigate", 148 { label: "e-onBeforeNavigate",
133 event: "onBeforeNavigate", 149 event: "onBeforeNavigate",
134 details: { frameId: 1, 150 details: { frameId: 1,
151 processId: 0,
135 tabId: 0, 152 tabId: 0,
136 timeStamp: 0, 153 timeStamp: 0,
137 url: getURL('iframe/e.html') }}, 154 url: getURL('iframe/e.html') }},
138 { label: "e-onCommitted", 155 { label: "e-onCommitted",
139 event: "onCommitted", 156 event: "onCommitted",
140 details: { frameId: 1, 157 details: { frameId: 1,
158 processId: 0,
141 tabId: 0, 159 tabId: 0,
142 timeStamp: 0, 160 timeStamp: 0,
143 transitionQualifiers: [], 161 transitionQualifiers: [],
144 transitionType: "auto_subframe", 162 transitionType: "auto_subframe",
145 url: getURL('iframe/e.html') }}, 163 url: getURL('iframe/e.html') }},
146 { label: "e-onDOMContentLoaded", 164 { label: "e-onDOMContentLoaded",
147 event: "onDOMContentLoaded", 165 event: "onDOMContentLoaded",
148 details: { frameId: 1, 166 details: { frameId: 1,
167 processId: 0,
149 tabId: 0, 168 tabId: 0,
150 timeStamp: 0, 169 timeStamp: 0,
151 url: getURL('iframe/e.html') }}, 170 url: getURL('iframe/e.html') }},
152 { label: "e-onCompleted", 171 { label: "e-onCompleted",
153 event: "onCompleted", 172 event: "onCompleted",
154 details: { frameId: 1, 173 details: { frameId: 1,
174 processId: 0,
155 tabId: 0, 175 tabId: 0,
156 timeStamp: 0, 176 timeStamp: 0,
157 url: getURL('iframe/e.html') }}, 177 url: getURL('iframe/e.html') }},
158 { label: "f-onBeforeNavigate", 178 { label: "f-onBeforeNavigate",
159 event: "onBeforeNavigate", 179 event: "onBeforeNavigate",
160 details: { frameId: 2, 180 details: { frameId: 2,
181 processId: 0,
161 tabId: 0, 182 tabId: 0,
162 timeStamp: 0, 183 timeStamp: 0,
163 url: getURL('iframe/f.html') }}, 184 url: getURL('iframe/f.html') }},
164 { label: "f-onCommitted", 185 { label: "f-onCommitted",
165 event: "onCommitted", 186 event: "onCommitted",
166 details: { frameId: 2, 187 details: { frameId: 2,
188 processId: 0,
167 tabId: 0, 189 tabId: 0,
168 timeStamp: 0, 190 timeStamp: 0,
169 transitionQualifiers: [], 191 transitionQualifiers: [],
170 transitionType: "auto_subframe", 192 transitionType: "auto_subframe",
171 url: getURL('iframe/f.html') }}, 193 url: getURL('iframe/f.html') }},
172 { label: "f-onDOMContentLoaded", 194 { label: "f-onDOMContentLoaded",
173 event: "onDOMContentLoaded", 195 event: "onDOMContentLoaded",
174 details: { frameId: 2, 196 details: { frameId: 2,
197 processId: 0,
175 tabId: 0, 198 tabId: 0,
176 timeStamp: 0, 199 timeStamp: 0,
177 url: getURL('iframe/f.html') }}, 200 url: getURL('iframe/f.html') }},
178 { label: "f-onCompleted", 201 { label: "f-onCompleted",
179 event: "onCompleted", 202 event: "onCompleted",
180 details: { frameId: 2, 203 details: { frameId: 2,
204 processId: 0,
181 tabId: 0, 205 tabId: 0,
182 timeStamp: 0, 206 timeStamp: 0,
183 url: getURL('iframe/f.html') }}, 207 url: getURL('iframe/f.html') }},
184 { label: "g-onBeforeNavigate", 208 { label: "g-onBeforeNavigate",
185 event: "onBeforeNavigate", 209 event: "onBeforeNavigate",
186 details: { frameId: 2, 210 details: { frameId: 2,
211 processId: 0,
187 tabId: 0, 212 tabId: 0,
188 timeStamp: 0, 213 timeStamp: 0,
189 url: getURL('iframe/g.html') }}, 214 url: getURL('iframe/g.html') }},
190 { label: "g-onCommitted", 215 { label: "g-onCommitted",
191 event: "onCommitted", 216 event: "onCommitted",
192 details: { frameId: 2, 217 details: { frameId: 2,
218 processId: 0,
193 tabId: 0, 219 tabId: 0,
194 timeStamp: 0, 220 timeStamp: 0,
195 transitionQualifiers: [], 221 transitionQualifiers: [],
196 transitionType: "auto_subframe", 222 transitionType: "auto_subframe",
197 url: getURL('iframe/g.html') }}, 223 url: getURL('iframe/g.html') }},
198 { label: "g-onDOMContentLoaded", 224 { label: "g-onDOMContentLoaded",
199 event: "onDOMContentLoaded", 225 event: "onDOMContentLoaded",
200 details: { frameId: 2, 226 details: { frameId: 2,
227 processId: 0,
201 tabId: 0, 228 tabId: 0,
202 timeStamp: 0, 229 timeStamp: 0,
203 url: getURL('iframe/g.html') }}, 230 url: getURL('iframe/g.html') }},
204 { label: "g-onCompleted", 231 { label: "g-onCompleted",
205 event: "onCompleted", 232 event: "onCompleted",
206 details: { frameId: 2, 233 details: { frameId: 2,
234 processId: 0,
207 tabId: 0, 235 tabId: 0,
208 timeStamp: 0, 236 timeStamp: 0,
209 url: getURL('iframe/g.html') }}], 237 url: getURL('iframe/g.html') }}],
210 [ navigationOrder("d-"), 238 [ navigationOrder("d-"),
211 navigationOrder("e-"), 239 navigationOrder("e-"),
212 navigationOrder("f-"), 240 navigationOrder("f-"),
213 navigationOrder("g-"), 241 navigationOrder("g-"),
214 isIFrameOf("e-", "d-"), 242 isIFrameOf("e-", "d-"),
215 ["d-onDOMContentLoaded", "f-onBeforeNavigate", "f-onCompleted", 243 ["d-onDOMContentLoaded", "f-onBeforeNavigate", "f-onCompleted",
216 "d-onCompleted"], 244 "d-onCompleted"],
217 isLoadedBy("g-", "f-")]); 245 isLoadedBy("g-", "f-")]);
218 chrome.tabs.update(tabId, { url: getURL('iframe/d.html') }); 246 chrome.tabs.update(tabId, { url: getURL('iframe/d.html') });
219 }, 247 },
220 248
221 // Navigates to h.html which includes i.html that triggers a navigation 249 // Navigates to h.html which includes i.html that triggers a navigation
222 // on the main frame. 250 // on the main frame.
223 function iframeNavigate() { 251 function iframeNavigate() {
224 expect([ 252 expect([
225 { label: "h-onBeforeNavigate", 253 { label: "h-onBeforeNavigate",
226 event: "onBeforeNavigate", 254 event: "onBeforeNavigate",
227 details: { frameId: 0, 255 details: { frameId: 0,
256 processId: 0,
228 tabId: 0, 257 tabId: 0,
229 timeStamp: 0, 258 timeStamp: 0,
230 url: getURL('iframe/h.html') }}, 259 url: getURL('iframe/h.html') }},
231 { label: "h-onCommitted", 260 { label: "h-onCommitted",
232 event: "onCommitted", 261 event: "onCommitted",
233 details: { frameId: 0, 262 details: { frameId: 0,
263 processId: 0,
234 tabId: 0, 264 tabId: 0,
235 timeStamp: 0, 265 timeStamp: 0,
236 transitionQualifiers: [], 266 transitionQualifiers: [],
237 transitionType: "link", 267 transitionType: "link",
238 url: getURL('iframe/h.html') }}, 268 url: getURL('iframe/h.html') }},
239 { label: "h-onDOMContentLoaded", 269 { label: "h-onDOMContentLoaded",
240 event: "onDOMContentLoaded", 270 event: "onDOMContentLoaded",
241 details: { frameId: 0, 271 details: { frameId: 0,
272 processId: 0,
242 tabId: 0, 273 tabId: 0,
243 timeStamp: 0, 274 timeStamp: 0,
244 url: getURL('iframe/h.html') }}, 275 url: getURL('iframe/h.html') }},
245 { label: "h-onCompleted", 276 { label: "h-onCompleted",
246 event: "onCompleted", 277 event: "onCompleted",
247 details: { frameId: 0, 278 details: { frameId: 0,
279 processId: 0,
248 tabId: 0, 280 tabId: 0,
249 timeStamp: 0, 281 timeStamp: 0,
250 url: getURL('iframe/h.html') }}, 282 url: getURL('iframe/h.html') }},
251 { label: "i-onBeforeNavigate", 283 { label: "i-onBeforeNavigate",
252 event: "onBeforeNavigate", 284 event: "onBeforeNavigate",
253 details: { frameId: 1, 285 details: { frameId: 1,
286 processId: 0,
254 tabId: 0, 287 tabId: 0,
255 timeStamp: 0, 288 timeStamp: 0,
256 url: getURL('iframe/i.html') }}, 289 url: getURL('iframe/i.html') }},
257 { label: "i-onCommitted", 290 { label: "i-onCommitted",
258 event: "onCommitted", 291 event: "onCommitted",
259 details: { frameId: 1, 292 details: { frameId: 1,
293 processId: 0,
260 tabId: 0, 294 tabId: 0,
261 timeStamp: 0, 295 timeStamp: 0,
262 transitionQualifiers: [], 296 transitionQualifiers: [],
263 transitionType: "auto_subframe", 297 transitionType: "auto_subframe",
264 url: getURL('iframe/i.html') }}, 298 url: getURL('iframe/i.html') }},
265 { label: "i-onDOMContentLoaded", 299 { label: "i-onDOMContentLoaded",
266 event: "onDOMContentLoaded", 300 event: "onDOMContentLoaded",
267 details: { frameId: 1, 301 details: { frameId: 1,
302 processId: 0,
268 tabId: 0, 303 tabId: 0,
269 timeStamp: 0, 304 timeStamp: 0,
270 url: getURL('iframe/i.html') }}, 305 url: getURL('iframe/i.html') }},
271 { label: "i-onCompleted", 306 { label: "i-onCompleted",
272 event: "onCompleted", 307 event: "onCompleted",
273 details: { frameId: 1, 308 details: { frameId: 1,
309 processId: 0,
274 tabId: 0, 310 tabId: 0,
275 timeStamp: 0, 311 timeStamp: 0,
276 url: getURL('iframe/i.html') }}, 312 url: getURL('iframe/i.html') }},
277 { label: "c-onBeforeNavigate", 313 { label: "c-onBeforeNavigate",
278 event: "onBeforeNavigate", 314 event: "onBeforeNavigate",
279 details: { frameId: 0, 315 details: { frameId: 0,
316 processId: 0,
280 tabId: 0, 317 tabId: 0,
281 timeStamp: 0, 318 timeStamp: 0,
282 url: getURL('iframe/c.html') }}, 319 url: getURL('iframe/c.html') }},
283 { label: "c-onCommitted", 320 { label: "c-onCommitted",
284 event: "onCommitted", 321 event: "onCommitted",
285 details: { frameId: 0, 322 details: { frameId: 0,
323 processId: 0,
286 tabId: 0, 324 tabId: 0,
287 timeStamp: 0, 325 timeStamp: 0,
288 transitionQualifiers: ['maybe_client_redirect'], 326 transitionQualifiers: ['maybe_client_redirect'],
289 transitionType: "link", 327 transitionType: "link",
290 url: getURL('iframe/c.html') }}, 328 url: getURL('iframe/c.html') }},
291 { label: "c-onDOMContentLoaded", 329 { label: "c-onDOMContentLoaded",
292 event: "onDOMContentLoaded", 330 event: "onDOMContentLoaded",
293 details: { frameId: 0, 331 details: { frameId: 0,
332 processId: 0,
294 tabId: 0, 333 tabId: 0,
295 timeStamp: 0, 334 timeStamp: 0,
296 url: getURL('iframe/c.html') }}, 335 url: getURL('iframe/c.html') }},
297 { label: "c-onCompleted", 336 { label: "c-onCompleted",
298 event: "onCompleted", 337 event: "onCompleted",
299 details: { frameId: 0, 338 details: { frameId: 0,
339 processId: 0,
300 tabId: 0, 340 tabId: 0,
301 timeStamp: 0, 341 timeStamp: 0,
302 url: getURL('iframe/c.html') }}], 342 url: getURL('iframe/c.html') }}],
303 [ navigationOrder("h-"), 343 [ navigationOrder("h-"),
304 navigationOrder("i-"), 344 navigationOrder("i-"),
305 navigationOrder("c-"), 345 navigationOrder("c-"),
306 isIFrameOf("i-", "h-"), 346 isIFrameOf("i-", "h-"),
307 isLoadedBy("c-", "i-") ]); 347 isLoadedBy("c-", "i-") ]);
308 chrome.tabs.update(tabId, { url: getURL('iframe/h.html') }); 348 chrome.tabs.update(tabId, { url: getURL('iframe/h.html') });
309 }, 349 },
310 ]); 350 ]);
311 }); 351 });
312 } 352 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698