Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(227)

Side by Side Diff: content/browser/frame_host/render_frame_host_impl.cc

Issue 1427633004: Send navigation_start to the browser in DidStartProvisionalLoad IPC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@navigation_start_renderer
Patch Set: Conflict Resolution: FrameHostMsg_DidStartProvisionalLoad Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/browser/frame_host/render_frame_host_impl.h ('k') | content/common/frame_messages.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/render_frame_host_impl.h" 5 #include "content/browser/frame_host/render_frame_host_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/containers/hash_tables.h" 9 #include "base/containers/hash_tables.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after
809 UMA_HISTOGRAM_CUSTOM_TIMES("Navigation.UI_OnLoadComplete.Intent", 809 UMA_HISTOGRAM_CUSTOM_TIMES("Navigation.UI_OnLoadComplete.Intent",
810 base::TimeTicks::Now() - ui_timestamp, 810 base::TimeTicks::Now() - ui_timestamp,
811 base::TimeDelta::FromMilliseconds(10), 811 base::TimeDelta::FromMilliseconds(10),
812 base::TimeDelta::FromMinutes(10), 100); 812 base::TimeDelta::FromMinutes(10), 100);
813 } 813 }
814 // This message is only sent for top-level frames. TODO(avi): when frame tree 814 // This message is only sent for top-level frames. TODO(avi): when frame tree
815 // mirroring works correctly, add a check here to enforce it. 815 // mirroring works correctly, add a check here to enforce it.
816 delegate_->DocumentOnLoadCompleted(this); 816 delegate_->DocumentOnLoadCompleted(this);
817 } 817 }
818 818
819 void RenderFrameHostImpl::OnDidStartProvisionalLoad(const GURL& url) { 819 void RenderFrameHostImpl::OnDidStartProvisionalLoad(
820 frame_tree_node_->navigator()->DidStartProvisionalLoad( 820 const GURL& url,
821 this, url); 821 const base::TimeTicks& navigation_start) {
822 frame_tree_node_->navigator()->DidStartProvisionalLoad(this, url,
823 navigation_start);
822 } 824 }
823 825
824 void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError( 826 void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
825 const FrameHostMsg_DidFailProvisionalLoadWithError_Params& params) { 827 const FrameHostMsg_DidFailProvisionalLoadWithError_Params& params) {
826 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 828 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
827 switches::kEnableBrowserSideNavigation) && 829 switches::kEnableBrowserSideNavigation) &&
828 navigation_handle_) { 830 navigation_handle_) {
829 navigation_handle_->set_net_error_code( 831 navigation_handle_->set_net_error_code(
830 static_cast<net::Error>(params.error_code)); 832 static_cast<net::Error>(params.error_code));
831 } 833 }
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
951 if (navigation_handle_ && 953 if (navigation_handle_ &&
952 navigation_handle_->GetURL() != validated_params.url) { 954 navigation_handle_->GetURL() != validated_params.url) {
953 navigation_handle_.reset(); 955 navigation_handle_.reset();
954 } 956 }
955 957
956 // Synchronous renderer-initiated navigations will send a 958 // Synchronous renderer-initiated navigations will send a
957 // DidCommitProvisionalLoad IPC without a prior DidStartProvisionalLoad 959 // DidCommitProvisionalLoad IPC without a prior DidStartProvisionalLoad
958 // message. 960 // message.
959 if (!navigation_handle_) { 961 if (!navigation_handle_) {
960 navigation_handle_ = NavigationHandleImpl::Create( 962 navigation_handle_ = NavigationHandleImpl::Create(
961 validated_params.url, frame_tree_node_); 963 validated_params.url, frame_tree_node_, base::TimeTicks::Now());
962 } 964 }
963 965
964 accessibility_reset_count_ = 0; 966 accessibility_reset_count_ = 0;
965 frame_tree_node()->navigator()->DidNavigate(this, validated_params); 967 frame_tree_node()->navigator()->DidNavigate(this, validated_params);
966 968
967 // For a top-level frame, there are potential security concerns associated 969 // For a top-level frame, there are potential security concerns associated
968 // with displaying graphics from a previously loaded page after the URL in 970 // with displaying graphics from a previously loaded page after the URL in
969 // the omnibar has been changed. It is unappealing to clear the page 971 // the omnibar has been changed. It is unappealing to clear the page
970 // immediately, but if the renderer is taking a long time to issue any 972 // immediately, but if the renderer is taking a long time to issue any
971 // compositor output (possibly because of script deliberately creating this 973 // compositor output (possibly because of script deliberately creating this
(...skipping 1404 matching lines...) Expand 10 before | Expand all | Expand 10 after
2376 *dst = src; 2378 *dst = src;
2377 2379
2378 if (src.routing_id != -1) 2380 if (src.routing_id != -1)
2379 dst->tree_id = RoutingIDToAXTreeID(src.routing_id); 2381 dst->tree_id = RoutingIDToAXTreeID(src.routing_id);
2380 2382
2381 if (src.parent_routing_id != -1) 2383 if (src.parent_routing_id != -1)
2382 dst->parent_tree_id = RoutingIDToAXTreeID(src.parent_routing_id); 2384 dst->parent_tree_id = RoutingIDToAXTreeID(src.parent_routing_id);
2383 } 2385 }
2384 2386
2385 } // namespace content 2387 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/frame_host/render_frame_host_impl.h ('k') | content/common/frame_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698