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

Unified Diff: components/search_provider_logos/logo_tracker.cc

Issue 2762853003: [Doodle] Add UMA for doodle image downloads (Closed)
Patch Set: better histograms enum, rebase Created 3 years, 9 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
« no previous file with comments | « components/search_provider_logos/logo_tracker.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/search_provider_logos/logo_tracker.cc
diff --git a/components/search_provider_logos/logo_tracker.cc b/components/search_provider_logos/logo_tracker.cc
index 7bd11b5f52c74c34790878cf43b2a89c29f3a624..a2fc7f9e9e4b9071fd6defae6e0a3e07c8b904a1 100644
--- a/components/search_provider_logos/logo_tracker.cc
+++ b/components/search_provider_logos/logo_tracker.cc
@@ -261,6 +261,7 @@ void LogoTracker::FetchLogo() {
}
void LogoTracker::OnFreshLogoParsed(bool* parsing_failed,
+ bool from_http_cache,
std::unique_ptr<EncodedLogo> logo) {
DCHECK(!is_idle_);
@@ -268,7 +269,8 @@ void LogoTracker::OnFreshLogoParsed(bool* parsing_failed,
logo->metadata.source_url = logo_url_.spec();
if (!logo || !logo->encoded_image.get()) {
- OnFreshLogoAvailable(std::move(logo), *parsing_failed, SkBitmap());
+ OnFreshLogoAvailable(std::move(logo), *parsing_failed, from_http_cache,
+ SkBitmap());
} else {
// Store the value of logo->encoded_image for use below. This ensures that
// logo->encoded_image is evaulated before base::Passed(&logo), which sets
@@ -277,15 +279,15 @@ void LogoTracker::OnFreshLogoParsed(bool* parsing_failed,
logo_delegate_->DecodeUntrustedImage(
encoded_image,
base::Bind(&LogoTracker::OnFreshLogoAvailable,
- weak_ptr_factory_.GetWeakPtr(),
- base::Passed(&logo),
- *parsing_failed));
+ weak_ptr_factory_.GetWeakPtr(), base::Passed(&logo),
+ *parsing_failed, from_http_cache));
}
}
void LogoTracker::OnFreshLogoAvailable(
std::unique_ptr<EncodedLogo> encoded_logo,
bool parsing_failed,
+ bool from_http_cache,
const SkBitmap& image) {
DCHECK(!is_idle_);
@@ -307,6 +309,8 @@ void LogoTracker::OnFreshLogoAvailable(
std::unique_ptr<Logo> logo;
// Check if the server returned a valid, non-empty response.
if (encoded_logo) {
+ UMA_HISTOGRAM_BOOLEAN("NewTabPage.LogoImageDownloaded", from_http_cache);
+
DCHECK(!image.isNull());
logo.reset(new Logo());
logo->metadata = encoded_logo->metadata;
@@ -360,13 +364,16 @@ void LogoTracker::OnURLFetchComplete(const net::URLFetcher* source) {
source->GetResponseAsString(response.get());
base::Time response_time = clock_->Now();
+ bool from_http_cache = source->WasCached();
+
bool* parsing_failed = new bool(false);
base::PostTaskAndReplyWithResult(
background_task_runner_.get(), FROM_HERE,
base::Bind(parse_logo_response_func_, base::Passed(&response),
response_time, parsing_failed),
base::Bind(&LogoTracker::OnFreshLogoParsed,
- weak_ptr_factory_.GetWeakPtr(), base::Owned(parsing_failed)));
+ weak_ptr_factory_.GetWeakPtr(), base::Owned(parsing_failed),
+ from_http_cache));
}
void LogoTracker::OnURLFetchDownloadProgress(const net::URLFetcher* source,
« no previous file with comments | « components/search_provider_logos/logo_tracker.h ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698