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/time/time.h" | 8 #include "base/time/time.h" |
9 #include "content/browser/frame_host/frame_tree.h" | 9 #include "content/browser/frame_host/frame_tree.h" |
10 #include "content/browser/frame_host/frame_tree_node.h" | 10 #include "content/browser/frame_host/frame_tree_node.h" |
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 } else { | 120 } else { |
121 params->redirects.clear(); | 121 params->redirects.clear(); |
122 } | 122 } |
123 | 123 |
124 params->can_load_local_resources = entry.GetCanLoadLocalResources(); | 124 params->can_load_local_resources = entry.GetCanLoadLocalResources(); |
125 params->frame_to_navigate = entry.GetFrameToNavigate(); | 125 params->frame_to_navigate = entry.GetFrameToNavigate(); |
126 params->browser_navigation_start = navigation_start; | 126 params->browser_navigation_start = navigation_start; |
127 } | 127 } |
128 | 128 |
129 RenderFrameHostManager* GetRenderManager(RenderFrameHostImpl* rfh) { | 129 RenderFrameHostManager* GetRenderManager(RenderFrameHostImpl* rfh) { |
130 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSitePerProcess)) | 130 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 131 switches::kSitePerProcess)) |
131 return rfh->frame_tree_node()->render_manager(); | 132 return rfh->frame_tree_node()->render_manager(); |
132 | 133 |
133 return rfh->frame_tree_node()->frame_tree()->root()->render_manager(); | 134 return rfh->frame_tree_node()->frame_tree()->root()->render_manager(); |
134 } | 135 } |
135 | 136 |
136 } // namespace | 137 } // namespace |
137 | 138 |
138 | 139 |
139 NavigatorImpl::NavigatorImpl( | 140 NavigatorImpl::NavigatorImpl( |
140 NavigationControllerImpl* navigation_controller, | 141 NavigationControllerImpl* navigation_controller, |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 | 412 |
412 base::TimeTicks NavigatorImpl::GetCurrentLoadStart() { | 413 base::TimeTicks NavigatorImpl::GetCurrentLoadStart() { |
413 return current_load_start_; | 414 return current_load_start_; |
414 } | 415 } |
415 | 416 |
416 void NavigatorImpl::DidNavigate( | 417 void NavigatorImpl::DidNavigate( |
417 RenderFrameHostImpl* render_frame_host, | 418 RenderFrameHostImpl* render_frame_host, |
418 const FrameHostMsg_DidCommitProvisionalLoad_Params& input_params) { | 419 const FrameHostMsg_DidCommitProvisionalLoad_Params& input_params) { |
419 FrameHostMsg_DidCommitProvisionalLoad_Params params(input_params); | 420 FrameHostMsg_DidCommitProvisionalLoad_Params params(input_params); |
420 FrameTree* frame_tree = render_frame_host->frame_tree_node()->frame_tree(); | 421 FrameTree* frame_tree = render_frame_host->frame_tree_node()->frame_tree(); |
421 bool use_site_per_process = | 422 bool use_site_per_process = base::CommandLine::ForCurrentProcess()->HasSwitch( |
422 CommandLine::ForCurrentProcess()->HasSwitch(switches::kSitePerProcess); | 423 switches::kSitePerProcess); |
423 | 424 |
424 if (use_site_per_process) { | 425 if (use_site_per_process) { |
425 // TODO(creis): Until we mirror the frame tree in the subframe's process, | 426 // TODO(creis): Until we mirror the frame tree in the subframe's process, |
426 // cross-process subframe navigations happen in a renderer's main frame. | 427 // cross-process subframe navigations happen in a renderer's main frame. |
427 // Correct the transition type here if we know it is for a subframe. | 428 // Correct the transition type here if we know it is for a subframe. |
428 NavigationEntryImpl* pending_entry = | 429 NavigationEntryImpl* pending_entry = |
429 NavigationEntryImpl::FromNavigationEntry( | 430 NavigationEntryImpl::FromNavigationEntry( |
430 controller_->GetPendingEntry()); | 431 controller_->GetPendingEntry()); |
431 if (!render_frame_host->frame_tree_node()->IsMainFrame() && | 432 if (!render_frame_host->frame_tree_node()->IsMainFrame() && |
432 pending_entry && | 433 pending_entry && |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 GURL dest_url(url); | 598 GURL dest_url(url); |
598 SiteInstance* current_site_instance = | 599 SiteInstance* current_site_instance = |
599 GetRenderManager(render_frame_host)->current_frame_host()-> | 600 GetRenderManager(render_frame_host)->current_frame_host()-> |
600 GetSiteInstance(); | 601 GetSiteInstance(); |
601 if (!GetContentClient()->browser()->ShouldAllowOpenURL( | 602 if (!GetContentClient()->browser()->ShouldAllowOpenURL( |
602 current_site_instance, url)) { | 603 current_site_instance, url)) { |
603 dest_url = GURL(url::kAboutBlankURL); | 604 dest_url = GURL(url::kAboutBlankURL); |
604 } | 605 } |
605 | 606 |
606 int64 frame_tree_node_id = -1; | 607 int64 frame_tree_node_id = -1; |
607 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kSitePerProcess)) { | 608 if (base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 609 switches::kSitePerProcess)) { |
608 frame_tree_node_id = | 610 frame_tree_node_id = |
609 render_frame_host->frame_tree_node()->frame_tree_node_id(); | 611 render_frame_host->frame_tree_node()->frame_tree_node_id(); |
610 } | 612 } |
611 OpenURLParams params( | 613 OpenURLParams params( |
612 dest_url, referrer, frame_tree_node_id, disposition, page_transition, | 614 dest_url, referrer, frame_tree_node_id, disposition, page_transition, |
613 true /* is_renderer_initiated */); | 615 true /* is_renderer_initiated */); |
614 if (redirect_chain.size() > 0) | 616 if (redirect_chain.size() > 0) |
615 params.redirect_chain = redirect_chain; | 617 params.redirect_chain = redirect_chain; |
616 params.transferred_global_request_id = transferred_global_request_id; | 618 params.transferred_global_request_id = transferred_global_request_id; |
617 params.should_replace_current_entry = should_replace_current_entry; | 619 params.should_replace_current_entry = should_replace_current_entry; |
(...skipping 17 matching lines...) Expand all Loading... |
635 | 637 |
636 // Navigations in Web UI pages count as browser-initiated navigations. | 638 // Navigations in Web UI pages count as browser-initiated navigations. |
637 params.is_renderer_initiated = false; | 639 params.is_renderer_initiated = false; |
638 } | 640 } |
639 | 641 |
640 if (delegate_) | 642 if (delegate_) |
641 delegate_->RequestOpenURL(render_frame_host, params); | 643 delegate_->RequestOpenURL(render_frame_host, params); |
642 } | 644 } |
643 | 645 |
644 } // namespace content | 646 } // namespace content |
OLD | NEW |