Chromium Code Reviews| Index: chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc |
| diff --git a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc |
| index 739d0744b955c08569db4a8f5bf9f501b75c6541..7855a689d864c2157c3359108c4580b7b4e8e744 100644 |
| --- a/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc |
| +++ b/chrome/browser/extensions/api/declarative_webrequest/webrequest_action.cc |
| @@ -18,6 +18,8 @@ |
| #include "chrome/browser/extensions/api/web_request/web_request_api_constants.h" |
| #include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h" |
| #include "chrome/browser/extensions/api/web_request/web_request_permissions.h" |
| +#include "chrome/browser/extensions/extension_renderer_state.h" |
| +#include "content/public/browser/resource_request_info.h" |
| #include "content/public/common/url_constants.h" |
| #include "extensions/browser/info_map.h" |
| #include "extensions/common/error_utils.h" |
| @@ -26,6 +28,8 @@ |
| #include "net/url_request/url_request.h" |
| #include "third_party/re2/re2/re2.h" |
| +using content::ResourceRequestInfo; |
| + |
| namespace extensions { |
| namespace helpers = extension_web_request_api_helpers; |
| @@ -481,6 +485,16 @@ bool WebRequestAction::HasPermission(const InfoMap* extension_info_map, |
| if (!extension_info_map) |
| return true; |
| + const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request); |
| + int process_id = info->GetChildID(); |
| + int route_id = info->GetRouteID(); |
| + ExtensionRendererState::WebViewInfo webview_info; |
| + // The embedder can always access all hosts from within a <webview>. |
| + // The same is not true of extensions. |
| + if (ExtensionRendererState::GetInstance()->GetWebViewInfo( |
| + process_id, route_id, &webview_info)) { |
|
lazyboy
2014/05/29 17:50:14
Indent 4 more spaces.
Fady Samuel
2014/05/29 18:44:45
Done.
|
| + return true; |
| + } |
| WebRequestPermissions::HostPermissionsCheck permission_check = |
| WebRequestPermissions::REQUIRE_ALL_URLS; |
| switch (host_permissions_strategy()) { |