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

Side by Side Diff: chrome/test/data/extensions/api_test/webrequest/test_blocking.js

Issue 212693002: Do not cancel request when an error occurs in a webRequest event handler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 9 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/test/data/extensions/api_test/webrequest/test_api.js ('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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 var pass = chrome.test.callbackPass; 5 var pass = chrome.test.callbackPass;
6 6
7 // Constants as functions, not to be called until after runTests. 7 // Constants as functions, not to be called until after runTests.
8 function getURLEchoUserAgent() { 8 function getURLEchoUserAgent() {
9 return getServerURL('echoheader?User-Agent'); 9 return getServerURL('echoheader?User-Agent');
10 } 10 }
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 [ // event order 118 [ // event order
119 ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders", 119 ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
120 "onHeadersReceived", "onErrorOccurred"] 120 "onHeadersReceived", "onErrorOccurred"]
121 ], 121 ],
122 {urls: ["<all_urls>"]}, // filter 122 {urls: ["<all_urls>"]}, // filter
123 ["blocking"]); 123 ["blocking"]);
124 navigateAndWait(getURLHttpSimpleLoad()); 124 navigateAndWait(getURLHttpSimpleLoad());
125 }, 125 },
126 126
127 // Navigates to a page and provides invalid header information. The request 127 // Navigates to a page and provides invalid header information. The request
128 // gets canceled. 128 // should continue as if the headers were not changed.
129 function simpleLoadCancelledOnReceiveHeadersInvalidHeaders() { 129 function simpleLoadIgnoreOnBeforeSendHeadersInvalidHeaders() {
130 expect( 130 expect(
131 [ // events 131 [ // events
132 { label: "onBeforeRequest", 132 { label: "onBeforeRequest",
133 event: "onBeforeRequest", 133 event: "onBeforeRequest",
134 details: { 134 details: {
135 method: "GET", 135 method: "GET",
136 type: "main_frame", 136 type: "main_frame",
137 url: getURLHttpSimpleLoad(), 137 url: getURLHttpSimpleLoad(),
138 frameUrl: getURLHttpSimpleLoad() 138 frameUrl: getURLHttpSimpleLoad()
139 }, 139 },
140 }, 140 },
141 { label: "onBeforeSendHeaders", 141 { label: "onBeforeSendHeaders",
142 event: "onBeforeSendHeaders", 142 event: "onBeforeSendHeaders",
143 details: { 143 details: {
144 url: getURLHttpSimpleLoad(), 144 url: getURLHttpSimpleLoad(),
145 // Note: no requestHeaders because we don't ask for them. 145 requestHeadersValid: true
146 }, 146 },
147 retval: {requestHeaders: [{name: "User-Agent"}]} 147 retval: {requestHeaders: [{name: "User-Agent"}]}
148 }, 148 },
149 // Cancelling is considered an error. 149 // The headers were invalid, so they should not be modified.
150 { label: "onErrorOccurred", 150 // TODO(robwu): Test whether an error is logged to the console.
151 event: "onErrorOccurred", 151 { label: "onSendHeaders",
152 event: "onSendHeaders",
153 details: {
154 url: getURLHttpSimpleLoad(),
155 requestHeadersValid: true
156 }
157 },
158 { label: "onHeadersReceived",
159 event: "onHeadersReceived",
160 details: {
161 url: getURLHttpSimpleLoad(),
162 statusLine: "HTTP/1.1 200 OK",
163 }
164 },
165 { label: "onResponseStarted",
166 event: "onResponseStarted",
152 details: { 167 details: {
153 url: getURLHttpSimpleLoad(), 168 url: getURLHttpSimpleLoad(),
154 fromCache: false, 169 fromCache: false,
155 error: "net::ERR_BLOCKED_BY_CLIENT" 170 statusCode: 200,
156 // Request to chrome-extension:// url has no IP. 171 ip: "127.0.0.1",
172 statusLine: "HTTP/1.1 200 OK",
173 }
174 },
175 { label: "onCompleted",
176 event: "onCompleted",
177 details: {
178 url: getURLHttpSimpleLoad(),
179 fromCache: false,
180 statusCode: 200,
181 ip: "127.0.0.1",
182 statusLine: "HTTP/1.1 200 OK",
157 } 183 }
158 }, 184 },
159 ], 185 ],
160 [ // event order 186 [ // event order
161 ["onBeforeRequest", "onBeforeSendHeaders", "onErrorOccurred"] 187 ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
188 "onHeadersReceived", "onResponseStarted", "onCompleted"]
162 ], 189 ],
163 {urls: ["<all_urls>"]}, // filter 190 {urls: ["<all_urls>"]}, // filter
164 ["blocking"]); 191 ["blocking", "requestHeaders"]);
165 navigateAndWait(getURLHttpSimpleLoad()); 192 navigateAndWait(getURLHttpSimpleLoad());
166 }, 193 },
167 194
168 // Navigates to a page and provides invalid header information. The request 195 // Navigates to a page and provides invalid header information. The request
169 // gets canceled. 196 // should continue as if the headers were not changed.
170 function simpleLoadCancelledOnReceiveHeadersInvalidResponse() { 197 function simpleLoadIgnoreOnBeforeSendHeadersInvalidResponse() {
171 expect( 198 expect(
172 [ // events 199 [ // events
173 { label: "onBeforeRequest", 200 { label: "onBeforeRequest",
174 event: "onBeforeRequest", 201 event: "onBeforeRequest",
175 details: { 202 details: {
176 method: "GET", 203 method: "GET",
177 type: "main_frame", 204 type: "main_frame",
178 url: getURLHttpSimpleLoad(), 205 url: getURLHttpSimpleLoad(),
179 frameUrl: getURLHttpSimpleLoad() 206 frameUrl: getURLHttpSimpleLoad()
180 }, 207 },
181 }, 208 },
182 { label: "onBeforeSendHeaders", 209 { label: "onBeforeSendHeaders",
183 event: "onBeforeSendHeaders", 210 event: "onBeforeSendHeaders",
184 details: { 211 details: {
185 url: getURLHttpSimpleLoad(), 212 url: getURLHttpSimpleLoad(),
186 // Note: no requestHeaders because we don't ask for them. 213 requestHeadersValid: true
187 }, 214 },
188 retval: {foo: "bar"} 215 retval: {foo: "bar"}
189 }, 216 },
190 // Cancelling is considered an error. 217 // TODO(robwu): Test whether an error is logged to the console.
191 { label: "onErrorOccurred", 218 { label: "onSendHeaders",
192 event: "onErrorOccurred", 219 event: "onSendHeaders",
220 details: {
221 url: getURLHttpSimpleLoad(),
222 requestHeadersValid: true
223 }
224 },
225 { label: "onHeadersReceived",
226 event: "onHeadersReceived",
227 details: {
228 url: getURLHttpSimpleLoad(),
229 statusLine: "HTTP/1.1 200 OK",
230 }
231 },
232 { label: "onResponseStarted",
233 event: "onResponseStarted",
193 details: { 234 details: {
194 url: getURLHttpSimpleLoad(), 235 url: getURLHttpSimpleLoad(),
195 fromCache: false, 236 fromCache: false,
196 error: "net::ERR_BLOCKED_BY_CLIENT" 237 statusCode: 200,
197 // Request to chrome-extension:// url has no IP. 238 ip: "127.0.0.1",
239 statusLine: "HTTP/1.1 200 OK",
240 }
241 },
242 { label: "onCompleted",
243 event: "onCompleted",
244 details: {
245 url: getURLHttpSimpleLoad(),
246 fromCache: false,
247 statusCode: 200,
248 ip: "127.0.0.1",
249 statusLine: "HTTP/1.1 200 OK",
198 } 250 }
199 }, 251 },
200 ], 252 ],
201 [ // event order 253 [ // event order
202 ["onBeforeRequest", "onBeforeSendHeaders", "onErrorOccurred"] 254 ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders",
255 "onHeadersReceived", "onResponseStarted", "onCompleted"]
203 ], 256 ],
204 {urls: ["<all_urls>"]}, // filter 257 {urls: ["<all_urls>"]}, // filter
205 ["blocking"]); 258 ["blocking", "requestHeaders"]);
206 navigateAndWait(getURLHttpSimpleLoad()); 259 navigateAndWait(getURLHttpSimpleLoad());
207 }, 260 },
208 261
209 // Navigates to a page with a blocking handler that redirects to a different 262 // Navigates to a page with a blocking handler that redirects to a different
210 // page. 263 // page.
211 function complexLoadRedirected() { 264 function complexLoadRedirected() {
212 expect( 265 expect(
213 [ // events 266 [ // events
214 { label: "onBeforeRequest-1", 267 { label: "onBeforeRequest-1",
215 event: "onBeforeRequest", 268 event: "onBeforeRequest",
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after
931 // Check the page content for our modified User-Agent string. 984 // Check the page content for our modified User-Agent string.
932 navigateAndWait(getURL("simpleLoad/a.html"), function() { 985 navigateAndWait(getURL("simpleLoad/a.html"), function() {
933 var req = new XMLHttpRequest(); 986 var req = new XMLHttpRequest();
934 var asynchronous = true; 987 var asynchronous = true;
935 req.open("GET", getURLHttpXHRData(), asynchronous); 988 req.open("GET", getURLHttpXHRData(), asynchronous);
936 req.send(null); 989 req.send(null);
937 navigateAndWait(getURL("complexLoad/b.jpg")); 990 navigateAndWait(getURL("complexLoad/b.jpg"));
938 }); 991 });
939 }, 992 },
940 ]); 993 ]);
OLDNEW
« no previous file with comments | « chrome/test/data/extensions/api_test/webrequest/test_api.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698