OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_api_helpers.h" | 5 #include "extensions/browser/api/web_request/web_request_api_helpers.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
11 #include <cmath> | 11 #include <cmath> |
12 #include <utility> | 12 #include <utility> |
13 | 13 |
14 #include "base/bind.h" | 14 #include "base/bind.h" |
15 #include "base/macros.h" | 15 #include "base/macros.h" |
| 16 #include "base/memory/ptr_util.h" |
16 #include "base/strings/string_number_conversions.h" | 17 #include "base/strings/string_number_conversions.h" |
17 #include "base/strings/string_util.h" | 18 #include "base/strings/string_util.h" |
18 #include "base/strings/stringprintf.h" | 19 #include "base/strings/stringprintf.h" |
19 #include "base/time/time.h" | 20 #include "base/time/time.h" |
20 #include "base/values.h" | 21 #include "base/values.h" |
21 #include "components/web_cache/browser/web_cache_manager.h" | 22 #include "components/web_cache/browser/web_cache_manager.h" |
22 #include "content/public/browser/browser_thread.h" | 23 #include "content/public/browser/browser_thread.h" |
23 #include "content/public/browser/render_process_host.h" | 24 #include "content/public/browser/render_process_host.h" |
24 #include "extensions/browser/api/web_request/web_request_api_constants.h" | 25 #include "extensions/browser/api/web_request/web_request_api_constants.h" |
25 #include "extensions/browser/extension_registry.h" | 26 #include "extensions/browser/extension_registry.h" |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
216 // callback. | 217 // callback. |
217 net::NetLogParametersCallback CreateNetLogExtensionIdCallback( | 218 net::NetLogParametersCallback CreateNetLogExtensionIdCallback( |
218 const EventResponseDelta* delta) { | 219 const EventResponseDelta* delta) { |
219 return net::NetLog::StringCallback("extension_id", &delta->extension_id); | 220 return net::NetLog::StringCallback("extension_id", &delta->extension_id); |
220 } | 221 } |
221 | 222 |
222 // Creates NetLog parameters to indicate that an extension modified a request. | 223 // Creates NetLog parameters to indicate that an extension modified a request. |
223 std::unique_ptr<base::Value> NetLogModificationCallback( | 224 std::unique_ptr<base::Value> NetLogModificationCallback( |
224 const EventResponseDelta* delta, | 225 const EventResponseDelta* delta, |
225 net::NetLogCaptureMode capture_mode) { | 226 net::NetLogCaptureMode capture_mode) { |
226 std::unique_ptr<base::DictionaryValue> dict(new base::DictionaryValue()); | 227 auto dict = base::MakeUnique<base::DictionaryValue>(); |
227 dict->SetString("extension_id", delta->extension_id); | 228 dict->SetString("extension_id", delta->extension_id); |
228 | 229 |
229 base::ListValue* modified_headers = new base::ListValue(); | 230 auto modified_headers = base::MakeUnique<base::ListValue>(); |
230 net::HttpRequestHeaders::Iterator modification( | 231 net::HttpRequestHeaders::Iterator modification( |
231 delta->modified_request_headers); | 232 delta->modified_request_headers); |
232 while (modification.GetNext()) { | 233 while (modification.GetNext()) { |
233 std::string line = modification.name() + ": " + modification.value(); | 234 std::string line = modification.name() + ": " + modification.value(); |
234 modified_headers->AppendString(line); | 235 modified_headers->AppendString(line); |
235 } | 236 } |
236 dict->Set("modified_headers", modified_headers); | 237 dict->Set("modified_headers", std::move(modified_headers)); |
237 | 238 |
238 base::ListValue* deleted_headers = new base::ListValue(); | 239 auto deleted_headers = base::MakeUnique<base::ListValue>(); |
239 for (std::vector<std::string>::const_iterator key = | 240 for (std::vector<std::string>::const_iterator key = |
240 delta->deleted_request_headers.begin(); | 241 delta->deleted_request_headers.begin(); |
241 key != delta->deleted_request_headers.end(); | 242 key != delta->deleted_request_headers.end(); |
242 ++key) { | 243 ++key) { |
243 deleted_headers->AppendString(*key); | 244 deleted_headers->AppendString(*key); |
244 } | 245 } |
245 dict->Set("deleted_headers", deleted_headers); | 246 dict->Set("deleted_headers", std::move(deleted_headers)); |
246 return std::move(dict); | 247 return std::move(dict); |
247 } | 248 } |
248 | 249 |
249 bool InDecreasingExtensionInstallationTimeOrder( | 250 bool InDecreasingExtensionInstallationTimeOrder( |
250 const linked_ptr<EventResponseDelta>& a, | 251 const linked_ptr<EventResponseDelta>& a, |
251 const linked_ptr<EventResponseDelta>& b) { | 252 const linked_ptr<EventResponseDelta>& b) { |
252 return a->extension_install_time > b->extension_install_time; | 253 return a->extension_install_time > b->extension_install_time; |
253 } | 254 } |
254 | 255 |
255 base::ListValue* StringToCharList(const std::string& s) { | 256 std::unique_ptr<base::ListValue> StringToCharList(const std::string& s) { |
256 base::ListValue* result = new base::ListValue; | 257 auto result = base::MakeUnique<base::ListValue>(); |
257 for (size_t i = 0, n = s.size(); i < n; ++i) { | 258 for (size_t i = 0, n = s.size(); i < n; ++i) { |
258 result->AppendInteger(*reinterpret_cast<const unsigned char*>(&s[i])); | 259 result->AppendInteger(*reinterpret_cast<const unsigned char*>(&s[i])); |
259 } | 260 } |
260 return result; | 261 return result; |
261 } | 262 } |
262 | 263 |
263 bool CharListToString(const base::ListValue* list, std::string* out) { | 264 bool CharListToString(const base::ListValue* list, std::string* out) { |
264 if (!list) | 265 if (!list) |
265 return false; | 266 return false; |
266 const size_t list_length = list->GetSize(); | 267 const size_t list_length = list->GetSize(); |
(...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1203 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, | 1204 content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, |
1204 base::Bind(&ClearCacheOnNavigationOnUI)); | 1205 base::Bind(&ClearCacheOnNavigationOnUI)); |
1205 } | 1206 } |
1206 } | 1207 } |
1207 | 1208 |
1208 // Converts the |name|, |value| pair of a http header to a HttpHeaders | 1209 // Converts the |name|, |value| pair of a http header to a HttpHeaders |
1209 // dictionary. | 1210 // dictionary. |
1210 std::unique_ptr<base::DictionaryValue> CreateHeaderDictionary( | 1211 std::unique_ptr<base::DictionaryValue> CreateHeaderDictionary( |
1211 const std::string& name, | 1212 const std::string& name, |
1212 const std::string& value) { | 1213 const std::string& value) { |
1213 std::unique_ptr<base::DictionaryValue> header(new base::DictionaryValue()); | 1214 auto header = base::MakeUnique<base::DictionaryValue>(); |
1214 header->SetString(keys::kHeaderNameKey, name); | 1215 header->SetString(keys::kHeaderNameKey, name); |
1215 if (base::IsStringUTF8(value)) { | 1216 if (base::IsStringUTF8(value)) { |
1216 header->SetString(keys::kHeaderValueKey, value); | 1217 header->SetString(keys::kHeaderValueKey, value); |
1217 } else { | 1218 } else { |
1218 header->Set(keys::kHeaderBinaryValueKey, | 1219 header->Set(keys::kHeaderBinaryValueKey, |
1219 StringToCharList(value)); | 1220 StringToCharList(value)); |
1220 } | 1221 } |
1221 return header; | 1222 return header; |
1222 } | 1223 } |
1223 | 1224 |
1224 } // namespace extension_web_request_api_helpers | 1225 } // namespace extension_web_request_api_helpers |
OLD | NEW |