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

Side by Side Diff: chrome/test/data/extensions/api_test/webrequest/test_api.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
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 chrome.test.runTests([ 5 chrome.test.runTests([
6 function addListeners() { 6 function addListeners() {
7 chrome.webRequest.onBeforeRequest.addListener( 7 chrome.webRequest.onBeforeRequest.addListener(
8 function(details) {}, {urls: ["<all_urls>"]}); 8 function(details) {}, {urls: ["<all_urls>"]});
9 chrome.webRequest.onBeforeSendHeaders.addListener( 9 chrome.webRequest.onBeforeSendHeaders.addListener(
10 function(details) {}, {urls: ["<all_urls>"]}); 10 function(details) {}, {urls: ["<all_urls>"]});
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 {types: ["xmlhttprequest"], urls: ["*://*/*"]}, 134 {types: ["xmlhttprequest"], urls: ["*://*/*"]},
135 ["blocking", "responseHeaders"]); 135 ["blocking", "responseHeaders"]);
136 136
137 chrome.test.getConfig(function(config) { 137 chrome.test.getConfig(function(config) {
138 var url = 'http://127.0.0.1:' + config.testServer.port + '/simple.html'; 138 var url = 'http://127.0.0.1:' + config.testServer.port + '/simple.html';
139 var xhr = new XMLHttpRequest(); 139 var xhr = new XMLHttpRequest();
140 xhr.open('GET', url); 140 xhr.open('GET', url);
141 xhr.onload = function() { 141 xhr.onload = function() {
142 chrome.webRequest.onHeadersReceived.removeListener( 142 chrome.webRequest.onHeadersReceived.removeListener(
143 callbackWithBadHeadersResponse); 143 callbackWithBadHeadersResponse);
144 144 var responseHeaders = xhr.getAllResponseHeaders() || '';
145 chrome.test.fail(); 145 chrome.test.assertTrue(
146 }; 146 responseHeaders.indexOf('X-Header-With-Invalid-Value') === -1);
147 xhr.onerror = function() {
148 chrome.webRequest.onHeadersReceived.removeListener(
149 callbackWithBadHeadersResponse);
150 // When the returned header is invalid, the request should be canceled.
151 // TODO(robwu): If possible, check whether an error with the following 147 // TODO(robwu): If possible, check whether an error with the following
152 // message has been logged to the JavaScript console: 148 // message has been logged to the JavaScript console:
153 // "Header 'X-Header-With-Invalid-Value' has an invalid value" 149 // "Header 'X-Header-With-Invalid-Value' has an invalid value"
154 chrome.test.succeed(); 150 chrome.test.succeed();
155 }; 151 };
152 xhr.onerror = function() {
153 chrome.webRequest.onHeadersReceived.removeListener(
154 callbackWithBadHeadersResponse);
155 chrome.test.fail();
156 };
156 xhr.send(); 157 xhr.send();
157 }); 158 });
158 } 159 }
159 ]); 160 ]);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698