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 |