Index: content/browser/frame_host/navigator_impl.h |
diff --git a/content/browser/frame_host/navigator_impl.h b/content/browser/frame_host/navigator_impl.h |
index f5c09ba7d2941273e64853384ad0447480833bb2..e0cac3ecc64178b127cc746fcbd6821d7bc60c85 100644 |
--- a/content/browser/frame_host/navigator_impl.h |
+++ b/content/browser/frame_host/navigator_impl.h |
@@ -81,9 +81,15 @@ class CONTENT_EXPORT NavigatorImpl : public Navigator { |
scoped_ptr<StreamHandle> body) override; |
virtual void LogResourceRequestTime( |
base::TimeTicks timestamp, const GURL& url) override; |
+ virtual void LogBeforeUnloadTime( |
+ const base::TimeTicks& renderer_before_unload_start_time, |
+ const base::TimeTicks& renderer_before_unload_end_time) override; |
virtual void CancelNavigation(FrameTreeNode* frame_tree_node) override; |
private: |
+ // Holds data used to track browser side navigation metrics. |
+ struct NavigationMetricsData; |
+ |
friend class NavigatorTest; |
virtual ~NavigatorImpl(); |
@@ -108,6 +114,11 @@ class CONTENT_EXPORT NavigatorImpl : public Navigator { |
NavigationController::ReloadType reload_type, |
base::TimeTicks navigation_start); |
+ void RecordNavigationMetrics( |
+ const LoadCommittedDetails& details, |
+ const FrameHostMsg_DidCommitProvisionalLoad_Params& params, |
+ SiteInstance* site_instance); |
+ |
// The NavigationController that will keep track of session history for all |
// RenderFrameHost objects using this NavigatorImpl. |
// TODO(nasko): Move ownership of the NavigationController from |
@@ -118,9 +129,7 @@ class CONTENT_EXPORT NavigatorImpl : public Navigator { |
// events. Can be NULL in tests. |
NavigatorDelegate* delegate_; |
- // The start time and URL for latest navigation request, used for feeding a |
- // few histograms under the Navigation group. |
- Tuple2<base::TimeTicks, GURL> navigation_start_time_and_url; |
+ scoped_ptr<NavigatorImpl::NavigationMetricsData> navigation_data_; |
// PlzNavigate: used to track the various ongoing NavigationRequests in the |
// different FrameTreeNodes, based on the frame_tree_node_id. |