summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_webrequest_api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_webrequest_api.cc')
-rw-r--r--chrome/browser/extensions/extension_webrequest_api.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/chrome/browser/extensions/extension_webrequest_api.cc b/chrome/browser/extensions/extension_webrequest_api.cc
index c80be5d..df62282 100644
--- a/chrome/browser/extensions/extension_webrequest_api.cc
+++ b/chrome/browser/extensions/extension_webrequest_api.cc
@@ -983,18 +983,17 @@ bool WebRequestEventHandled::RunImpl() {
}
if (value->HasKey("cancel")) {
+ // Don't allow cancel mixed with other keys.
+ if (value->HasKey("redirectUrl") || value->HasKey("requestHeaders")) {
+ error_ = keys::kInvalidBlockingResponse;
+ return false;
+ }
+
bool cancel = false;
EXTENSION_FUNCTION_VALIDATE(value->GetBoolean("cancel", &cancel));
response->cancel = cancel;
}
- // Don't allow cancel mixed with other keys.
- if (response->cancel &&
- (value->HasKey("redirectUrl") || value->HasKey("requestHeaders"))) {
- error_ = keys::kInvalidBlockingResponse;
- return false;
- }
-
if (value->HasKey("redirectUrl")) {
std::string new_url_str;
EXTENSION_FUNCTION_VALIDATE(value->GetString("redirectUrl",