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

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: 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..dd1152fc7cc655c43919da8b808bdbae1e77d8f1 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.
+ int CreateRenderFrameProxy(SiteInstance* instance, int opener_route_id);
+
// 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);
+
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,6 +426,8 @@ class CONTENT_EXPORT RenderFrameHostManager : public NotificationObserver {
int proxy_routing_id,
bool for_main_frame);
+ bool InitRenderFrame(RenderFrameHost* render_frame_host);
+
// 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.

Powered by Google App Engine
This is Rietveld 408576698