Index: content/browser/renderer_host/render_process_host_impl.cc |
=================================================================== |
--- content/browser/renderer_host/render_process_host_impl.cc (revision 269781) |
+++ content/browser/renderer_host/render_process_host_impl.cc (working copy) |
@@ -1716,11 +1716,12 @@ |
iterator iter(AllHostsIterator()); |
while (!iter.IsAtEnd()) { |
- if (RenderProcessHostImpl::IsSuitableHost( |
+ if (GetContentClient()->browser()->MayReuseHost(iter.GetCurrentValue()) && |
+ RenderProcessHostImpl::IsSuitableHost( |
iter.GetCurrentValue(), |
- browser_context, site_url)) |
+ browser_context, site_url)) { |
suitable_renderers.push_back(iter.GetCurrentValue()); |
- |
+ } |
iter.Advance(); |
} |
@@ -1773,7 +1774,8 @@ |
std::string site = SiteInstance::GetSiteForURL(browser_context, url) |
.possibly_invalid_spec(); |
RenderProcessHost* host = map->FindProcess(site); |
- if (host && !IsSuitableHost(host, browser_context, url)) { |
+ if (host && (!GetContentClient()->browser()->MayReuseHost(host) || |
+ !IsSuitableHost(host, browser_context, url))) { |
// The registered process does not have an appropriate set of bindings for |
// the url. Remove it from the map so we can register a better one. |
RecordAction( |