Index: chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc |
diff --git a/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc b/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc |
index d249c9df5633eddf0a5135c3b1e74dfa8263d85c..da644f5eb7dbd82671bbe493f153994754ac78fe 100644 |
--- a/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc |
+++ b/chrome/browser/ui/webui/ntp/ntp_user_data_logger.cc |
@@ -122,20 +122,8 @@ NTPUserDataLogger* NTPUserDataLogger::GetOrCreateFromWebContents( |
void NTPUserDataLogger::LogEvent(NTPLoggingEventType event, |
base::TimeDelta time) { |
- switch (event) { |
- case NTP_SERVER_SIDE_SUGGESTION: |
- has_server_side_suggestions_ = true; |
- number_of_tiles_++; |
- return; |
- case NTP_CLIENT_SIDE_SUGGESTION: |
- has_client_side_suggestions_ = true; |
- number_of_tiles_++; |
- return; |
- case NTP_ALL_TILES_LOADED: |
- EmitNtpStatistics(time); |
- return; |
- } |
- NOTREACHED(); |
+ DCHECK_EQ(NTP_ALL_TILES_LOADED, event); |
+ EmitNtpStatistics(time); |
} |
void NTPUserDataLogger::LogMostVisitedImpression( |
@@ -145,6 +133,15 @@ void NTPUserDataLogger::LogMostVisitedImpression( |
} |
impression_was_logged_[position] = true; |
+ switch (tile_source) { |
+ case NTPLoggingTileSource::CLIENT: |
+ has_client_side_suggestions_ = true; |
+ break; |
+ case NTPLoggingTileSource::SERVER: |
+ has_server_side_suggestions_ = true; |
+ break; |
+ } |
+ |
UMA_HISTOGRAM_ENUMERATION(kMostVisitedImpressionHistogramName, position, |
kNumMostVisited); |
@@ -185,7 +182,6 @@ NTPUserDataLogger::NTPUserDataLogger(content::WebContents* contents) |
: content::WebContentsObserver(contents), |
has_server_side_suggestions_(false), |
has_client_side_suggestions_(false), |
- number_of_tiles_(0), |
has_emitted_(false), |
during_startup_(!AfterStartupTaskUtils::IsBrowserStartupComplete()) { |
// We record metrics about session data here because when this class typically |
@@ -209,7 +205,6 @@ void NTPUserDataLogger::NavigatedFromURLToURL(const GURL& from, |
DVLOG(1) << "Returning to New Tab Page"; |
impression_was_logged_.reset(); |
has_emitted_ = false; |
- number_of_tiles_ = 0; |
has_server_side_suggestions_ = false; |
has_client_side_suggestions_ = false; |
} |
@@ -219,8 +214,10 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time) { |
// We only send statistics once per page. |
if (has_emitted_) |
return; |
+ |
+ size_t number_of_tiles = impression_was_logged_.count(); |
DVLOG(1) << "Emitting NTP load time: " << load_time << ", " |
- << "number of tiles: " << number_of_tiles_; |
+ << "number of tiles: " << number_of_tiles; |
LogLoadTimeHistogram("NewTabPage.LoadTime", load_time); |
@@ -236,12 +233,9 @@ void NTPUserDataLogger::EmitNtpStatistics(base::TimeDelta load_time) { |
std::string status = during_startup_ ? "Startup" : "NewTab"; |
LogLoadTimeHistogram("NewTabPage.LoadTime." + status, load_time); |
- has_server_side_suggestions_ = false; |
- has_client_side_suggestions_ = false; |
UMA_HISTOGRAM_CUSTOM_COUNTS( |
- "NewTabPage.NumberOfTiles", number_of_tiles_, 1, kNumMostVisited, |
+ "NewTabPage.NumberOfTiles", number_of_tiles, 1, kNumMostVisited, |
kNumMostVisited + 1); |
- number_of_tiles_ = 0; |
has_emitted_ = true; |
during_startup_ = false; |
} |