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/updater/extension_downloader.h" | 5 #include "extensions/browser/updater/extension_downloader.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 } | 245 } |
246 } | 246 } |
247 | 247 |
248 void ExtensionDownloader::DoStartAllPending() { | 248 void ExtensionDownloader::DoStartAllPending() { |
249 ReportStats(); | 249 ReportStats(); |
250 url_stats_ = URLStats(); | 250 url_stats_ = URLStats(); |
251 | 251 |
252 for (FetchMap::iterator it = fetches_preparing_.begin(); | 252 for (FetchMap::iterator it = fetches_preparing_.begin(); |
253 it != fetches_preparing_.end(); | 253 it != fetches_preparing_.end(); |
254 ++it) { | 254 ++it) { |
255 std::vector<linked_ptr<ManifestFetchData>>& list = it->second; | 255 std::vector<std::unique_ptr<ManifestFetchData>>& list = it->second; |
256 for (size_t i = 0; i < list.size(); ++i) { | 256 for (size_t i = 0; i < list.size(); ++i) |
257 StartUpdateCheck(std::unique_ptr<ManifestFetchData>(list[i].release())); | 257 StartUpdateCheck(std::move(list[i])); |
258 } | |
259 } | 258 } |
260 fetches_preparing_.clear(); | 259 fetches_preparing_.clear(); |
261 } | 260 } |
262 | 261 |
263 void ExtensionDownloader::StartBlacklistUpdate( | 262 void ExtensionDownloader::StartBlacklistUpdate( |
264 const std::string& version, | 263 const std::string& version, |
265 const ManifestFetchData::PingData& ping_data, | 264 const ManifestFetchData::PingData& ping_data, |
266 int request_id) { | 265 int request_id) { |
267 // Note: it is very important that we use the https version of the update | 266 // Note: it is very important that we use the https version of the update |
268 // url here to avoid DNS hijacking of the blacklist, which is not validated | 267 // url here to avoid DNS hijacking of the blacklist, which is not validated |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
364 ManifestFetchData* existing_fetch = existing_iter->second.back().get(); | 363 ManifestFetchData* existing_fetch = existing_iter->second.back().get(); |
365 if (existing_fetch->AddExtension(id, version.GetString(), | 364 if (existing_fetch->AddExtension(id, version.GetString(), |
366 optional_ping_data, update_url_data, | 365 optional_ping_data, update_url_data, |
367 install_source)) { | 366 install_source)) { |
368 added = true; | 367 added = true; |
369 } | 368 } |
370 } | 369 } |
371 if (!added) { | 370 if (!added) { |
372 // Otherwise add a new element to the list, if the list doesn't exist or | 371 // Otherwise add a new element to the list, if the list doesn't exist or |
373 // if its last element is already full. | 372 // if its last element is already full. |
374 linked_ptr<ManifestFetchData> fetch( | 373 std::unique_ptr<ManifestFetchData> fetch( |
375 CreateManifestFetchData(update_url, request_id)); | 374 CreateManifestFetchData(update_url, request_id)); |
376 fetches_preparing_[std::make_pair(request_id, update_url)].push_back(fetch); | 375 ManifestFetchData* fetch_ptr = fetch.get(); |
377 added = fetch->AddExtension(id, version.GetString(), optional_ping_data, | 376 fetches_preparing_[std::make_pair(request_id, update_url)].push_back( |
378 update_url_data, install_source); | 377 std::move(fetch)); |
| 378 added = fetch_ptr->AddExtension(id, version.GetString(), optional_ping_data, |
| 379 update_url_data, install_source); |
379 DCHECK(added); | 380 DCHECK(added); |
380 } | 381 } |
381 | 382 |
382 return true; | 383 return true; |
383 } | 384 } |
384 | 385 |
385 void ExtensionDownloader::ReportStats() const { | 386 void ExtensionDownloader::ReportStats() const { |
386 UMA_HISTOGRAM_COUNTS_100("Extensions.UpdateCheckExtension", | 387 UMA_HISTOGRAM_COUNTS_100("Extensions.UpdateCheckExtension", |
387 url_stats_.extension_count); | 388 url_stats_.extension_count); |
388 UMA_HISTOGRAM_COUNTS_100("Extensions.UpdateCheckTheme", | 389 UMA_HISTOGRAM_COUNTS_100("Extensions.UpdateCheckTheme", |
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
940 const GURL& update_url, | 941 const GURL& update_url, |
941 int request_id) { | 942 int request_id) { |
942 ManifestFetchData::PingMode ping_mode = ManifestFetchData::NO_PING; | 943 ManifestFetchData::PingMode ping_mode = ManifestFetchData::NO_PING; |
943 if (update_url.DomainIs(ping_enabled_domain_.c_str())) | 944 if (update_url.DomainIs(ping_enabled_domain_.c_str())) |
944 ping_mode = ManifestFetchData::PING_WITH_ENABLED_STATE; | 945 ping_mode = ManifestFetchData::PING_WITH_ENABLED_STATE; |
945 return new ManifestFetchData( | 946 return new ManifestFetchData( |
946 update_url, request_id, brand_code_, manifest_query_params_, ping_mode); | 947 update_url, request_id, brand_code_, manifest_query_params_, ping_mode); |
947 } | 948 } |
948 | 949 |
949 } // namespace extensions | 950 } // namespace extensions |
OLD | NEW |