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

Unified Diff: extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc

Issue 2700553002: Introduce WebRequestResourceType. (Closed)
Patch Set: Make compiler happy; make type<->string mapping self-checking. Created 3 years, 10 months 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: extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc
diff --git a/extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc b/extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc
index 4c4d183ae1003d1de7d7610d827353c9f66bb49d..e40c6c4db79a2da7add217f0a8cb6c7788d3fb64 100644
--- a/extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc
+++ b/extensions/browser/api/declarative_webrequest/webrequest_condition_attribute.cc
@@ -23,6 +23,7 @@
#include "extensions/browser/api/declarative_webrequest/webrequest_condition.h"
#include "extensions/browser/api/declarative_webrequest/webrequest_constants.h"
#include "extensions/browser/api/web_request/web_request_api_helpers.h"
+#include "extensions/browser/api/web_request/web_request_resource_type.h"
#include "extensions/common/error_utils.h"
#include "net/base/net_errors.h"
#include "net/base/registry_controlled_domains/registry_controlled_domain.h"
@@ -36,7 +37,6 @@ using base::DictionaryValue;
using base::ListValue;
using base::StringValue;
using base::Value;
-using content::ResourceType;
namespace helpers = extension_web_request_api_helpers;
namespace keys = extensions::declarative_webrequest_constants;
@@ -130,8 +130,8 @@ WebRequestConditionAttribute::Create(
//
WebRequestConditionAttributeResourceType::
-WebRequestConditionAttributeResourceType(
- const std::vector<ResourceType>& types)
+ WebRequestConditionAttributeResourceType(
+ const std::vector<WebRequestResourceType>& types)
: types_(types) {}
WebRequestConditionAttributeResourceType::
@@ -154,12 +154,14 @@ WebRequestConditionAttributeResourceType::Create(
size_t number_types = value_as_list->GetSize();
- std::vector<ResourceType> passed_types;
+ std::vector<WebRequestResourceType> passed_types;
passed_types.reserve(number_types);
for (size_t i = 0; i < number_types; ++i) {
std::string resource_type_string;
+ passed_types.push_back(WebRequestResourceType::OTHER);
if (!value_as_list->GetString(i, &resource_type_string) ||
- !helpers::ParseResourceType(resource_type_string, &passed_types)) {
+ !ParseWebRequestResourceType(resource_type_string,
+ &passed_types.back())) {
*error = ErrorUtils::FormatErrorMessage(kInvalidValue,
keys::kResourceTypeKey);
return scoped_refptr<const WebRequestConditionAttribute>(NULL);
@@ -180,12 +182,8 @@ bool WebRequestConditionAttributeResourceType::IsFulfilled(
const WebRequestData& request_data) const {
if (!(request_data.stage & GetStages()))
return false;
- const content::ResourceRequestInfo* info =
- content::ResourceRequestInfo::ForRequest(request_data.request);
- if (!info)
- return false;
- return std::find(types_.begin(), types_.end(), info->GetResourceType()) !=
- types_.end();
+ const auto resource_type = GetWebRequestResourceType(request_data.request);
+ return std::find(types_.begin(), types_.end(), resource_type) != types_.end();
}
WebRequestConditionAttribute::Type
@@ -258,6 +256,7 @@ bool WebRequestConditionAttributeContentType::IsFulfilled(
const WebRequestData& request_data) const {
if (!(request_data.stage & GetStages()))
return false;
+
std::string content_type;
request_data.original_response_headers->GetNormalizedHeader(
net::HttpRequestHeaders::kContentType, &content_type);

Powered by Google App Engine
This is Rietveld 408576698