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 dc76abd1ca480a5bf233dff67dadbef6122dbfe5..a05b5846ca0683ae60e9df048dcf4880fa8f5a63 100644 |
--- a/content/browser/frame_host/render_frame_host_manager.cc |
+++ b/content/browser/frame_host/render_frame_host_manager.cc |
@@ -1257,6 +1257,15 @@ bool RenderFrameHostManager::ShouldSwapBrowsingInstancesForNavigation( |
browser_context, new_effective_url)) { |
return true; |
} |
+ |
+ // Force swap if the current WebUI type differs from the one for the |
+ // destination. |
+ if (WebUIControllerFactoryRegistry::GetInstance()->GetWebUIType( |
+ browser_context, current_effective_url) != |
+ WebUIControllerFactoryRegistry::GetInstance()->GetWebUIType( |
+ browser_context, new_effective_url)) { |
+ return true; |
+ } |
} else { |
// Force a swap if it's a Web UI URL. |
if (WebUIControllerFactoryRegistry::GetInstance()->UseWebUIForURL( |