Chromium Code Reviews| Index: content/browser/frame_host/frame_tree.h | 
| diff --git a/content/browser/frame_host/frame_tree.h b/content/browser/frame_host/frame_tree.h | 
| index 8aa85bb0e72db66510e729eff46e479212bc2d15..f536a2d97d033ae0103156d9822c91d6698b8e13 100644 | 
| --- a/content/browser/frame_host/frame_tree.h | 
| +++ b/content/browser/frame_host/frame_tree.h | 
| @@ -130,8 +130,8 @@ class CONTENT_EXPORT FrameTree { | 
| FrameTreeNode* FindByFrameID(int64 frame_id); | 
| private: | 
| - typedef std::pair<RenderViewHostImpl*, int> RenderViewHostRefCount; | 
| - typedef base::hash_map<int, RenderViewHostRefCount> RenderViewHostMap; | 
| + typedef base::hash_map<int, RenderViewHostImpl*> RenderViewHostMap; | 
| + typedef std::multimap<int, RenderViewHostImpl*> RenderViewHostMultiMap; | 
| // These delegates are installed into all the RenderViewHosts and | 
| // RenderFrameHosts that we create. | 
| @@ -140,15 +140,18 @@ class CONTENT_EXPORT FrameTree { | 
| RenderWidgetHostDelegate* render_widget_delegate_; | 
| RenderFrameHostManager::Delegate* manager_delegate_; | 
| - // Map of SiteInstance ID to a (RenderViewHost, refcount) pair. This allows | 
| - // us to look up the RenderViewHost for a given SiteInstance when creating | 
| - // RenderFrameHosts, and it allows us to call Shutdown on the RenderViewHost | 
| - // and remove it from the map when no more RenderFrameHosts are using it. | 
| + // Map of SiteInstance ID to a RenderViewHost. This allows us to look up the | 
| + // RenderViewHost for a given SiteInstance when creating RenderFrameHosts, and | 
| + // it allows us to call Shutdown on the RenderViewHost and remove it from the | 
| + // map when no more RenderFrameHosts are using it. | 
| // | 
| // Must be declared before |root_| so that it is deleted afterward. Otherwise | 
| // the map will be cleared before we delete the RenderFrameHosts in the tree. | 
| RenderViewHostMap render_view_host_map_; | 
| + // Map of SiteInstance ID to RenderViewHosts that are pending shutdown. | 
| + RenderViewHostMultiMap render_view_host_pending_shutdown_map_; | 
| 
 
nasko
2014/01/23 23:34:58
Why is this a multimap? There should be only one R
 
clamy
2014/01/24 17:01:54
It seems that we can end up reusing the same site
 
 | 
| + | 
| scoped_ptr<FrameTreeNode> root_; | 
| base::Callback<void(RenderViewHostImpl*, int64)> on_frame_removed_; |