Chromium Code Reviews| Index: extensions/browser/api/web_request/web_request_api_helpers.cc | 
| diff --git a/extensions/browser/api/web_request/web_request_api_helpers.cc b/extensions/browser/api/web_request/web_request_api_helpers.cc | 
| index bdd91f1dfe04310d620abafce152939a6acd4dcb..527931d89b3740121545f80d39110b4f7068dd47 100644 | 
| --- a/extensions/browser/api/web_request/web_request_api_helpers.cc | 
| +++ b/extensions/browser/api/web_request/web_request_api_helpers.cc | 
| @@ -43,7 +43,7 @@ | 
| // top of this file. | 
| using base::Time; | 
| -using content::ResourceType; | 
| +using extensions::WebRequestResourceType; | 
| using net::cookie_util::ParsedRequestCookie; | 
| using net::cookie_util::ParsedRequestCookies; | 
| @@ -56,49 +56,51 @@ namespace { | 
| // Multiple ResourceTypes may map to the same string, but the converse is not | 
| // possible. | 
| static const char* kResourceTypeStrings[] = { | 
| - "main_frame", | 
| - "sub_frame", | 
| - "stylesheet", | 
| - "script", | 
| - "image", | 
| - "font", | 
| - "object", | 
| - "script", | 
| - "script", | 
| - "image", | 
| - "xmlhttprequest", | 
| - "ping", | 
| - "script", | 
| - "object", | 
| - "other", | 
| + "main_frame", | 
| + "sub_frame", | 
| + "stylesheet", | 
| + "script", | 
| + "image", | 
| + "font", | 
| + "object", | 
| + "script", | 
| + "script", | 
| + "image", | 
| + "xmlhttprequest", | 
| + "ping", | 
| + "script", | 
| + "object", | 
| + "websocket", | 
| + "other", | 
| }; | 
| const size_t kResourceTypeStringsLength = arraysize(kResourceTypeStrings); | 
| -static ResourceType kResourceTypeValues[] = { | 
| - content::RESOURCE_TYPE_MAIN_FRAME, | 
| - content::RESOURCE_TYPE_SUB_FRAME, | 
| - content::RESOURCE_TYPE_STYLESHEET, | 
| - content::RESOURCE_TYPE_SCRIPT, | 
| - content::RESOURCE_TYPE_IMAGE, | 
| - content::RESOURCE_TYPE_FONT_RESOURCE, | 
| - content::RESOURCE_TYPE_OBJECT, | 
| - content::RESOURCE_TYPE_WORKER, | 
| - content::RESOURCE_TYPE_SHARED_WORKER, | 
| - content::RESOURCE_TYPE_FAVICON, | 
| - content::RESOURCE_TYPE_XHR, | 
| - content::RESOURCE_TYPE_PING, | 
| - content::RESOURCE_TYPE_SERVICE_WORKER, | 
| - content::RESOURCE_TYPE_PLUGIN_RESOURCE, | 
| - content::RESOURCE_TYPE_LAST_TYPE, // represents "other" | 
| +static WebRequestResourceType kResourceTypeValues[] = { | 
| + WebRequestResourceType::MAIN_FRAME, | 
| + WebRequestResourceType::SUB_FRAME, | 
| + WebRequestResourceType::STYLESHEET, | 
| + WebRequestResourceType::SCRIPT, | 
| + WebRequestResourceType::IMAGE, | 
| + WebRequestResourceType::FONT_RESOURCE, | 
| + WebRequestResourceType::OBJECT, | 
| + WebRequestResourceType::WORKER, | 
| + WebRequestResourceType::SHARED_WORKER, | 
| + WebRequestResourceType::FAVICON, | 
| + WebRequestResourceType::XHR, | 
| + WebRequestResourceType::PING, | 
| + WebRequestResourceType::SERVICE_WORKER, | 
| + WebRequestResourceType::PLUGIN_RESOURCE, | 
| + WebRequestResourceType::WEBSOCKET, | 
| + WebRequestResourceType::LAST_TYPE, // Represents "other". | 
| 
 
Devlin
2017/02/16 15:13:05
if these aren't included in UMA anywhere, it could
 
pkalinnikov
2017/02/16 15:52:45
Done.
 
tyoshino (SeeGerritForStatus)
2017/02/16 16:26:34
sounds good
 
 | 
| }; | 
| const size_t kResourceTypeValuesLength = arraysize(kResourceTypeValues); | 
| static_assert(kResourceTypeStringsLength == kResourceTypeValuesLength, | 
| - "Sizes of string lists and ResourceType lists should be equal"); | 
| + "Sizes of string lists and ResourceType lists should be equal."); | 
| -typedef std::vector<linked_ptr<net::ParsedCookie> > ParsedResponseCookies; | 
| +using ParsedResponseCookies = std::vector<linked_ptr<net::ParsedCookie>>; | 
| void ClearCacheOnNavigationOnUI() { | 
| web_cache::WebCacheManager::GetInstance()->ClearCacheOnNavigation(); | 
| @@ -1248,32 +1250,28 @@ std::unique_ptr<base::DictionaryValue> CreateHeaderDictionary( | 
| return header; | 
| } | 
| -bool IsRelevantResourceType(ResourceType type) { | 
| - ResourceType* iter = | 
| - std::find(kResourceTypeValues, | 
| - kResourceTypeValues + kResourceTypeValuesLength, | 
| - type); | 
| - return iter != (kResourceTypeValues + kResourceTypeValuesLength); | 
| +bool IsRelevantResourceType(content::ResourceType type) { | 
| + auto* end = kResourceTypeValues + kResourceTypeValuesLength; | 
| + return std::find(kResourceTypeValues, end, | 
| + extensions::ToWebRequestResourceType(type)) != end; | 
| } | 
| -const char* ResourceTypeToString(ResourceType type) { | 
| - ResourceType* iter = | 
| - std::find(kResourceTypeValues, | 
| - kResourceTypeValues + kResourceTypeValuesLength, | 
| - type); | 
| - if (iter == (kResourceTypeValues + kResourceTypeValuesLength)) | 
| - return "other"; | 
| - | 
| - return kResourceTypeStrings[iter - kResourceTypeValues]; | 
| +const char* ResourceTypeToString(WebRequestResourceType type) { | 
| + DCHECK_NE(WebRequestResourceType::WEBSOCKET, type); | 
| + auto* end = kResourceTypeValues + kResourceTypeValuesLength; | 
| + auto* iter = std::find(kResourceTypeValues, end, type); | 
| + return iter != end ? kResourceTypeStrings[iter - kResourceTypeValues] | 
| + : "other"; | 
| 
 
tyoshino (SeeGerritForStatus)
2017/02/16 16:13:58
Not a change proposal. Let me explain my understan
 
pkalinnikov
2017/02/16 19:27:30
Please see the new change. Looks like it addressed
 
 | 
| } | 
| bool ParseResourceType(const std::string& type_str, | 
| - std::vector<ResourceType>* types) { | 
| + std::vector<WebRequestResourceType>* types) { | 
| bool found = false; | 
| for (size_t i = 0; i < kResourceTypeStringsLength; ++i) { | 
| if (type_str == kResourceTypeStrings[i]) { | 
| - found = true; | 
| + DCHECK_NE(WebRequestResourceType::WEBSOCKET, kResourceTypeValues[i]); | 
| types->push_back(kResourceTypeValues[i]); | 
| + found = true; | 
| } | 
| } | 
| return found; |