Index: chrome/browser/ui/webui/metrics_handler.cc |
diff --git a/chrome/browser/ui/webui/metrics_handler.cc b/chrome/browser/ui/webui/metrics_handler.cc |
index b57ce0f613e0d983d7bfe2726396a9843c82a099..9394e077d9a089d6e3b4e722f1b6139c66e87818 100644 |
--- a/chrome/browser/ui/webui/metrics_handler.cc |
+++ b/chrome/browser/ui/webui/metrics_handler.cc |
@@ -11,6 +11,7 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "base/values.h" |
#include "chrome/browser/metrics/metric_event_duration_details.h" |
+#include "chrome/browser/ui/tab_contents/core_tab_helper.h" |
#include "chrome/common/chrome_notification_types.h" |
#include "content/public/browser/notification_service.h" |
#include "content/public/browser/user_metrics.h" |
@@ -82,10 +83,12 @@ void MetricsHandler::HandleLogEventTime(const ListValue* args) { |
// Not all new tab pages get timed. In those cases, we don't have a |
// new_tab_start_time_. |
- if (tab->GetNewTabStartTime().is_null()) |
+ CoreTabHelper* core_tab_helper = CoreTabHelper::FromWebContents(tab); |
+ if (core_tab_helper->new_tab_start_time().is_null()) |
return; |
- base::TimeDelta duration = base::TimeTicks::Now() - tab->GetNewTabStartTime(); |
+ base::TimeDelta duration = |
+ base::TimeTicks::Now() - core_tab_helper->new_tab_start_time(); |
MetricEventDurationDetails details(event_name, |
static_cast<int>(duration.InMilliseconds())); |
@@ -96,7 +99,8 @@ void MetricsHandler::HandleLogEventTime(const ListValue* args) { |
} else if (event_name == "Tab.NewTabOnload") { |
UMA_HISTOGRAM_TIMES("Tab.NewTabOnload", duration); |
// The new tab page has finished loading; reset it. |
- tab->SetNewTabStartTime(base::TimeTicks()); |
+ CoreTabHelper* core_tab_helper = CoreTabHelper::FromWebContents(tab); |
+ core_tab_helper->set_new_tab_start_time(base::TimeTicks()); |
} else { |
NOTREACHED(); |
} |