| Index: components/autofill/browser/autocheckout/whitelist_manager.cc
|
| diff --git a/components/autofill/browser/autocheckout/whitelist_manager.cc b/components/autofill/browser/autocheckout/whitelist_manager.cc
|
| index aeb60f113393bfbe12ee93af31708c6632f2588a..85db78083b372d1af870d58bd736d6425583877c 100644
|
| --- a/components/autofill/browser/autocheckout/whitelist_manager.cc
|
| +++ b/components/autofill/browser/autocheckout/whitelist_manager.cc
|
| @@ -74,9 +74,15 @@ void WhitelistManager::StartDownloadTimer(size_t interval_seconds) {
|
| &WhitelistManager::TriggerDownload);
|
| }
|
|
|
| +const AutofillMetrics& WhitelistManager::GetMetricLogger() const {
|
| + return metrics_logger_;
|
| +}
|
| +
|
| void WhitelistManager::TriggerDownload() {
|
| callback_is_pending_ = true;
|
|
|
| + request_started_timestamp_ = base::Time::Now();
|
| +
|
| request_.reset(net::URLFetcher::Create(
|
| 0, GURL(kWhitelistUrl), net::URLFetcher::GET, this));
|
| request_->SetRequestContext(context_getter_);
|
| @@ -98,12 +104,20 @@ void WhitelistManager::OnURLFetchComplete(
|
| scoped_ptr<net::URLFetcher> old_request = request_.Pass();
|
| DCHECK_EQ(source, old_request.get());
|
|
|
| + AutofillMetrics::AutocheckoutWhitelistDownloadStatus status;
|
| + base::TimeDelta duration = base::Time::Now() - request_started_timestamp_;
|
| +
|
| if (source->GetResponseCode() == net::HTTP_OK) {
|
| std::string data;
|
| source->GetResponseAsString(&data);
|
| BuildWhitelist(data);
|
| + status = AutofillMetrics::AUTOCHECKOUT_WHITELIST_DOWNLOAD_SUCCEEDED;
|
| + } else {
|
| + status = AutofillMetrics::AUTOCHECKOUT_WHITELIST_DOWNLOAD_FAILED;
|
| }
|
|
|
| + GetMetricLogger().LogAutocheckoutWhitelistDownloadDuration(duration, status);
|
| +
|
| ScheduleDownload(kDownloadIntervalSeconds);
|
| }
|
|
|
|
|