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

Unified Diff: chrome/browser/extensions/extension_webrequest_api.cc

Issue 8662010: Rename chrome.experimental.webRequest to chrome.webRequest and chrome.webRequestBlocking (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Regenerated documentation Created 9 years, 1 month 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/browser/extensions/extension_webrequest_api.cc
diff --git a/chrome/browser/extensions/extension_webrequest_api.cc b/chrome/browser/extensions/extension_webrequest_api.cc
index 6b9a148909de96be5fbb73c00ad4a0ebb3e19bc5..3c6bcca149284a3492d74a56065ffcf49aa3e422 100644
--- a/chrome/browser/extensions/extension_webrequest_api.cc
+++ b/chrome/browser/extensions/extension_webrequest_api.cc
@@ -1477,6 +1477,18 @@ bool WebRequestAddEventListener::RunImpl() {
extension_info_map()->extensions().GetByID(extension_id());
std::string extension_name = extension ? extension->name() : extension_id();
+ // We check automatically whether the extension has the 'webRequest'
+ // permission. For blocking calls we require the additional permission
+ // 'webRequestBlocking'.
+ if ((extra_info_spec &
+ (ExtensionWebRequestEventRouter::ExtraInfoSpec::BLOCKING |
+ ExtensionWebRequestEventRouter::ExtraInfoSpec::ASYNC_BLOCKING)) &&
+ !extension->HasAPIPermission(
+ ExtensionAPIPermission::kWebRequestBlocking)) {
+ error_ = keys::kBlockingPermissionRequired;
+ return false;
+ }
+
ExtensionWebRequestEventRouter::GetInstance()->AddEventListener(
profile_id(), extension_id(), extension_name,
event_name, sub_event_name, filter,
« no previous file with comments | « chrome/browser/extensions/extension_webrequest_api.h ('k') | chrome/browser/extensions/extension_webrequest_api_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698