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 fddfd9c8de20f9fb2a815d40584b8d0cbfc21ee9..f8ba0ffd3ef953982c6923968e5c84168a013243 100644 |
--- a/content/browser/frame_host/render_frame_host_manager.h |
+++ b/content/browser/frame_host/render_frame_host_manager.h |
@@ -31,6 +31,7 @@ class NavigationEntryImpl; |
class NavigationRequest; |
class RenderFrameHost; |
class RenderFrameHostDelegate; |
+class RenderFrameHost; |
class RenderFrameHostImpl; |
class RenderFrameHostManagerTest; |
class RenderFrameProxyHost; |
@@ -68,6 +69,9 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { |
int opener_route_id, |
int proxy_routing_id, |
bool for_main_frame) = 0; |
+ virtual bool CreateRenderFrameForRenderManager( |
+ RenderFrameHost* render_frame_host, |
+ int parent_routing_id) = 0; |
virtual void BeforeUnloadFiredFromRenderManager( |
bool proceed, const base::TimeTicks& proceed_time, |
bool* proceed_to_fire_unload) = 0; |
@@ -251,8 +255,12 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { |
int CreateRenderFrame(SiteInstance* instance, |
int opener_route_id, |
bool swapped_out, |
+ bool for_main_frame, |
bool hidden); |
+ // Helper method to create and initialize a RenderFrameProxyHost. |
Charlie Reis
2014/07/24 22:36:30
Please say what this returns.
kenrb
2014/07/25 23:42:05
Done.
|
+ int CreateRenderFrameProxy(SiteInstance* instance); |
+ |
// Sets the passed passed interstitial as the currently showing interstitial. |
// |interstitial_page| should be non NULL (use the remove_interstitial_page |
// method to unset the interstitial) and no interstitial page should be set |
@@ -305,10 +313,15 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { |
// Used to start a navigation, part of browser-side navigation project. |
void OnBeginNavigation(const FrameHostMsg_BeginNavigation_Params& params); |
+ int GetRoutingIdForSiteInstance(SiteInstance* site_instance); |
Charlie Reis
2014/07/24 22:36:30
This name is confusing, since routing IDs are used
nasko
2014/07/25 07:13:20
It is scoped to RFHM and is supposed to return the
kenrb
2014/07/25 23:42:05
I have added a comment but left the name the same.
Charlie Reis
2014/07/28 19:24:28
Acknowledged.
|
+ |
private: |
friend class RenderFrameHostManagerTest; |
friend class TestWebContents; |
+ FRIEND_TEST_ALL_PREFIXES(CrossProcessFrameTreeBrowserTest, |
+ VerifyProxyCreation); |
+ |
// Tracks information about a navigation while a cross-process transition is |
// in progress, in case we need to transfer it to a new RenderFrameHost. |
// When a request is being transferred, deleting the PendingNavigationParams, |
@@ -413,15 +426,17 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver { |
int proxy_routing_id, |
bool for_main_frame); |
+ bool InitRenderFrame(RenderFrameHost* render_frame_host); |
Charlie Reis
2014/07/24 22:36:30
This needs a comment. Is the behavior similar to
nasko
2014/07/25 07:13:20
Yes, it is. In general, I've made RFH/RFPH creatio
kenrb
2014/07/25 23:42:05
I have added a short comment. Let me know if you w
|
+ |
// Sets the pending RenderFrameHost/WebUI to be the active one. Note that this |
// doesn't require the pending render_frame_host_ pointer to be non-NULL, |
// since there could be Web UI switching as well. Call this for every commit. |
void CommitPending(); |
- // Shutdown all RenderFrameHosts in a SiteInstance. This is called to shutdown |
- // frames when all the frames in a SiteInstance are confirmed to be swapped |
- // out. |
- void ShutdownRenderFrameHostsInSiteInstance(int32 site_instance_id); |
+ // Shutdown all RenderFrameProxyHosts in a SiteInstance. This is called to |
+ // shutdown frames when all the frames in a SiteInstance are confirmed to be |
+ // swapped out. |
Charlie Reis
2014/07/24 22:36:30
Nice! We're getting closer to where we won't have
|
+ void ShutdownRenderFrameProxyHostsInSiteInstance(int32 site_instance_id); |
// Helper method to terminate the pending RenderViewHost. |
void CancelPending(); |