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

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

Issue 1715993002: OOPIF: Fix remote frame navigations from extension pages. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months 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_manager.h" 5 #include "content/browser/frame_host/render_frame_host_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <utility> 10 #include <utility>
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 DCHECK_EQ(process_id, global_request_id.child_id); 463 DCHECK_EQ(process_id, global_request_id.child_id);
464 464
465 // Treat the last URL in the chain as the destination and the remainder as 465 // Treat the last URL in the chain as the destination and the remainder as
466 // the redirect chain. 466 // the redirect chain.
467 CHECK(transfer_url_chain.size()); 467 CHECK(transfer_url_chain.size());
468 GURL transfer_url = transfer_url_chain.back(); 468 GURL transfer_url = transfer_url_chain.back();
469 std::vector<GURL> rest_of_chain = transfer_url_chain; 469 std::vector<GURL> rest_of_chain = transfer_url_chain;
470 rest_of_chain.pop_back(); 470 rest_of_chain.pop_back();
471 471
472 pending_render_frame_host->frame_tree_node()->navigator()->RequestTransferURL( 472 pending_render_frame_host->frame_tree_node()->navigator()->RequestTransferURL(
473 pending_render_frame_host, transfer_url, rest_of_chain, referrer, 473 pending_render_frame_host, transfer_url, nullptr, rest_of_chain, referrer,
474 page_transition, global_request_id, should_replace_current_entry); 474 page_transition, global_request_id, should_replace_current_entry);
475 475
476 // The transferring request was only needed during the RequestTransferURL 476 // The transferring request was only needed during the RequestTransferURL
477 // call, so it is safe to clear at this point. 477 // call, so it is safe to clear at this point.
478 cross_site_transferring_request_.reset(); 478 cross_site_transferring_request_.reset();
479 479
480 // If the navigation continued, the NavigationHandle should have been 480 // If the navigation continued, the NavigationHandle should have been
481 // transfered to a RenderFrameHost. In the other cases, it should be cleared. 481 // transfered to a RenderFrameHost. In the other cases, it should be cleared.
482 transfer_navigation_handle_.reset(); 482 transfer_navigation_handle_.reset();
483 } 483 }
(...skipping 1996 matching lines...) Expand 10 before | Expand all | Expand 10 after
2480 int RenderFrameHostManager::GetOpenerRoutingID(SiteInstance* instance) { 2480 int RenderFrameHostManager::GetOpenerRoutingID(SiteInstance* instance) {
2481 if (!frame_tree_node_->opener()) 2481 if (!frame_tree_node_->opener())
2482 return MSG_ROUTING_NONE; 2482 return MSG_ROUTING_NONE;
2483 2483
2484 return frame_tree_node_->opener() 2484 return frame_tree_node_->opener()
2485 ->render_manager() 2485 ->render_manager()
2486 ->GetRoutingIdForSiteInstance(instance); 2486 ->GetRoutingIdForSiteInstance(instance);
2487 } 2487 }
2488 2488
2489 } // namespace content 2489 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698