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

Unified Diff: chrome/test/data/extensions/api_test/webrequest/api/test.html

Issue 6880219: Fix crash with webRequest.event.addListener when provided an invalid URL (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: oops Created 9 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/extensions/api_test/webrequest/api/test.html
diff --git a/chrome/test/data/extensions/api_test/webrequest/api/test.html b/chrome/test/data/extensions/api_test/webrequest/api/test.html
index f15191c3e6965e01f4ee3027d0647a4471ec58b2..e599fddd8333f044ba274ee371f535fccb930c2e 100644
--- a/chrome/test/data/extensions/api_test/webrequest/api/test.html
+++ b/chrome/test/data/extensions/api_test/webrequest/api/test.html
@@ -23,40 +23,50 @@ chrome.test.runTests([
function specialEvents() {
var goodFilter = {urls: ["http://*.google.com/*"]};
var goodExtraInfo = ["blocking"];
- var badFilter = {broken: 42};
- var badExtraInfo = ["garbage"];
- // Works for onBeforeSendHeaders only:
- var headersExtraInfo = ["requestHeaders"];
chrome.experimental.webRequest.onBeforeRequest.addListener(
- function(details) {},
- goodFilter, goodExtraInfo);
+ function(details) {},
+ goodFilter, goodExtraInfo);
+
+ // Try a bad RequestFilter.
try {
chrome.experimental.webRequest.onBeforeRequest.addListener(
- function(details) {},
- badFilter, goodExtraInfo);
+ function(details) {},
+ {badFilter: 42}, goodExtraInfo);
chrome.test.fail();
} catch (e) {
chrome.test.assertTrue(e.message.search("Invalid value") >= 0);
}
+
+ // Try a bad ExtraInfoSpec.
try {
chrome.experimental.webRequest.onBeforeRequest.addListener(
- function(details) {},
- goodFilter, badExtraInfo);
+ function(details) {},
+ goodFilter, ["badExtraInfo"]);
chrome.test.fail();
} catch (e) {
chrome.test.assertTrue(e.message.search("Invalid value") >= 0);
}
+
+ // This extraInfoSpec should only work for onBeforeSendHeaders.
+ var headersExtraInfo = ["requestHeaders"];
chrome.experimental.webRequest.onBeforeSendHeaders.addListener(
- function(details) {},
- goodFilter, headersExtraInfo);
- try {
- chrome.experimental.webRequest.onBeforeRequest.addListener(
function(details) {},
goodFilter, headersExtraInfo);
+ try {
+ chrome.experimental.webRequest.onBeforeRequest.addListener(
+ function(details) {},
+ goodFilter, headersExtraInfo);
chrome.test.fail();
} catch (e) {
chrome.test.assertTrue(e.message.search("Invalid value") >= 0);
}
+
+ // Try a bad URL pattern. The error happens asynchronously. We're just
+ // verifying that the browser doesn't crash.
+ chrome.experimental.webRequest.onBeforeRequest.addListener(
+ function(details) {},
+ {urls: ["badpattern://*"]});
battre 2011/04/27 09:45:31 optional: do you want to send a removeListener ins
Matt Perry 2011/04/27 19:45:59 Done.
+
chrome.test.succeed();
},
]);

Powered by Google App Engine
This is Rietveld 408576698