Index: chrome/test/data/extensions/api_test/webrequest/test_blocking.js |
diff --git a/chrome/test/data/extensions/api_test/webrequest/test_blocking.js b/chrome/test/data/extensions/api_test/webrequest/test_blocking.js |
index 24232e9b727ab624ea1488b082c36c3d4ca623bb..23c64256a3d5b060c30e7fdebe58a1d8b80210e6 100644 |
--- a/chrome/test/data/extensions/api_test/webrequest/test_blocking.js |
+++ b/chrome/test/data/extensions/api_test/webrequest/test_blocking.js |
@@ -125,8 +125,8 @@ runTests([ |
}, |
// Navigates to a page and provides invalid header information. The request |
- // gets canceled. |
- function simpleLoadCancelledOnReceiveHeadersInvalidHeaders() { |
+ // should continue as if the headers were not changed. |
+ function simpleLoadIgnoreOnBeforeSendHeadersInvalidHeaders() { |
expect( |
[ // events |
{ label: "onBeforeRequest", |
@@ -142,32 +142,59 @@ runTests([ |
event: "onBeforeSendHeaders", |
details: { |
url: getURLHttpSimpleLoad(), |
- // Note: no requestHeaders because we don't ask for them. |
+ requestHeadersValid: true |
}, |
retval: {requestHeaders: [{name: "User-Agent"}]} |
}, |
- // Cancelling is considered an error. |
- { label: "onErrorOccurred", |
- event: "onErrorOccurred", |
+ // The headers were invalid, so they should not be modified. |
+ // TODO(robwu): Test whether an error is logged to the console. |
+ { label: "onSendHeaders", |
+ event: "onSendHeaders", |
+ details: { |
+ url: getURLHttpSimpleLoad(), |
+ requestHeadersValid: true |
+ } |
+ }, |
+ { label: "onHeadersReceived", |
+ event: "onHeadersReceived", |
+ details: { |
+ url: getURLHttpSimpleLoad(), |
+ statusLine: "HTTP/1.1 200 OK", |
+ } |
+ }, |
+ { label: "onResponseStarted", |
+ event: "onResponseStarted", |
details: { |
url: getURLHttpSimpleLoad(), |
fromCache: false, |
- error: "net::ERR_BLOCKED_BY_CLIENT" |
- // Request to chrome-extension:// url has no IP. |
+ statusCode: 200, |
+ ip: "127.0.0.1", |
+ statusLine: "HTTP/1.1 200 OK", |
+ } |
+ }, |
+ { label: "onCompleted", |
+ event: "onCompleted", |
+ details: { |
+ url: getURLHttpSimpleLoad(), |
+ fromCache: false, |
+ statusCode: 200, |
+ ip: "127.0.0.1", |
+ statusLine: "HTTP/1.1 200 OK", |
} |
}, |
], |
[ // event order |
- ["onBeforeRequest", "onBeforeSendHeaders", "onErrorOccurred"] |
+ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders", |
+ "onHeadersReceived", "onResponseStarted", "onCompleted"] |
], |
{urls: ["<all_urls>"]}, // filter |
- ["blocking"]); |
+ ["blocking", "requestHeaders"]); |
navigateAndWait(getURLHttpSimpleLoad()); |
}, |
// Navigates to a page and provides invalid header information. The request |
- // gets canceled. |
- function simpleLoadCancelledOnReceiveHeadersInvalidResponse() { |
+ // should continue as if the headers were not changed. |
+ function simpleLoadIgnoreOnBeforeSendHeadersInvalidResponse() { |
expect( |
[ // events |
{ label: "onBeforeRequest", |
@@ -183,26 +210,52 @@ runTests([ |
event: "onBeforeSendHeaders", |
details: { |
url: getURLHttpSimpleLoad(), |
- // Note: no requestHeaders because we don't ask for them. |
+ requestHeadersValid: true |
}, |
retval: {foo: "bar"} |
}, |
- // Cancelling is considered an error. |
- { label: "onErrorOccurred", |
- event: "onErrorOccurred", |
+ // TODO(robwu): Test whether an error is logged to the console. |
+ { label: "onSendHeaders", |
+ event: "onSendHeaders", |
+ details: { |
+ url: getURLHttpSimpleLoad(), |
+ requestHeadersValid: true |
+ } |
+ }, |
+ { label: "onHeadersReceived", |
+ event: "onHeadersReceived", |
+ details: { |
+ url: getURLHttpSimpleLoad(), |
+ statusLine: "HTTP/1.1 200 OK", |
+ } |
+ }, |
+ { label: "onResponseStarted", |
+ event: "onResponseStarted", |
details: { |
url: getURLHttpSimpleLoad(), |
fromCache: false, |
- error: "net::ERR_BLOCKED_BY_CLIENT" |
- // Request to chrome-extension:// url has no IP. |
+ statusCode: 200, |
+ ip: "127.0.0.1", |
+ statusLine: "HTTP/1.1 200 OK", |
+ } |
+ }, |
+ { label: "onCompleted", |
+ event: "onCompleted", |
+ details: { |
+ url: getURLHttpSimpleLoad(), |
+ fromCache: false, |
+ statusCode: 200, |
+ ip: "127.0.0.1", |
+ statusLine: "HTTP/1.1 200 OK", |
} |
}, |
], |
[ // event order |
- ["onBeforeRequest", "onBeforeSendHeaders", "onErrorOccurred"] |
+ ["onBeforeRequest", "onBeforeSendHeaders", "onSendHeaders", |
+ "onHeadersReceived", "onResponseStarted", "onCompleted"] |
], |
{urls: ["<all_urls>"]}, // filter |
- ["blocking"]); |
+ ["blocking", "requestHeaders"]); |
navigateAndWait(getURLHttpSimpleLoad()); |
}, |