| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/frame_host/navigator_impl.h" | 5 #include "content/browser/frame_host/navigator_impl.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
| 9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "content/browser/frame_host/frame_tree.h" | 10 #include "content/browser/frame_host/frame_tree.h" |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 base::TimeTicks navigation_start = base::TimeTicks::Now(); | 270 base::TimeTicks navigation_start = base::TimeTicks::Now(); |
| 271 | 271 |
| 272 RenderFrameHostManager* manager = frame_tree_node->render_manager(); | 272 RenderFrameHostManager* manager = frame_tree_node->render_manager(); |
| 273 | 273 |
| 274 // PlzNavigate: the RenderFrameHosts are no longer asked to navigate. | 274 // PlzNavigate: the RenderFrameHosts are no longer asked to navigate. |
| 275 if (base::CommandLine::ForCurrentProcess()->HasSwitch( | 275 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 276 switches::kEnableBrowserSideNavigation)) { | 276 switches::kEnableBrowserSideNavigation)) { |
| 277 navigation_data_.reset(new NavigationMetricsData( | 277 navigation_data_.reset(new NavigationMetricsData( |
| 278 navigation_start, entry.GetURL(), entry.restore_type())); | 278 navigation_start, entry.GetURL(), entry.restore_type())); |
| 279 RequestNavigation(frame_tree_node, entry, reload_type, navigation_start); | 279 RequestNavigation(frame_tree_node, entry, reload_type, navigation_start); |
| 280 |
| 281 // Notify observers about navigation. |
| 282 if (delegate_) |
| 283 delegate_->DidStartNavigationToPendingEntry(entry.GetURL(), reload_type); |
| 284 |
| 280 return true; | 285 return true; |
| 281 } | 286 } |
| 282 | 287 |
| 283 RenderFrameHostImpl* dest_render_frame_host = manager->Navigate(entry); | 288 RenderFrameHostImpl* dest_render_frame_host = manager->Navigate(entry); |
| 284 if (!dest_render_frame_host) | 289 if (!dest_render_frame_host) |
| 285 return false; // Unable to create the desired RenderFrameHost. | 290 return false; // Unable to create the desired RenderFrameHost. |
| 286 | 291 |
| 287 // Make sure no code called via RFHM::Navigate clears the pending entry. | 292 // Make sure no code called via RFHM::Navigate clears the pending entry. |
| 288 CHECK_EQ(controller_->GetPendingEntry(), &entry); | 293 CHECK_EQ(controller_->GetPendingEntry(), &entry); |
| 289 | 294 |
| (...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 874 "Navigation.TimeToCommit_ExistingRenderer_BeforeUnloadDiscounted", | 879 "Navigation.TimeToCommit_ExistingRenderer_BeforeUnloadDiscounted", |
| 875 time_to_commit); | 880 time_to_commit); |
| 876 UMA_HISTOGRAM_TIMES( | 881 UMA_HISTOGRAM_TIMES( |
| 877 "Navigation.TimeToURLJobStart_ExistingRenderer_BeforeUnloadDiscounted", | 882 "Navigation.TimeToURLJobStart_ExistingRenderer_BeforeUnloadDiscounted", |
| 878 time_to_network); | 883 time_to_network); |
| 879 } | 884 } |
| 880 navigation_data_.reset(); | 885 navigation_data_.reset(); |
| 881 } | 886 } |
| 882 | 887 |
| 883 } // namespace content | 888 } // namespace content |
| OLD | NEW |