Chromium Code Reviews| Index: content/browser/frame_host/render_frame_host_manager.h | 
| diff --git a/content/browser/frame_host/render_frame_host_manager.h b/content/browser/frame_host/render_frame_host_manager.h | 
| index c40cac4db9e694ea8fe43b6cb7bbe78ca7336497..57905a05cbb94d464a069fde594580f685df27a4 100644 | 
| --- a/content/browser/frame_host/render_frame_host_manager.h | 
| +++ b/content/browser/frame_host/render_frame_host_manager.h | 
| @@ -26,14 +26,13 @@ namespace content { | 
| class BrowserContext; | 
| class CrossProcessFrameConnector; | 
| class CrossSiteTransferringRequest; | 
| -class InterstitialPageImpl; | 
| class FrameTreeNode; | 
| +class InterstitialPageImpl; | 
| class NavigationControllerImpl; | 
| class NavigationEntry; | 
| class NavigationEntryImpl; | 
| class RenderFrameHost; | 
| class RenderFrameHostDelegate; | 
| -class RenderFrameHost; | 
| class RenderFrameHostImpl; | 
| class RenderFrameHostManagerTest; | 
| class RenderFrameProxyHost; | 
| @@ -231,10 +230,6 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { | 
| pending_and_current_web_ui_.get(); | 
| } | 
| - // Sets the pending Web UI for the pending navigation, ensuring that the | 
| - // bindings are appropriate compared to |bindings|. | 
| - void SetPendingWebUI(const GURL& url, int bindings); | 
| - | 
| // Called when we want to instruct the renderer to navigate to the given | 
| // navigation entry. It may create a new RenderFrameHost or re-use an existing | 
| // one. The RenderFrameHost to navigate will be returned. Returns NULL if one | 
| @@ -297,11 +292,20 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { | 
| // Called when a renderer sets its opener to null. | 
| void DidDisownOpener(RenderFrameHost* render_frame_host); | 
| - // Helper method to create and initialize a RenderFrameHost. If |flags| | 
| - // has the CREATE_RF_SWAPPED_OUT bit set from the CreateRenderFrameFlags | 
| - // enum, it will initially be placed on the swapped out hosts list. | 
| - // Returns the routing id of the *view* associated with the frame. | 
| - int CreateRenderFrame(SiteInstance* instance, int opener_route_id, int flags); | 
| + // Sets the pending Web UI for the pending navigation, ensuring that the | 
| + // bindings are appropriate compared to |bindings|. | 
| + void SetPendingWebUI(const GURL& url, int bindings); | 
| + | 
| + // Creates and initializes a RenderFrameHost. If |flags| has the | 
| + // CREATE_RF_SWAPPED_OUT bit set from the CreateRenderFrameFlags enum, it will | 
| + // initially be placed on the swapped out hosts list. If |routing_id_ptr| is | 
| + // not nullptr it will be set to the routing id of the *view* associated with | 
| + // the frame. | 
| + scoped_ptr<RenderFrameHostImpl> CreateRenderFrame(SiteInstance* instance, | 
| + int opener_route_id, | 
| + int flags, | 
| + const WebUIImpl* web_ui, | 
| 
 
Charlie Reis
2014/11/26 00:42:54
DRAFT: This seems like a strange type.
 
Charlie Reis
2014/11/26 01:06:40
At the moment, it's hard to tell what this paramet
 
carlosk
2014/11/27 11:02:44
Done.
I agree it was confusing and I was in doubt
 
 | 
| + int* routing_id_ptr); | 
| 
 
Charlie Reis
2014/11/26 00:42:54
We should put "view" in the name of this parameter
 
carlosk
2014/11/27 11:02:44
Done.
 
 | 
| // Helper method to create and initialize a RenderFrameProxyHost and return | 
| // its routing id. | 
| @@ -401,6 +405,10 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { | 
| const GURL& new_effective_url, | 
| bool new_is_view_source_mode) const; | 
| + // Creates a new Web UI, ensuring that the bindings are appropriate compared | 
| + // to |bindings|. The caller is responsible for the instance ownership. | 
| 
 
Charlie Reis
2014/11/26 01:06:40
Yes, should return a scoped_ptr then.
 
carlosk
2014/11/27 11:02:44
Done. I also removed that extra comment as the sco
 
 | 
| + WebUIImpl* CreateWebUI(const GURL& url, int bindings); | 
| + | 
| // Returns true if it is safe to reuse the current WebUI when navigating from | 
| // |current_entry| to |new_url|. | 
| bool ShouldReuseWebUI( | 
| @@ -442,6 +450,13 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { | 
| SiteInstance* new_instance, | 
| bool is_main_frame); | 
| + // Ensure that we have created RFHs for the new RFH's opener chain if | 
| + // we are staying in the same BrowsingInstance. This allows the new RFH | 
| + // to send cross-process script calls to its opener(s). Returns the opener | 
| + // route ID to be used for the new RenderView to be created. | 
| + int CreateOpenerRenderViewsIfNeeded(SiteInstance* old_instance, | 
| + SiteInstance* new_instance); | 
| + | 
| // Creates a RenderFrameHost and corresponding RenderViewHost if necessary. | 
| scoped_ptr<RenderFrameHostImpl> CreateRenderFrameHost(SiteInstance* instance, | 
| int view_routing_id, | 
| @@ -474,6 +489,11 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { | 
| // deleted or put on the pending delete list during this call. | 
| void SwapOutOldFrame(scoped_ptr<RenderFrameHostImpl> old_render_frame_host); | 
| + // Discards a RenderFrameHost that was never made active (for active ones | 
| + // SwapOutOldFrame is used instead). | 
| + void DiscardRenderFrameHost( | 
| 
 
Charlie Reis
2014/11/26 00:42:54
DiscardUnusedRenderFrameHost (or DiscardUnusedFram
 
carlosk
2014/11/27 11:02:44
Done.
 
 | 
| + scoped_ptr<RenderFrameHostImpl> render_frame_host); | 
| + | 
| // Holds |render_frame_host| until it can be deleted when its swap out ACK | 
| // arrives. | 
| void MoveToPendingDeleteHosts( |