| 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 ebe0c124f60d94d265035f5025fc78b9bed2f52f..e5cb4cbf13e047581194e448c1cd94eb9c1ab456 100644
|
| --- a/extensions/browser/api/web_request/web_request_api.cc
|
| +++ b/extensions/browser/api/web_request/web_request_api.cc
|
| @@ -29,6 +29,7 @@
|
| #include "content/public/browser/user_metrics.h"
|
| #include "content/public/common/browser_side_navigation_policy.h"
|
| #include "content/public/common/child_process_host.h"
|
| +#include "content/public/common/resource_type.h"
|
| #include "extensions/browser/api/activity_log/web_request_constants.h"
|
| #include "extensions/browser/api/declarative/rules_registry_service.h"
|
| #include "extensions/browser/api/declarative_webrequest/request_stage.h"
|
| @@ -39,6 +40,7 @@
|
| #include "extensions/browser/api/web_request/web_request_api_helpers.h"
|
| #include "extensions/browser/api/web_request/web_request_event_details.h"
|
| #include "extensions/browser/api/web_request/web_request_event_router_delegate.h"
|
| +#include "extensions/browser/api/web_request/web_request_resource_type.h"
|
| #include "extensions/browser/api/web_request/web_request_time_tracker.h"
|
| #include "extensions/browser/api_activity_monitor.h"
|
| #include "extensions/browser/event_router.h"
|
| @@ -509,8 +511,9 @@ bool ExtensionWebRequestEventRouter::RequestFilter::InitFromValue(
|
| return false;
|
| for (size_t i = 0; i < types_value->GetSize(); ++i) {
|
| std::string type_str;
|
| + types.push_back(WebRequestResourceType::OTHER);
|
| if (!types_value->GetString(i, &type_str) ||
|
| - !helpers::ParseResourceType(type_str, &types)) {
|
| + !ParseWebRequestResourceType(type_str, &types.back())) {
|
| return false;
|
| }
|
| }
|
| @@ -1333,10 +1336,7 @@ void ExtensionWebRequestEventRouter::AddCallbackForPageLoad(
|
| bool ExtensionWebRequestEventRouter::IsPageLoad(
|
| const net::URLRequest* request) const {
|
| const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
|
| - if (!info)
|
| - return false;
|
| -
|
| - return info->GetResourceType() == content::RESOURCE_TYPE_MAIN_FRAME;
|
| + return info && info->GetResourceType() == content::RESOURCE_TYPE_MAIN_FRAME;
|
| }
|
|
|
| void ExtensionWebRequestEventRouter::NotifyPageLoad() {
|
| @@ -1380,7 +1380,7 @@ void ExtensionWebRequestEventRouter::GetMatchingListenersImpl(
|
| const GURL& url,
|
| int render_process_host_id,
|
| int routing_id,
|
| - content::ResourceType resource_type,
|
| + WebRequestResourceType resource_type,
|
| bool is_async_request,
|
| bool is_request_from_extension,
|
| int* extra_info_spec,
|
| @@ -1452,7 +1452,7 @@ void ExtensionWebRequestEventRouter::GetMatchingListenersImpl(
|
| continue;
|
| }
|
|
|
| - const std::vector<content::ResourceType>& types = listener->filter.types;
|
| + const std::vector<WebRequestResourceType>& types = listener->filter.types;
|
| if (!types.empty() &&
|
| std::find(types.begin(), types.end(), resource_type) == types.end()) {
|
| continue;
|
| @@ -1486,7 +1486,7 @@ void ExtensionWebRequestEventRouter::GetMatchingListenersImpl(
|
| // http://crbug.com/105656
|
| bool synchronous_xhr_from_extension =
|
| !is_async_request && is_request_from_extension &&
|
| - resource_type == content::RESOURCE_TYPE_XHR;
|
| + resource_type == WebRequestResourceType::XHR;
|
|
|
| // Only send webRequest events for URLs the extension has access to.
|
| if (blocking_listener && synchronous_xhr_from_extension)
|
| @@ -1512,7 +1512,7 @@ ExtensionWebRequestEventRouter::GetMatchingListeners(
|
| const GURL& url = request->url();
|
| int render_process_host_id = content::ChildProcessHost::kInvalidUniqueID;
|
| int routing_id = MSG_ROUTING_NONE;
|
| - content::ResourceType resource_type = content::RESOURCE_TYPE_LAST_TYPE;
|
| + auto resource_type = GetWebRequestResourceType(request);
|
| // We are conservative here and assume requests are asynchronous in case
|
| // we don't have an info object. We don't want to risk a deadlock.
|
| bool is_async_request = false;
|
| @@ -1522,8 +1522,6 @@ ExtensionWebRequestEventRouter::GetMatchingListeners(
|
| const ResourceRequestInfo* info = ResourceRequestInfo::ForRequest(request);
|
| if (info) {
|
| is_async_request = info->IsAsync();
|
| - if (helpers::IsRelevantResourceType(info->GetResourceType()))
|
| - resource_type = info->GetResourceType();
|
| render_process_host_id = info->GetChildID();
|
| routing_id = info->GetRouteID();
|
| }
|
|
|