Index: content/browser/frame_host/navigator_impl.cc |
diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc |
index ebd10e9739d85a3dbb38636447002fd1893e0df6..2df8f4f252c735bcd5b3e29bec5b9e8ff4b054a5 100644 |
--- a/content/browser/frame_host/navigator_impl.cc |
+++ b/content/browser/frame_host/navigator_impl.cc |
@@ -772,6 +772,9 @@ void NavigatorImpl::OnBeginNavigation( |
navigation_request = scoped_request.get(); |
navigation_request_map_.set( |
frame_tree_node->frame_tree_node_id(), scoped_request.Pass()); |
+ // TODO(carlosk): begin tracking metrics fort renderer initiated navigations |
+ // once the renderer correctly provides its request start time. |
clamy
2015/01/27 12:35:04
I don't think we ever want to track renderer initi
carlosk
2015/01/27 17:12:03
Agreed and removed the comment.
I didn't realize
|
+ navigation_data_.reset(); |
carlosk
2015/01/26 19:54:01
Added a couple metrics-reset-points (here and belo
|
} |
DCHECK(navigation_request); |
@@ -833,6 +836,7 @@ void NavigatorImpl::CancelNavigation(FrameTreeNode* frame_tree_node) { |
CHECK(base::CommandLine::ForCurrentProcess()->HasSwitch( |
switches::kEnableBrowserSideNavigation)); |
navigation_request_map_.erase(frame_tree_node->frame_tree_node_id()); |
+ navigation_data_.reset(); |
carlosk
2015/01/26 19:54:01
Also resetting when cancelling the navigation.
No
|
// TODO(carlosk): move this cleanup into the NavigationRequest destructor once |
// we properly cancel ongoing navigations. |
frame_tree_node->render_manager()->CleanUpNavigation(); |
@@ -857,6 +861,8 @@ bool NavigatorImpl::IsWaitingForBeforeUnloadACK( |
void NavigatorImpl::LogResourceRequestTime( |
base::TimeTicks timestamp, const GURL& url) { |
+ DCHECK(!base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableBrowserSideNavigation)); |
carlosk
2015/01/26 19:54:01
Now this method is called only for non-PlzNavigate
clamy
2015/01/27 12:35:04
I think they are very similar and we should just h
carlosk
2015/01/27 17:12:03
I didn't think it would be so bad to have them sep
clamy
2015/01/28 13:44:21
Or you can just call LogResourceRequestTime with t
carlosk
2015/01/28 15:21:08
Done. Also added a TODO to rename it later.
|
if (navigation_data_ && navigation_data_->url_ == url) { |
navigation_data_->url_job_start_time_ = timestamp; |
UMA_HISTOGRAM_TIMES( |
@@ -865,6 +871,17 @@ void NavigatorImpl::LogResourceRequestTime( |
} |
} |
+void NavigatorImpl::LogAboutToBeginNavigation(base::TimeTicks timestamp) { |
+ DCHECK(base::CommandLine::ForCurrentProcess()->HasSwitch( |
+ switches::kEnableBrowserSideNavigation)); |
+ if (navigation_data_) { |
carlosk
2015/01/26 19:54:01
Note that we don't do URL checks here because they
clamy
2015/01/27 12:35:04
Acknowledged.
|
+ navigation_data_->url_job_start_time_ = timestamp; |
+ UMA_HISTOGRAM_TIMES( |
+ "Navigation.TimeToURLJobStart", |
+ navigation_data_->url_job_start_time_ - navigation_data_->start_time_); |
+ } |
+} |
+ |
void NavigatorImpl::LogBeforeUnloadTime( |
const base::TimeTicks& renderer_before_unload_start_time, |
const base::TimeTicks& renderer_before_unload_end_time) { |