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

Unified Diff: content/browser/frame_host/render_frame_host_manager.cc

Issue 2472253002: Fix navigation requests starting too early and not getting associated with the <webview>. (Closed)
Patch Set: nits Created 4 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/frame_host/render_frame_host_manager.cc
diff --git a/content/browser/frame_host/render_frame_host_manager.cc b/content/browser/frame_host/render_frame_host_manager.cc
index 98badf7a667e6bd9775ca3b4631bc86b42863ed0..e174e54d379ca834c1016b919b53d5325fb0ce0d 100644
--- a/content/browser/frame_host/render_frame_host_manager.cc
+++ b/content/browser/frame_host/render_frame_host_manager.cc
@@ -85,7 +85,8 @@ RenderFrameHostManager::~RenderFrameHostManager() {
void RenderFrameHostManager::Init(SiteInstance* site_instance,
int32_t view_routing_id,
int32_t frame_routing_id,
- int32_t widget_routing_id) {
+ int32_t widget_routing_id,
+ bool renderer_initiated_creation) {
DCHECK(site_instance);
// TODO(avi): While RenderViewHostImpl is-a RenderWidgetHostImpl, this must
// hold true to avoid having two RenderWidgetHosts for the top-level frame.
@@ -94,7 +95,8 @@ void RenderFrameHostManager::Init(SiteInstance* site_instance,
view_routing_id == widget_routing_id);
SetRenderFrameHost(CreateRenderFrameHost(site_instance, view_routing_id,
frame_routing_id, widget_routing_id,
- delegate_->IsHidden()));
+ delegate_->IsHidden(),
+ renderer_initiated_creation));
// Notify the delegate of the creation of the current RenderFrameHost.
// Do this only for subframes, as the main frame case is taken care of by
@@ -1641,11 +1643,13 @@ void RenderFrameHostManager::CreateProxiesForNewNamedFrame() {
}
std::unique_ptr<RenderFrameHostImpl>
-RenderFrameHostManager::CreateRenderFrameHost(SiteInstance* site_instance,
- int32_t view_routing_id,
- int32_t frame_routing_id,
- int32_t widget_routing_id,
- bool hidden) {
+RenderFrameHostManager::CreateRenderFrameHost(
+ SiteInstance* site_instance,
+ int32_t view_routing_id,
+ int32_t frame_routing_id,
+ int32_t widget_routing_id,
+ bool hidden,
+ bool renderer_initiated_creation) {
if (frame_routing_id == MSG_ROUTING_NONE)
frame_routing_id = site_instance->GetProcess()->GetNextRoutingID();
@@ -1677,7 +1681,7 @@ RenderFrameHostManager::CreateRenderFrameHost(SiteInstance* site_instance,
return RenderFrameHostFactory::Create(
site_instance, render_view_host, render_frame_delegate_,
render_widget_delegate_, frame_tree, frame_tree_node_, frame_routing_id,
- widget_routing_id, hidden);
+ widget_routing_id, hidden, renderer_initiated_creation);
}
// PlzNavigate
@@ -1732,7 +1736,8 @@ std::unique_ptr<RenderFrameHostImpl> RenderFrameHostManager::CreateRenderFrame(
}
new_render_frame_host = CreateRenderFrameHost(
- instance, MSG_ROUTING_NONE, MSG_ROUTING_NONE, widget_routing_id, hidden);
+ instance, MSG_ROUTING_NONE, MSG_ROUTING_NONE, widget_routing_id, hidden,
+ false);
RenderViewHostImpl* render_view_host =
new_render_frame_host->render_view_host();
« no previous file with comments | « content/browser/frame_host/render_frame_host_manager.h ('k') | content/browser/web_contents/web_contents_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698