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 5ae522b0a7b448c1cf8ab395d06544110703e08e..25b359fbb46b36018a13877769811832db7295ec 100644 |
--- a/content/browser/frame_host/render_frame_host_manager.cc |
+++ b/content/browser/frame_host/render_frame_host_manager.cc |
@@ -719,8 +719,6 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
// The appropriate RenderFrameHost to commit the navigation. |
RenderFrameHostImpl* navigation_rfh = nullptr; |
- bool notify_webui_of_rf_creation = false; |
- |
// Reuse the current RenderFrameHost if its SiteInstance matches the |
// navigation's. |
bool no_renderer_swap = current_site_instance == dest_site_instance.get(); |
@@ -749,6 +747,7 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
request.dest_site_instance(), was_server_redirect); |
} |
+ bool notify_webui_of_rf_creation = false; |
if (no_renderer_swap) { |
// GetFrameHostForNavigation will be called more than once during a |
// navigation (currently twice, on request and when it's about to commit in |
@@ -759,8 +758,10 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
if (speculative_render_frame_host_) |
DiscardUnusedFrame(UnsetSpeculativeRenderFrameHost()); |
- UpdatePendingWebUIOnCurrentFrameHost(request.common_params().url, |
- request.bindings()); |
+ if (frame_tree_node_->IsMainFrame()) { |
+ UpdatePendingWebUIOnCurrentFrameHost(request.common_params().url, |
+ request.bindings()); |
+ } |
navigation_rfh = render_frame_host_.get(); |
@@ -785,13 +786,14 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
} |
DCHECK(speculative_render_frame_host_); |
- bool changed_web_ui = speculative_render_frame_host_->UpdatePendingWebUI( |
- request.common_params().url, request.bindings()); |
- speculative_render_frame_host_->CommitPendingWebUI(); |
- DCHECK_EQ(GetNavigatingWebUI(), speculative_render_frame_host_->web_ui()); |
- notify_webui_of_rf_creation = |
- changed_web_ui && speculative_render_frame_host_->web_ui(); |
- |
+ if (frame_tree_node_->IsMainFrame()) { |
+ bool changed_web_ui = speculative_render_frame_host_->UpdatePendingWebUI( |
+ request.common_params().url, request.bindings()); |
+ speculative_render_frame_host_->CommitPendingWebUI(); |
+ DCHECK_EQ(GetNavigatingWebUI(), speculative_render_frame_host_->web_ui()); |
+ notify_webui_of_rf_creation = |
+ changed_web_ui && speculative_render_frame_host_->web_ui(); |
+ } |
navigation_rfh = speculative_render_frame_host_.get(); |
// Check if our current RFH is live. |
@@ -835,7 +837,8 @@ RenderFrameHostImpl* RenderFrameHostManager::GetFrameHostForNavigation( |
if (!ReinitializeRenderFrame(navigation_rfh)) |
return nullptr; |
- notify_webui_of_rf_creation = true; |
+ if (frame_tree_node_->IsMainFrame()) |
+ notify_webui_of_rf_creation = true; |
if (navigation_rfh == render_frame_host_.get()) { |
// TODO(nasko): This is a very ugly hack. The Chrome extensions process |