Chromium Code Reviews| Index: content/renderer/render_view_impl.cc |
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
| index 3c1526682498c7356cdf5601f31cba94d9534be8..8f5089c793b20406e58a68631f57030e2e926d65 100644 |
| --- a/content/renderer/render_view_impl.cc |
| +++ b/content/renderer/render_view_impl.cc |
| @@ -1118,6 +1118,17 @@ void RenderViewImpl::OnNavigate(const ViewMsg_Navigate_Params& params) { |
| // In case LoadRequest failed before DidCreateDataSource was called. |
| pending_navigation_params_.reset(); |
| + |
| + // Check if all RenderViewImpls are displaying a page from the same host, and |
| + // update RenderThreadImpl's view on that. If this is the only RenderViewImpl, |
| + // the common host is this view's host. If there are many, check if this one |
| + // shares the common host of the other RenderViewImpls. It's ok to not detect |
| + // some cases where the RenderViewImpls share a common host. |
|
Charlie Reis
2012/08/16 16:22:56
This isn't safe. You'll miss renderer-initiated n
marja
2012/08/21 15:21:15
Changed this to do the work in RenderViewImpl::did
|
| + RenderThreadImpl* render_thread_impl = RenderThreadImpl::current(); |
| + if (g_view_map.Get().size() == 1) |
| + render_thread_impl->SetCommonHost(params.url.host()); |
| + else if (params.url.host() != render_thread_impl->CommonHost()) |
| + render_thread_impl->SetCommonHost(std::string()); |
| } |
| bool RenderViewImpl::IsBackForwardToStaleEntry( |