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 cd1684b769a1b7479a79e30536bf586b6eafeec9..0d15b66723de5446a8c8465260a8541aabb6b49b 100644 |
--- a/content/browser/frame_host/render_frame_host_manager.cc |
+++ b/content/browser/frame_host/render_frame_host_manager.cc |
@@ -748,7 +748,7 @@ bool RenderFrameHostManager::DeleteFromPendingList( |
} |
void RenderFrameHostManager::ResetProxyHosts() { |
- for (auto& pair : proxy_hosts_) { |
+ for (const auto& pair : proxy_hosts_) { |
static_cast<SiteInstanceImpl*>(pair.second->GetSiteInstance()) |
->RemoveObserver(this); |
} |
@@ -1011,12 +1011,14 @@ void RenderFrameHostManager::ActiveFrameCountIsZero( |
RenderFrameProxyHost* RenderFrameHostManager::CreateRenderFrameProxyHost( |
SiteInstance* site_instance, |
RenderViewHostImpl* rvh) { |
- auto result = proxy_hosts_.add(site_instance->GetId(), |
- make_scoped_ptr(new RenderFrameProxyHost( |
- site_instance, rvh, frame_tree_node_))); |
- CHECK(result.second) << "A proxy already existed for this SiteInstance."; |
+ int site_instance_id = site_instance->GetId(); |
+ CHECK(proxy_hosts_.find(site_instance_id) == proxy_hosts_.end()) |
+ << "A proxy already existed for this SiteInstance."; |
+ RenderFrameProxyHost* proxy_host = |
+ new RenderFrameProxyHost(site_instance, rvh, frame_tree_node_); |
+ proxy_hosts_[site_instance_id] = make_scoped_ptr(proxy_host); |
static_cast<SiteInstanceImpl*>(site_instance)->AddObserver(this); |
- return result.first->second; |
+ return proxy_host; |
} |
void RenderFrameHostManager::DeleteRenderFrameProxyHost( |
@@ -1756,7 +1758,7 @@ void RenderFrameHostManager::CreateProxiesForChildFrame(FrameTreeNode* child) { |
for (const auto& pair : proxy_hosts_) { |
// Do not create proxies for subframes in the outer delegate's process, |
// since the outer delegate does not need to interact with them. |
- if (pair.second == outer_delegate_proxy) |
+ if (pair.second.get() == outer_delegate_proxy) |
continue; |
child->render_manager()->CreateRenderFrameProxy( |
@@ -2332,18 +2334,10 @@ RenderFrameProxyHost* RenderFrameHostManager::GetRenderFrameProxyHost( |
SiteInstance* instance) const { |
auto it = proxy_hosts_.find(instance->GetId()); |
if (it != proxy_hosts_.end()) |
- return it->second; |
+ return it->second.get(); |
return nullptr; |
} |
-std::map<int, RenderFrameProxyHost*> |
-RenderFrameHostManager::GetAllProxyHostsForTesting() { |
- std::map<int, RenderFrameProxyHost*> result; |
- for (const auto& pair : proxy_hosts_) |
- result[pair.first] = pair.second; |
- return result; |
-} |
- |
void RenderFrameHostManager::CollectOpenerFrameTrees( |
std::vector<FrameTree*>* opener_frame_trees, |
base::hash_set<FrameTreeNode*>* nodes_with_back_links) { |