| Index: chrome/browser/ui/webui/metrics_handler.cc
|
| ===================================================================
|
| --- chrome/browser/ui/webui/metrics_handler.cc (revision 207139)
|
| +++ chrome/browser/ui/webui/metrics_handler.cc (working copy)
|
| @@ -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 @@
|
|
|
| // 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 @@
|
| } 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();
|
| }
|
|
|