| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "extensions/browser/api/web_request/web_request_resource_type.h" | 5 #include "extensions/browser/api/web_request/web_request_resource_type.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/numerics/safe_conversions.h" | 8 #include "base/numerics/safe_conversions.h" |
| 9 #include "content/public/browser/resource_request_info.h" | 9 #include "content/public/browser/resource_request_info.h" |
| 10 #include "net/url_request/url_request.h" | 10 #include "net/url_request/url_request.h" |
| 11 | 11 |
| 12 namespace extensions { | 12 namespace extensions { |
| 13 | 13 |
| 14 namespace { | 14 namespace { |
| 15 | 15 |
| 16 constexpr struct { | 16 constexpr struct { |
| 17 const char* const name; | 17 const char* const name; |
| 18 const WebRequestResourceType type; | 18 const WebRequestResourceType type; |
| 19 } kResourceTypes[] = { | 19 } kResourceTypes[] = { |
| 20 {"main_frame", WebRequestResourceType::MAIN_FRAME}, | 20 {"main_frame", WebRequestResourceType::MAIN_FRAME}, |
| 21 {"sub_frame", WebRequestResourceType::SUB_FRAME}, | 21 {"sub_frame", WebRequestResourceType::SUB_FRAME}, |
| 22 {"stylesheet", WebRequestResourceType::STYLESHEET}, | 22 {"stylesheet", WebRequestResourceType::STYLESHEET}, |
| 23 {"script", WebRequestResourceType::SCRIPT}, | 23 {"script", WebRequestResourceType::SCRIPT}, |
| 24 {"image", WebRequestResourceType::IMAGE}, | 24 {"image", WebRequestResourceType::IMAGE}, |
| 25 {"font", WebRequestResourceType::FONT}, | 25 {"font", WebRequestResourceType::FONT}, |
| 26 {"object", WebRequestResourceType::OBJECT}, | 26 {"object", WebRequestResourceType::OBJECT}, |
| 27 {"xmlhttprequest", WebRequestResourceType::XHR}, | 27 {"xmlhttprequest", WebRequestResourceType::XHR}, |
| 28 {"ping", WebRequestResourceType::PING}, | 28 {"ping", WebRequestResourceType::PING}, |
| 29 {"csp_report", WebRequestResourceType::CSP_REPORT}, |
| 29 {"media", WebRequestResourceType::MEDIA}, | 30 {"media", WebRequestResourceType::MEDIA}, |
| 30 {"websocket", WebRequestResourceType::WEB_SOCKET}, | 31 {"websocket", WebRequestResourceType::WEB_SOCKET}, |
| 31 {"other", WebRequestResourceType::OTHER}, | 32 {"other", WebRequestResourceType::OTHER}, |
| 32 }; | 33 }; |
| 33 | 34 |
| 34 constexpr size_t kResourceTypesLength = arraysize(kResourceTypes); | 35 constexpr size_t kResourceTypesLength = arraysize(kResourceTypes); |
| 35 | 36 |
| 36 static_assert(kResourceTypesLength == | 37 static_assert(kResourceTypesLength == |
| 37 base::strict_cast<size_t>(WebRequestResourceType::OTHER) + 1, | 38 base::strict_cast<size_t>(WebRequestResourceType::OTHER) + 1, |
| 38 "Each WebRequestResourceType should have a string name."); | 39 "Each WebRequestResourceType should have a string name."); |
| (...skipping 27 matching lines...) Expand all Loading... |
| 66 return WebRequestResourceType::OTHER; | 67 return WebRequestResourceType::OTHER; |
| 67 case content::RESOURCE_TYPE_FAVICON: | 68 case content::RESOURCE_TYPE_FAVICON: |
| 68 return WebRequestResourceType::IMAGE; | 69 return WebRequestResourceType::IMAGE; |
| 69 case content::RESOURCE_TYPE_XHR: | 70 case content::RESOURCE_TYPE_XHR: |
| 70 return WebRequestResourceType::XHR; | 71 return WebRequestResourceType::XHR; |
| 71 case content::RESOURCE_TYPE_PING: | 72 case content::RESOURCE_TYPE_PING: |
| 72 return WebRequestResourceType::PING; | 73 return WebRequestResourceType::PING; |
| 73 case content::RESOURCE_TYPE_SERVICE_WORKER: | 74 case content::RESOURCE_TYPE_SERVICE_WORKER: |
| 74 return WebRequestResourceType::SCRIPT; | 75 return WebRequestResourceType::SCRIPT; |
| 75 case content::RESOURCE_TYPE_CSP_REPORT: | 76 case content::RESOURCE_TYPE_CSP_REPORT: |
| 76 return WebRequestResourceType::OTHER; | 77 return WebRequestResourceType::CSP_REPORT; |
| 77 case content::RESOURCE_TYPE_PLUGIN_RESOURCE: | 78 case content::RESOURCE_TYPE_PLUGIN_RESOURCE: |
| 78 return WebRequestResourceType::OBJECT; | 79 return WebRequestResourceType::OBJECT; |
| 79 case content::RESOURCE_TYPE_LAST_TYPE: | 80 case content::RESOURCE_TYPE_LAST_TYPE: |
| 80 return WebRequestResourceType::OTHER; | 81 return WebRequestResourceType::OTHER; |
| 81 } | 82 } |
| 82 NOTREACHED(); | 83 NOTREACHED(); |
| 83 return WebRequestResourceType::OTHER; | 84 return WebRequestResourceType::OTHER; |
| 84 } | 85 } |
| 85 | 86 |
| 86 WebRequestResourceType GetWebRequestResourceType( | 87 WebRequestResourceType GetWebRequestResourceType( |
| (...skipping 19 matching lines...) Expand all Loading... |
| 106 if (text == kResourceTypes[i].name) { | 107 if (text == kResourceTypes[i].name) { |
| 107 *type = kResourceTypes[i].type; | 108 *type = kResourceTypes[i].type; |
| 108 DCHECK_EQ(static_cast<WebRequestResourceType>(i), *type); | 109 DCHECK_EQ(static_cast<WebRequestResourceType>(i), *type); |
| 109 return true; | 110 return true; |
| 110 } | 111 } |
| 111 } | 112 } |
| 112 return false; | 113 return false; |
| 113 } | 114 } |
| 114 | 115 |
| 115 } // namespace extensions | 116 } // namespace extensions |
| OLD | NEW |