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

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

Issue 743773003: OOPIF: Data URLs are now rendered in the renderer that initiated the navigation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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 564 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 } 575 }
576 576
577 void RenderFrameHostImpl::OnDetach() { 577 void RenderFrameHostImpl::OnDetach() {
578 frame_tree_->RemoveFrame(frame_tree_node_); 578 frame_tree_->RemoveFrame(frame_tree_node_);
579 } 579 }
580 580
581 void RenderFrameHostImpl::OnFrameFocused() { 581 void RenderFrameHostImpl::OnFrameFocused() {
582 frame_tree_->SetFocusedFrame(frame_tree_node_); 582 frame_tree_->SetFocusedFrame(frame_tree_node_);
583 } 583 }
584 584
585 void RenderFrameHostImpl::OnOpenURL( 585 void RenderFrameHostImpl::OnOpenURL(const FrameHostMsg_OpenURL_Params& params) {
586 const FrameHostMsg_OpenURL_Params& params) { 586 OpenURL(params, GetSiteInstance());
587 GURL validated_url(params.url);
588 GetProcess()->FilterURL(false, &validated_url);
589
590 TRACE_EVENT1("navigation", "RenderFrameHostImpl::OnOpenURL",
591 "url", validated_url.possibly_invalid_spec());
592 frame_tree_node_->navigator()->RequestOpenURL(
593 this, validated_url, params.referrer, params.disposition,
594 params.should_replace_current_entry, params.user_gesture);
595 } 587 }
596 588
597 void RenderFrameHostImpl::OnDocumentOnLoadCompleted() { 589 void RenderFrameHostImpl::OnDocumentOnLoadCompleted() {
598 // This message is only sent for top-level frames. TODO(avi): when frame tree 590 // This message is only sent for top-level frames. TODO(avi): when frame tree
599 // mirroring works correctly, add a check here to enforce it. 591 // mirroring works correctly, add a check here to enforce it.
600 delegate_->DocumentOnLoadCompleted(this); 592 delegate_->DocumentOnLoadCompleted(this);
601 } 593 }
602 594
603 void RenderFrameHostImpl::OnDidStartProvisionalLoadForFrame( 595 void RenderFrameHostImpl::OnDidStartProvisionalLoadForFrame(
604 const GURL& url, 596 const GURL& url,
(...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after
1274 params.common_params.transition = ui::PAGE_TRANSITION_LINK; 1266 params.common_params.transition = ui::PAGE_TRANSITION_LINK;
1275 params.common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL; 1267 params.common_params.navigation_type = FrameMsg_Navigate_Type::NORMAL;
1276 params.commit_params.browser_navigation_start = base::TimeTicks::Now(); 1268 params.commit_params.browser_navigation_start = base::TimeTicks::Now();
1277 params.page_id = -1; 1269 params.page_id = -1;
1278 params.pending_history_list_offset = -1; 1270 params.pending_history_list_offset = -1;
1279 params.current_history_list_offset = -1; 1271 params.current_history_list_offset = -1;
1280 params.current_history_list_length = 0; 1272 params.current_history_list_length = 0;
1281 Navigate(params); 1273 Navigate(params);
1282 } 1274 }
1283 1275
1284 void RenderFrameHostImpl::OpenURL(const FrameHostMsg_OpenURL_Params& params) { 1276 void RenderFrameHostImpl::OpenURL(const FrameHostMsg_OpenURL_Params& params,
1285 OnOpenURL(params); 1277 SiteInstance* source_site_instance) {
1278 GURL validated_url(params.url);
1279 GetProcess()->FilterURL(false, &validated_url);
1280
1281 TRACE_EVENT1("navigation", "RenderFrameHostImpl::OnOpenURL", "url",
nasko 2014/12/11 01:14:44 nit: The method is no longer called OnOpenURL, so
lfg 2014/12/11 23:55:24 Done.
1282 validated_url.possibly_invalid_spec());
1283 frame_tree_node_->navigator()->RequestOpenURL(
1284 this, validated_url, source_site_instance, params.referrer,
1285 params.disposition, params.should_replace_current_entry,
1286 params.user_gesture);
1286 } 1287 }
1287 1288
1288 void RenderFrameHostImpl::Stop() { 1289 void RenderFrameHostImpl::Stop() {
1289 Send(new FrameMsg_Stop(routing_id_)); 1290 Send(new FrameMsg_Stop(routing_id_));
1290 } 1291 }
1291 1292
1292 void RenderFrameHostImpl::DispatchBeforeUnload(bool for_cross_site_transition) { 1293 void RenderFrameHostImpl::DispatchBeforeUnload(bool for_cross_site_transition) {
1293 // TODO(creis): Support beforeunload on subframes. For now just pretend that 1294 // TODO(creis): Support beforeunload on subframes. For now just pretend that
1294 // the handler ran and allowed the navigation to proceed. 1295 // the handler ran and allowed the navigation to proceed.
1295 if (GetParent() || !IsRenderFrameLive()) { 1296 if (GetParent() || !IsRenderFrameLive()) {
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
1585 void RenderFrameHostImpl::DidUseGeolocationPermission() { 1586 void RenderFrameHostImpl::DidUseGeolocationPermission() {
1586 RenderFrameHost* top_frame = frame_tree_node()->frame_tree()->GetMainFrame(); 1587 RenderFrameHost* top_frame = frame_tree_node()->frame_tree()->GetMainFrame();
1587 GetContentClient()->browser()->RegisterPermissionUsage( 1588 GetContentClient()->browser()->RegisterPermissionUsage(
1588 PERMISSION_GEOLOCATION, 1589 PERMISSION_GEOLOCATION,
1589 delegate_->GetAsWebContents(), 1590 delegate_->GetAsWebContents(),
1590 GetLastCommittedURL().GetOrigin(), 1591 GetLastCommittedURL().GetOrigin(),
1591 top_frame->GetLastCommittedURL().GetOrigin()); 1592 top_frame->GetLastCommittedURL().GetOrigin());
1592 } 1593 }
1593 1594
1594 } // namespace content 1595 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698