summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/webui/metrics_handler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/webui/metrics_handler.cc')
-rw-r--r--chrome/browser/ui/webui/metrics_handler.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/chrome/browser/ui/webui/metrics_handler.cc b/chrome/browser/ui/webui/metrics_handler.cc
index b57ce0f..9394e07 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();
}