Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1612)

Unified Diff: extensions/browser/updater/extension_downloader.cc

Issue 654363002: Move ExtensionDownloader to //extensions (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/browser/updater/extension_downloader.cc
diff --git a/chrome/browser/extensions/updater/extension_downloader.cc b/extensions/browser/updater/extension_downloader.cc
similarity index 88%
rename from chrome/browser/extensions/updater/extension_downloader.cc
rename to extensions/browser/updater/extension_downloader.cc
index ef5c2bd4f57d5cfa8c766c3f3086387fc64a2c78..8021944949f356d2abb8903af75614b1482fd16b 100644
--- a/chrome/browser/extensions/updater/extension_downloader.cc
+++ b/extensions/browser/updater/extension_downloader.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/extensions/updater/extension_downloader.h"
+#include "extensions/browser/updater/extension_downloader.h"
#include <utility>
@@ -51,29 +51,29 @@ const char ExtensionDownloader::kBlacklistAppID[] = "com.google.crx.blacklist";
namespace {
const net::BackoffEntry::Policy kDefaultBackoffPolicy = {
- // Number of initial errors (in sequence) to ignore before applying
- // exponential back-off rules.
- 0,
+ // Number of initial errors (in sequence) to ignore before applying
+ // exponential back-off rules.
+ 0,
- // Initial delay for exponential back-off in ms.
- 2000,
+ // Initial delay for exponential back-off in ms.
+ 2000,
- // Factor by which the waiting time will be multiplied.
- 2,
+ // Factor by which the waiting time will be multiplied.
+ 2,
- // Fuzzing percentage. ex: 10% will spread requests randomly
- // between 90%-100% of the calculated time.
- 0.1,
+ // Fuzzing percentage. ex: 10% will spread requests randomly
+ // between 90%-100% of the calculated time.
+ 0.1,
- // Maximum amount of time we are willing to delay our request in ms.
- -1,
+ // Maximum amount of time we are willing to delay our request in ms.
+ -1,
- // Time to keep an entry from being discarded even when it
- // has no significant state, -1 to never discard.
- -1,
+ // Time to keep an entry from being discarded even when it
+ // has no significant state, -1 to never discard.
+ -1,
- // Don't use initial delay unless the last request was an error.
- false,
+ // Don't use initial delay unless the last request was an error.
+ false,
};
const char kAuthUserQueryKey[] = "authuser";
@@ -148,9 +148,11 @@ bool IncrementAuthUserIndex(GURL* url) {
} // namespace
UpdateDetails::UpdateDetails(const std::string& id, const Version& version)
- : id(id), version(version) {}
+ : id(id), version(version) {
+}
-UpdateDetails::~UpdateDetails() {}
+UpdateDetails::~UpdateDetails() {
+}
ExtensionDownloader::ExtensionFetch::ExtensionFetch()
: url(), credentials(CREDENTIALS_NONE) {
@@ -171,7 +173,8 @@ ExtensionDownloader::ExtensionFetch::ExtensionFetch(
oauth2_attempt_count(0) {
}
-ExtensionDownloader::ExtensionFetch::~ExtensionFetch() {}
+ExtensionDownloader::ExtensionFetch::~ExtensionFetch() {
+}
ExtensionDownloader::ExtensionDownloader(
ExtensionDownloaderDelegate* delegate,
@@ -192,7 +195,8 @@ ExtensionDownloader::ExtensionDownloader(
DCHECK(request_context_.get());
}
-ExtensionDownloader::~ExtensionDownloader() {}
+ExtensionDownloader::~ExtensionDownloader() {
+}
bool ExtensionDownloader::AddExtension(const Extension& extension,
int request_id) {
@@ -211,8 +215,8 @@ bool ExtensionDownloader::AddExtension(const Extension& extension,
update_url_data = delegate_->GetUpdateUrlData(extension.id());
std::string install_source;
- bool force_update = delegate_->ShouldForceUpdate(extension.id(),
- &install_source);
+ bool force_update =
+ delegate_->ShouldForceUpdate(extension.id(), &install_source);
return AddExtensionData(extension.id(),
*extension.version(),
extension.GetType(),
@@ -245,9 +249,8 @@ bool ExtensionDownloader::AddPendingExtension(const std::string& id,
void ExtensionDownloader::StartAllPending(ExtensionCache* cache) {
if (cache) {
extension_cache_ = cache;
- extension_cache_->Start(base::Bind(
- &ExtensionDownloader::DoStartAllPending,
- weak_ptr_factory_.GetWeakPtr()));
+ extension_cache_->Start(base::Bind(&ExtensionDownloader::DoStartAllPending,
+ weak_ptr_factory_.GetWeakPtr()));
} else {
DoStartAllPending();
}
@@ -258,8 +261,9 @@ void ExtensionDownloader::DoStartAllPending() {
url_stats_ = URLStats();
for (FetchMap::iterator it = fetches_preparing_.begin();
- it != fetches_preparing_.end(); ++it) {
- std::vector<linked_ptr<ManifestFetchData> >& list = it->second;
+ it != fetches_preparing_.end();
+ ++it) {
+ std::vector<linked_ptr<ManifestFetchData>>& list = it->second;
for (size_t i = 0; i < list.size(); ++i) {
StartUpdateCheck(scoped_ptr<ManifestFetchData>(list[i].release()));
}
@@ -363,8 +367,8 @@ bool ExtensionDownloader::AddExtensionData(
DCHECK(!update_urls[i].is_empty());
DCHECK(update_urls[i].is_valid());
- std::string install_source = i == 0 ?
- kDefaultInstallSource : kNotFromWebstoreInstallSource;
+ std::string install_source =
+ i == 0 ? kDefaultInstallSource : kNotFromWebstoreInstallSource;
if (!install_source_override.empty()) {
install_source = install_source_override;
}
@@ -376,14 +380,16 @@ bool ExtensionDownloader::AddExtensionData(
// Find or create a ManifestFetchData to add this extension to.
bool added = false;
- FetchMap::iterator existing_iter = fetches_preparing_.find(
- std::make_pair(request_id, update_urls[i]));
+ FetchMap::iterator existing_iter =
+ fetches_preparing_.find(std::make_pair(request_id, update_urls[i]));
if (existing_iter != fetches_preparing_.end() &&
!existing_iter->second.empty()) {
// Try to add to the ManifestFetchData at the end of the list.
ManifestFetchData* existing_fetch = existing_iter->second.back().get();
- if (existing_fetch->AddExtension(id, version.GetString(),
- optional_ping_data, update_url_data,
+ if (existing_fetch->AddExtension(id,
+ version.GetString(),
+ optional_ping_data,
+ update_url_data,
install_source,
force_update)) {
added = true;
@@ -394,9 +400,10 @@ bool ExtensionDownloader::AddExtensionData(
// if its last element is already full.
linked_ptr<ManifestFetchData> fetch(
CreateManifestFetchData(update_urls[i], request_id));
- fetches_preparing_[std::make_pair(request_id, update_urls[i])].
- push_back(fetch);
- added = fetch->AddExtension(id, version.GetString(),
+ fetches_preparing_[std::make_pair(request_id, update_urls[i])].push_back(
+ fetch);
+ added = fetch->AddExtension(id,
+ version.GetString(),
optional_ping_data,
update_url_data,
install_source,
@@ -413,8 +420,7 @@ void ExtensionDownloader::ReportStats() const {
url_stats_.extension_count);
UMA_HISTOGRAM_COUNTS_100("Extensions.UpdateCheckTheme",
url_stats_.theme_count);
- UMA_HISTOGRAM_COUNTS_100("Extensions.UpdateCheckApp",
- url_stats_.app_count);
+ UMA_HISTOGRAM_COUNTS_100("Extensions.UpdateCheckApp", url_stats_.app_count);
UMA_HISTOGRAM_COUNTS_100("Extensions.UpdateCheckPackagedApp",
url_stats_.platform_app_count);
UMA_HISTOGRAM_COUNTS_100("Extensions.UpdateCheckPending",
@@ -450,7 +456,8 @@ void ExtensionDownloader::StartUpdateCheck(
manifests_queue_.active_request()->full_url() == fetch_data->full_url()) {
manifests_queue_.active_request()->Merge(*fetch_data);
} else {
- UMA_HISTOGRAM_COUNTS("Extensions.UpdateCheckUrlLength",
+ UMA_HISTOGRAM_COUNTS(
+ "Extensions.UpdateCheckUrlLength",
fetch_data->full_url().possibly_invalid_spec().length());
manifests_queue_.ScheduleRequest(fetch_data.Pass());
@@ -467,9 +474,11 @@ void ExtensionDownloader::CreateManifestFetcher() {
<< " for " << id_list;
}
- manifest_fetcher_.reset(net::URLFetcher::Create(
- kManifestFetcherId, manifests_queue_.active_request()->full_url(),
- net::URLFetcher::GET, this));
+ manifest_fetcher_.reset(
+ net::URLFetcher::Create(kManifestFetcherId,
+ manifests_queue_.active_request()->full_url(),
+ net::URLFetcher::GET,
+ this));
manifest_fetcher_->SetRequestContext(request_context_.get());
manifest_fetcher_->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES |
net::LOAD_DO_NOT_SAVE_COOKIES |
@@ -482,8 +491,7 @@ void ExtensionDownloader::CreateManifestFetcher() {
manifest_fetcher_->Start();
}
-void ExtensionDownloader::OnURLFetchComplete(
- const net::URLFetcher* source) {
+void ExtensionDownloader::OnURLFetchComplete(const net::URLFetcher* source) {
// TODO(vadimt): Remove ScopedProfile below once crbug.com/422577 is fixed.
tracked_objects::ScopedProfile tracking_profile(
FROM_HERE_WITH_EXPLICIT_FUNCTION(
@@ -521,14 +529,14 @@ void ExtensionDownloader::OnManifestFetchComplete(
if (status.status() == net::URLRequestStatus::SUCCESS &&
(response_code == 200 || (url.SchemeIsFile() && data.length() > 0))) {
RETRY_HISTOGRAM("ManifestFetchSuccess",
- manifests_queue_.active_request_failure_count(), url);
+ manifests_queue_.active_request_failure_count(),
+ url);
VLOG(2) << "beginning manifest parse for " << url;
- scoped_refptr<SafeManifestParser> safe_parser(
- new SafeManifestParser(
- data,
- manifests_queue_.reset_active_request().release(),
- base::Bind(&ExtensionDownloader::HandleManifestResults,
- weak_ptr_factory_.GetWeakPtr())));
+ scoped_refptr<SafeManifestParser> safe_parser(new SafeManifestParser(
+ data,
+ manifests_queue_.reset_active_request().release(),
+ base::Bind(&ExtensionDownloader::HandleManifestResults,
+ weak_ptr_factory_.GetWeakPtr())));
safe_parser->Start();
} else {
VLOG(1) << "Failed to fetch manifest '" << url.possibly_invalid_spec()
@@ -538,7 +546,8 @@ void ExtensionDownloader::OnManifestFetchComplete(
manifests_queue_.RetryRequest(backoff_delay);
} else {
RETRY_HISTOGRAM("ManifestFetchFailure",
- manifests_queue_.active_request_failure_count(), url);
+ manifests_queue_.active_request_failure_count(),
+ url);
NotifyExtensionsDownloadFailed(
manifests_queue_.active_request()->extension_ids(),
manifests_queue_.active_request()->request_ids(),
@@ -593,9 +602,12 @@ void ExtensionDownloader::HandleManifestResults(
crx_url = crx_url.ReplaceComponents(replacements);
}
}
- scoped_ptr<ExtensionFetch> fetch(new ExtensionFetch(
- update->extension_id, crx_url, update->package_hash,
- update->version, fetch_data.request_ids()));
+ scoped_ptr<ExtensionFetch> fetch(
+ new ExtensionFetch(update->extension_id,
+ crx_url,
+ update->package_hash,
+ update->version,
+ fetch_data.request_ids()));
FetchUpdatedExtension(fetch.Pass());
}
@@ -639,8 +651,8 @@ void ExtensionDownloader::DetermineUpdates(
if (update->version.empty())
VLOG(2) << "manifest indicates " << id << " has no update";
else
- VLOG(2) << "manifest indicates " << id
- << " latest version is '" << update->version << "'";
+ VLOG(2) << "manifest indicates " << id << " latest version is '"
+ << update->version << "'";
}
if (!delegate_->IsExtensionPending(id)) {
@@ -682,7 +694,7 @@ void ExtensionDownloader::DetermineUpdates(
}
}
- // Begins (or queues up) download of an updated extension.
+// Begins (or queues up) download of an updated extension.
void ExtensionDownloader::FetchUpdatedExtension(
scoped_ptr<ExtensionFetch> fetch_data) {
if (!fetch_data->url.is_valid()) {
@@ -692,9 +704,9 @@ void ExtensionDownloader::FetchUpdatedExtension(
return;
}
- for (RequestQueue<ExtensionFetch>::iterator iter =
- extensions_queue_.begin();
- iter != extensions_queue_.end(); ++iter) {
+ for (RequestQueue<ExtensionFetch>::iterator iter = extensions_queue_.begin();
+ iter != extensions_queue_.end();
+ ++iter) {
if (iter->id == fetch_data->id || iter->url == fetch_data->url) {
iter->request_ids.insert(fetch_data->request_ids.begin(),
fetch_data->request_ids.end());
@@ -725,9 +737,13 @@ void ExtensionDownloader::NotifyDelegateDownloadFinished(
scoped_ptr<ExtensionFetch> fetch_data,
const base::FilePath& crx_path,
bool file_ownership_passed) {
- delegate_->OnExtensionDownloadFinished(fetch_data->id, crx_path,
- file_ownership_passed, fetch_data->url, fetch_data->version,
- ping_results_[fetch_data->id], fetch_data->request_ids);
+ delegate_->OnExtensionDownloadFinished(fetch_data->id,
+ crx_path,
+ file_ownership_passed,
+ fetch_data->url,
+ fetch_data->version,
+ ping_results_[fetch_data->id],
+ fetch_data->request_ids);
ping_results_.erase(fetch_data->id);
}
@@ -741,8 +757,7 @@ void ExtensionDownloader::CreateExtensionFetcher() {
int load_flags = net::LOAD_DISABLE_CACHE;
bool is_secure = fetch->url.SchemeIsSecure();
if (fetch->credentials != ExtensionFetch::CREDENTIALS_COOKIES || !is_secure) {
- load_flags |= net::LOAD_DO_NOT_SEND_COOKIES |
- net::LOAD_DO_NOT_SAVE_COOKIES;
+ load_flags |= net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES;
}
extension_fetcher_->SetLoadFlags(load_flags);
@@ -764,15 +779,13 @@ void ExtensionDownloader::CreateExtensionFetcher() {
webstore_scopes.insert(kWebstoreOAuth2Scope);
access_token_request_ =
identity_provider_->GetTokenService()->StartRequest(
- identity_provider_->GetActiveAccountId(),
- webstore_scopes,
- this);
+ identity_provider_->GetActiveAccountId(), webstore_scopes, this);
return;
}
extension_fetcher_->AddExtraRequestHeader(
base::StringPrintf("%s: Bearer %s",
- net::HttpRequestHeaders::kAuthorization,
- access_token_.c_str()));
+ net::HttpRequestHeaders::kAuthorization,
+ access_token_.c_str()));
}
VLOG(2) << "Starting fetch of " << fetch->url << " for " << fetch->id;
@@ -790,7 +803,8 @@ void ExtensionDownloader::OnCRXFetchComplete(
if (status.status() == net::URLRequestStatus::SUCCESS &&
(response_code == 200 || url.SchemeIsFile())) {
RETRY_HISTOGRAM("CrxFetchSuccess",
- extensions_queue_.active_request_failure_count(), url);
+ extensions_queue_.active_request_failure_count(),
+ url);
base::FilePath crx_path;
// Take ownership of the file at |crx_path|.
CHECK(source->GetResponseAsFilePath(true, &crx_path));
@@ -798,7 +812,10 @@ void ExtensionDownloader::OnCRXFetchComplete(
extensions_queue_.reset_active_request();
if (extension_cache_) {
const std::string& version = fetch_data->version;
- extension_cache_->PutExtension(id, crx_path, version,
+ extension_cache_->PutExtension(
+ id,
+ crx_path,
+ version,
base::Bind(&ExtensionDownloader::NotifyDelegateDownloadFinished,
weak_ptr_factory_.GetWeakPtr(),
base::Passed(&fetch_data)));
@@ -806,9 +823,7 @@ void ExtensionDownloader::OnCRXFetchComplete(
NotifyDelegateDownloadFinished(fetch_data.Pass(), crx_path, true);
}
} else if (IterateFetchCredentialsAfterFailure(
- &active_request,
- status,
- response_code)) {
+ &active_request, status, response_code)) {
extensions_queue_.RetryRequest(backoff_delay);
} else {
const std::set<int>& request_ids = active_request.request_ids;
@@ -820,7 +835,8 @@ void ExtensionDownloader::OnCRXFetchComplete(
extensions_queue_.RetryRequest(backoff_delay);
} else {
RETRY_HISTOGRAM("CrxFetchFailure",
- extensions_queue_.active_request_failure_count(), url);
+ extensions_queue_.active_request_failure_count(),
+ url);
// status.error() is 0 (net::OK) or negative. (See net/base/net_errors.h)
UMA_HISTOGRAM_SPARSE_SLOWLY("Extensions.CrxFetchError", -status.error());
delegate_->OnExtensionDownloadFailed(
@@ -841,7 +857,8 @@ void ExtensionDownloader::NotifyExtensionsDownloadFailed(
const std::set<int>& request_ids,
ExtensionDownloaderDelegate::Error error) {
for (std::set<std::string>::const_iterator it = extension_ids.begin();
- it != extension_ids.end(); ++it) {
+ it != extension_ids.end();
+ ++it) {
const ExtensionDownloaderDelegate::PingResult& ping = ping_results_[*it];
delegate_->OnExtensionDownloadFailed(*it, error, ping, request_ids);
ping_results_.erase(*it);
@@ -897,8 +914,7 @@ bool ExtensionDownloader::IterateFetchCredentialsAfterFailure(
// Either there is no Gaia identity available, the active identity
// doesn't have access to this resource, or the server keeps returning
// 401s and we've retried too many times. Fall back on cookies.
- if (access_token_.empty() ||
- response_code == net::HTTP_FORBIDDEN ||
+ if (access_token_.empty() || response_code == net::HTTP_FORBIDDEN ||
fetch->oauth2_attempt_count > kMaxOAuth2Attempts) {
fetch->credentials = ExtensionFetch::CREDENTIALS_COOKIES;
return true;
@@ -925,8 +941,8 @@ void ExtensionDownloader::OnGetTokenSuccess(
access_token_ = access_token;
extension_fetcher_->AddExtraRequestHeader(
base::StringPrintf("%s: Bearer %s",
- net::HttpRequestHeaders::kAuthorization,
- access_token_.c_str()));
+ net::HttpRequestHeaders::kAuthorization,
+ access_token_.c_str()));
extension_fetcher_->Start();
}
« no previous file with comments | « extensions/browser/updater/extension_downloader.h ('k') | extensions/browser/updater/extension_downloader_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698