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 9fb7cd4a7125496bc47c8b43582e43bd7daeec0b..95f69e2f755bdd36fc5263085a732ce3b13e4154 100644 |
--- a/extensions/browser/api/web_request/web_request_api.cc |
+++ b/extensions/browser/api/web_request/web_request_api.cc |
@@ -163,7 +163,20 @@ bool IsRequestFromExtension(const net::URLRequest* request, |
if (!info) |
return false; |
- return extension_info_map->process_map().Contains(info->GetChildID()); |
+ const std::set<std::string> extension_ids = |
+ extension_info_map->process_map().GetExtensionsInProcess( |
+ info->GetChildID()); |
+ if (extension_ids.empty()) |
+ return false; |
+ |
+ // Treat hosted apps as normal web pages (crbug.com/526413). |
+ for (const std::string& extension_id : extension_ids) { |
+ const Extension* extension = |
+ extension_info_map->extensions().GetByID(extension_id); |
+ if (extension && !extension->is_hosted_app()) |
+ return true; |
+ } |
+ return false; |
} |
void ExtractRequestRoutingInfo(net::URLRequest* request, |