OLD | NEW |
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 non-existant page. | 11 // Navigates to a non-existant page. |
12 function nonExistant() { | 12 function nonExistant() { |
13 expect([ | 13 expect([ |
14 { label: "onBeforeNavigate", | 14 { label: "onBeforeNavigate", |
15 event: "onBeforeNavigate", | 15 event: "onBeforeNavigate", |
16 details: { frameId: 0, | 16 details: { frameId: 0, |
| 17 processId: 0, |
17 tabId: 0, | 18 tabId: 0, |
18 timeStamp: 0, | 19 timeStamp: 0, |
19 url: getURL('failures/nonexistant.html') }}, | 20 url: getURL('failures/nonexistant.html') }}, |
20 { label: "onErrorOccurred", | 21 { label: "onErrorOccurred", |
21 event: "onErrorOccurred", | 22 event: "onErrorOccurred", |
22 details: { error: "net::ERR_FILE_NOT_FOUND", | 23 details: { error: "net::ERR_FILE_NOT_FOUND", |
23 frameId: 0, | 24 frameId: 0, |
| 25 processId: 0, |
24 tabId: 0, | 26 tabId: 0, |
25 timeStamp: 0, | 27 timeStamp: 0, |
26 url: getURL('failures/nonexistant.html') }}], | 28 url: getURL('failures/nonexistant.html') }}], |
27 [["onBeforeNavigate", "onErrorOccurred"]]); | 29 [["onBeforeNavigate", "onErrorOccurred"]]); |
28 chrome.tabs.update(tabId, { url: getURL('failures/nonexistant.html') }); | 30 chrome.tabs.update(tabId, { url: getURL('failures/nonexistant.html') }); |
29 }, | 31 }, |
30 | 32 |
31 // An page that tries to load an non-existant iframe. | 33 // An page that tries to load an non-existant iframe. |
32 function nonExistantIframe() { | 34 function nonExistantIframe() { |
33 expect([ | 35 expect([ |
34 { label: "a-onBeforeNavigate", | 36 { label: "a-onBeforeNavigate", |
35 event: "onBeforeNavigate", | 37 event: "onBeforeNavigate", |
36 details: { frameId: 0, | 38 details: { frameId: 0, |
| 39 processId: 0, |
37 tabId: 0, | 40 tabId: 0, |
38 timeStamp: 0, | 41 timeStamp: 0, |
39 url: getURL('failures/d.html') }}, | 42 url: getURL('failures/d.html') }}, |
40 { label: "a-onCommitted", | 43 { label: "a-onCommitted", |
41 event: "onCommitted", | 44 event: "onCommitted", |
42 details: { frameId: 0, | 45 details: { frameId: 0, |
| 46 processId: 0, |
43 tabId: 0, | 47 tabId: 0, |
44 timeStamp: 0, | 48 timeStamp: 0, |
45 transitionQualifiers: [], | 49 transitionQualifiers: [], |
46 transitionType: "link", | 50 transitionType: "link", |
47 url: getURL('failures/d.html') }}, | 51 url: getURL('failures/d.html') }}, |
48 { label: "a-onDOMContentLoaded", | 52 { label: "a-onDOMContentLoaded", |
49 event: "onDOMContentLoaded", | 53 event: "onDOMContentLoaded", |
50 details: { frameId: 0, | 54 details: { frameId: 0, |
| 55 processId: 0, |
51 tabId: 0, | 56 tabId: 0, |
52 timeStamp: 0, | 57 timeStamp: 0, |
53 url: getURL('failures/d.html') }}, | 58 url: getURL('failures/d.html') }}, |
54 { label: "a-onCompleted", | 59 { label: "a-onCompleted", |
55 event: "onCompleted", | 60 event: "onCompleted", |
56 details: { frameId: 0, | 61 details: { frameId: 0, |
| 62 processId: 0, |
57 tabId: 0, | 63 tabId: 0, |
58 timeStamp: 0, | 64 timeStamp: 0, |
59 url: getURL('failures/d.html') }}, | 65 url: getURL('failures/d.html') }}, |
60 { label: "b-onBeforeNavigate", | 66 { label: "b-onBeforeNavigate", |
61 event: "onBeforeNavigate", | 67 event: "onBeforeNavigate", |
62 details: { frameId: 1, | 68 details: { frameId: 1, |
| 69 processId: 0, |
63 tabId: 0, | 70 tabId: 0, |
64 timeStamp: 0, | 71 timeStamp: 0, |
65 url: getURL('failures/c.html') }}, | 72 url: getURL('failures/c.html') }}, |
66 { label: "b-onErrorOccurred", | 73 { label: "b-onErrorOccurred", |
67 event: "onErrorOccurred", | 74 event: "onErrorOccurred", |
68 details: { error: "net::ERR_FILE_NOT_FOUND", | 75 details: { error: "net::ERR_FILE_NOT_FOUND", |
69 frameId: 1, | 76 frameId: 1, |
| 77 processId: 0, |
70 tabId: 0, | 78 tabId: 0, |
71 timeStamp: 0, | 79 timeStamp: 0, |
72 url: getURL('failures/c.html') }}], | 80 url: getURL('failures/c.html') }}], |
73 [navigationOrder("a-"), | 81 [navigationOrder("a-"), |
74 ["a-onCommitted", "b-onBeforeNavigate", "b-onErrorOccurred", | 82 ["a-onCommitted", "b-onBeforeNavigate", "b-onErrorOccurred", |
75 "a-onCompleted"]]); | 83 "a-onCompleted"]]); |
76 chrome.tabs.update(tabId, { url: getURL('failures/d.html') }); | 84 chrome.tabs.update(tabId, { url: getURL('failures/d.html') }); |
77 }, | 85 }, |
78 | 86 |
79 // An iframe navigates to a non-existant page. | 87 // An iframe navigates to a non-existant page. |
80 function nonExistantIframeNavigation() { | 88 function nonExistantIframeNavigation() { |
81 expect([ | 89 expect([ |
82 { label: "a-onBeforeNavigate", | 90 { label: "a-onBeforeNavigate", |
83 event: "onBeforeNavigate", | 91 event: "onBeforeNavigate", |
84 details: { frameId: 0, | 92 details: { frameId: 0, |
| 93 processId: 0, |
85 tabId: 0, | 94 tabId: 0, |
86 timeStamp: 0, | 95 timeStamp: 0, |
87 url: getURL('failures/a.html') }}, | 96 url: getURL('failures/a.html') }}, |
88 { label: "a-onCommitted", | 97 { label: "a-onCommitted", |
89 event: "onCommitted", | 98 event: "onCommitted", |
90 details: { frameId: 0, | 99 details: { frameId: 0, |
| 100 processId: 0, |
91 tabId: 0, | 101 tabId: 0, |
92 timeStamp: 0, | 102 timeStamp: 0, |
93 transitionQualifiers: [], | 103 transitionQualifiers: [], |
94 transitionType: "link", | 104 transitionType: "link", |
95 url: getURL('failures/a.html') }}, | 105 url: getURL('failures/a.html') }}, |
96 { label: "a-onDOMContentLoaded", | 106 { label: "a-onDOMContentLoaded", |
97 event: "onDOMContentLoaded", | 107 event: "onDOMContentLoaded", |
98 details: { frameId: 0, | 108 details: { frameId: 0, |
| 109 processId: 0, |
99 tabId: 0, | 110 tabId: 0, |
100 timeStamp: 0, | 111 timeStamp: 0, |
101 url: getURL('failures/a.html') }}, | 112 url: getURL('failures/a.html') }}, |
102 { label: "a-onCompleted", | 113 { label: "a-onCompleted", |
103 event: "onCompleted", | 114 event: "onCompleted", |
104 details: { frameId: 0, | 115 details: { frameId: 0, |
| 116 processId: 0, |
105 tabId: 0, | 117 tabId: 0, |
106 timeStamp: 0, | 118 timeStamp: 0, |
107 url: getURL('failures/a.html') }}, | 119 url: getURL('failures/a.html') }}, |
108 { label: "b-onBeforeNavigate", | 120 { label: "b-onBeforeNavigate", |
109 event: "onBeforeNavigate", | 121 event: "onBeforeNavigate", |
110 details: { frameId: 1, | 122 details: { frameId: 1, |
| 123 processId: 0, |
111 tabId: 0, | 124 tabId: 0, |
112 timeStamp: 0, | 125 timeStamp: 0, |
113 url: getURL('failures/b.html') }}, | 126 url: getURL('failures/b.html') }}, |
114 { label: "b-onCommitted", | 127 { label: "b-onCommitted", |
115 event: "onCommitted", | 128 event: "onCommitted", |
116 details: { frameId: 1, | 129 details: { frameId: 1, |
| 130 processId: 0, |
117 tabId: 0, | 131 tabId: 0, |
118 timeStamp: 0, | 132 timeStamp: 0, |
119 transitionQualifiers: [], | 133 transitionQualifiers: [], |
120 transitionType: "auto_subframe", | 134 transitionType: "auto_subframe", |
121 url: getURL('failures/b.html') }}, | 135 url: getURL('failures/b.html') }}, |
122 { label: "b-onDOMContentLoaded", | 136 { label: "b-onDOMContentLoaded", |
123 event: "onDOMContentLoaded", | 137 event: "onDOMContentLoaded", |
124 details: { frameId: 1, | 138 details: { frameId: 1, |
| 139 processId: 0, |
125 tabId: 0, | 140 tabId: 0, |
126 timeStamp: 0, | 141 timeStamp: 0, |
127 url: getURL('failures/b.html') }}, | 142 url: getURL('failures/b.html') }}, |
128 { label: "b-onCompleted", | 143 { label: "b-onCompleted", |
129 event: "onCompleted", | 144 event: "onCompleted", |
130 details: { frameId: 1, | 145 details: { frameId: 1, |
| 146 processId: 0, |
131 tabId: 0, | 147 tabId: 0, |
132 timeStamp: 0, | 148 timeStamp: 0, |
133 url: getURL('failures/b.html') }}, | 149 url: getURL('failures/b.html') }}, |
134 { label: "c-onBeforeNavigate", | 150 { label: "c-onBeforeNavigate", |
135 event: "onBeforeNavigate", | 151 event: "onBeforeNavigate", |
136 details: { frameId: 1, | 152 details: { frameId: 1, |
| 153 processId: 0, |
137 tabId: 0, | 154 tabId: 0, |
138 timeStamp: 0, | 155 timeStamp: 0, |
139 url: getURL('failures/c.html') }}, | 156 url: getURL('failures/c.html') }}, |
140 { label: "c-onErrorOccurred", | 157 { label: "c-onErrorOccurred", |
141 event: "onErrorOccurred", | 158 event: "onErrorOccurred", |
142 details: { error: "net::ERR_FILE_NOT_FOUND", | 159 details: { error: "net::ERR_FILE_NOT_FOUND", |
143 frameId: 1, | 160 frameId: 1, |
| 161 processId: 0, |
144 tabId: 0, | 162 tabId: 0, |
145 timeStamp: 0, | 163 timeStamp: 0, |
146 url: getURL('failures/c.html') }}], | 164 url: getURL('failures/c.html') }}], |
147 [ navigationOrder("a-"), | 165 [ navigationOrder("a-"), |
148 navigationOrder("b-"), | 166 navigationOrder("b-"), |
149 isIFrameOf("b-", "a-"), | 167 isIFrameOf("b-", "a-"), |
150 isLoadedBy("c-", "b-"), | 168 isLoadedBy("c-", "b-"), |
151 ["c-onBeforeNavigate", "c-onErrorOccurred"]]); | 169 ["c-onBeforeNavigate", "c-onErrorOccurred"]]); |
152 chrome.tabs.update(tabId, { url: getURL('failures/a.html') }); | 170 chrome.tabs.update(tabId, { url: getURL('failures/a.html') }); |
153 }, | 171 }, |
154 | 172 |
155 // Cancel a navigation after it is already committed. | 173 // Cancel a navigation after it is already committed. |
156 function cancel() { | 174 function cancel() { |
157 expect([ | 175 expect([ |
158 { label: "onBeforeNavigate", | 176 { label: "onBeforeNavigate", |
159 event: "onBeforeNavigate", | 177 event: "onBeforeNavigate", |
160 details: { frameId: 0, | 178 details: { frameId: 0, |
| 179 processId: 0, |
161 tabId: 0, | 180 tabId: 0, |
162 timeStamp: 0, | 181 timeStamp: 0, |
163 url: getURL('failures/e.html') }}, | 182 url: getURL('failures/e.html') }}, |
164 { label: "onCommitted", | 183 { label: "onCommitted", |
165 event: "onCommitted", | 184 event: "onCommitted", |
166 details: { frameId: 0, | 185 details: { frameId: 0, |
| 186 processId: 0, |
167 tabId: 0, | 187 tabId: 0, |
168 timeStamp: 0, | 188 timeStamp: 0, |
169 transitionQualifiers: [], | 189 transitionQualifiers: [], |
170 transitionType: "link", | 190 transitionType: "link", |
171 url: getURL('failures/e.html') }}, | 191 url: getURL('failures/e.html') }}, |
172 { label: "onDOMContentLoaded", | 192 { label: "onDOMContentLoaded", |
173 event: "onDOMContentLoaded", | 193 event: "onDOMContentLoaded", |
174 details: { frameId: 0, | 194 details: { frameId: 0, |
| 195 processId: 0, |
175 tabId: 0, | 196 tabId: 0, |
176 timeStamp: 0, | 197 timeStamp: 0, |
177 url: getURL('failures/e.html') }}, | 198 url: getURL('failures/e.html') }}, |
178 { label: "onErrorOccurred", | 199 { label: "onErrorOccurred", |
179 event: "onErrorOccurred", | 200 event: "onErrorOccurred", |
180 details: { error: "net::ERR_ABORTED", | 201 details: { error: "net::ERR_ABORTED", |
181 frameId: 0, | 202 frameId: 0, |
| 203 processId: 0, |
182 tabId: 0, | 204 tabId: 0, |
183 timeStamp: 0, | 205 timeStamp: 0, |
184 url: getURL('failures/e.html') }}], | 206 url: getURL('failures/e.html') }}], |
185 [["onBeforeNavigate", "onCommitted", "onDOMContentLoaded", | 207 [["onBeforeNavigate", "onCommitted", "onDOMContentLoaded", |
186 "onErrorOccurred"]]); | 208 "onErrorOccurred"]]); |
187 chrome.tabs.update(tabId, { url: getURL('failures/e.html') }); | 209 chrome.tabs.update(tabId, { url: getURL('failures/e.html') }); |
188 }, | 210 }, |
189 ]); | 211 ]); |
190 }); | 212 }); |
191 } | 213 } |
OLD | NEW |