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

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

Issue 1425823002: (DEPRECATED) Send navigation_start to browser process in DidStartProvisionalLoad (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Name change + blink layering 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
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 773 matching lines...) Expand 10 before | Expand all | Expand 10 after
784 UMA_HISTOGRAM_CUSTOM_TIMES("Navigation.UI_OnLoadComplete.Intent", 784 UMA_HISTOGRAM_CUSTOM_TIMES("Navigation.UI_OnLoadComplete.Intent",
785 base::TimeTicks::Now() - ui_timestamp, 785 base::TimeTicks::Now() - ui_timestamp,
786 base::TimeDelta::FromMilliseconds(10), 786 base::TimeDelta::FromMilliseconds(10),
787 base::TimeDelta::FromMinutes(10), 100); 787 base::TimeDelta::FromMinutes(10), 100);
788 } 788 }
789 // This message is only sent for top-level frames. TODO(avi): when frame tree 789 // This message is only sent for top-level frames. TODO(avi): when frame tree
790 // mirroring works correctly, add a check here to enforce it. 790 // mirroring works correctly, add a check here to enforce it.
791 delegate_->DocumentOnLoadCompleted(this); 791 delegate_->DocumentOnLoadCompleted(this);
792 } 792 }
793 793
794 void RenderFrameHostImpl::OnDidStartProvisionalLoadForFrame(const GURL& url) { 794 void RenderFrameHostImpl::OnDidStartProvisionalLoadForFrame(
795 const GURL& url, double navigation_start) {
795 frame_tree_node_->navigator()->DidStartProvisionalLoad( 796 frame_tree_node_->navigator()->DidStartProvisionalLoad(
796 this, url); 797 this, url, navigation_start);
797 } 798 }
798 799
799 void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError( 800 void RenderFrameHostImpl::OnDidFailProvisionalLoadWithError(
800 const FrameHostMsg_DidFailProvisionalLoadWithError_Params& params) { 801 const FrameHostMsg_DidFailProvisionalLoadWithError_Params& params) {
801 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 802 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
802 switches::kEnableBrowserSideNavigation) && 803 switches::kEnableBrowserSideNavigation) &&
803 navigation_handle_) { 804 navigation_handle_) {
804 navigation_handle_->set_net_error_code( 805 navigation_handle_->set_net_error_code(
805 static_cast<net::Error>(params.error_code)); 806 static_cast<net::Error>(params.error_code));
806 } 807 }
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
925 // navigation. 926 // navigation.
926 if (navigation_handle_ && 927 if (navigation_handle_ &&
927 navigation_handle_->GetURL() != validated_params.url) { 928 navigation_handle_->GetURL() != validated_params.url) {
928 navigation_handle_.reset(); 929 navigation_handle_.reset();
929 } 930 }
930 931
931 // Synchronous renderer-initiated navigations will send a 932 // Synchronous renderer-initiated navigations will send a
932 // DidCommitProvisionalLoad IPC without a prior DidStartProvisionalLoad 933 // DidCommitProvisionalLoad IPC without a prior DidStartProvisionalLoad
933 // message. 934 // message.
934 if (!navigation_handle_) { 935 if (!navigation_handle_) {
936 double navigation_start_seconds =
937 (base::TimeTicks::Now() - base::TimeTicks()).InSecondsF();
935 navigation_handle_ = NavigationHandleImpl::Create( 938 navigation_handle_ = NavigationHandleImpl::Create(
936 validated_params.url, frame_tree_node_); 939 validated_params.url, frame_tree_node_, navigation_start_seconds);
937 } 940 }
938 941
939 accessibility_reset_count_ = 0; 942 accessibility_reset_count_ = 0;
940 frame_tree_node()->navigator()->DidNavigate(this, validated_params); 943 frame_tree_node()->navigator()->DidNavigate(this, validated_params);
941 944
942 // For a top-level frame, there are potential security concerns associated 945 // For a top-level frame, there are potential security concerns associated
943 // with displaying graphics from a previously loaded page after the URL in 946 // with displaying graphics from a previously loaded page after the URL in
944 // the omnibar has been changed. It is unappealing to clear the page 947 // the omnibar has been changed. It is unappealing to clear the page
945 // immediately, but if the renderer is taking a long time to issue any 948 // immediately, but if the renderer is taking a long time to issue any
946 // compositor output (possibly because of script deliberately creating this 949 // compositor output (possibly because of script deliberately creating this
(...skipping 1346 matching lines...) Expand 10 before | Expand all | Expand 10 after
2293 *dst = src; 2296 *dst = src;
2294 2297
2295 if (src.routing_id != -1) 2298 if (src.routing_id != -1)
2296 dst->tree_id = RoutingIDToAXTreeID(src.routing_id); 2299 dst->tree_id = RoutingIDToAXTreeID(src.routing_id);
2297 2300
2298 if (src.parent_routing_id != -1) 2301 if (src.parent_routing_id != -1)
2299 dst->parent_tree_id = RoutingIDToAXTreeID(src.parent_routing_id); 2302 dst->parent_tree_id = RoutingIDToAXTreeID(src.parent_routing_id);
2300 } 2303 }
2301 2304
2302 } // namespace content 2305 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698