Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(770)

Unified Diff: content/browser/frame_host/render_frame_host_manager.h

Issue 404613005: Start using RenderFrameProxyHost objects. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Bug fix + ncarter review comments addressed Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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();

Powered by Google App Engine
This is Rietveld 408576698