diff options
-rw-r--r-- | chrome/browser/extensions/extension_webrequest_api.cc | 13 |
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", |