Chromium Code Reviews| Index: extensions/browser/api/web_request/web_request_api.cc |
| diff --git a/extensions/browser/api/web_request/web_request_api.cc b/extensions/browser/api/web_request/web_request_api.cc |
| index d2e230904eab9a3009dd1badf2bc0149b903aa46..c04ced36354e476a8e9dfe9be204d22c93a3fb62 100644 |
| --- a/extensions/browser/api/web_request/web_request_api.cc |
| +++ b/extensions/browser/api/web_request/web_request_api.cc |
| @@ -1499,6 +1499,18 @@ void ExtensionWebRequestEventRouter::GetMatchingListenersImpl( |
| extension_info_map, listener->id.extension_id, url, |
| frame_data.tab_id, crosses_incognito, |
| WebRequestPermissions::REQUIRE_HOST_PERMISSION); |
| + |
| + // Check if URL blocked from view/modification due to a policy protected |
| + // origin. |
| + if (extension_info_map) { |
| + const extensions::Extension* extension = |
| + extension_info_map->extensions().GetByID(listener->id.extension_id); |
|
Devlin
2017/05/25 20:38:32
Can we just put this in WebRequestPermissions::Can
nrpeter
2017/05/26 02:46:52
I would like to but doing so would change the beha
Devlin
2017/06/01 15:21:32
I'm suggesting putting the entire block, including
nrpeter
2017/06/06 21:42:07
Done.
|
| + if (request->initiator() && |
| + extension->permissions_data()->IsRuntimeBlockedHost( |
| + request->initiator()->GetURLWithoutSuborigin())) |
| + access = PermissionsData::ACCESS_DENIED; |
| + } |
| + |
| if (access != PermissionsData::ACCESS_ALLOWED) { |
| if (access == PermissionsData::ACCESS_WITHHELD && |
| web_request_event_router_delegate_) { |