diff options
author | creis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-17 04:11:43 +0000 |
---|---|---|
committer | creis@chromium.org <creis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-17 04:11:43 +0000 |
commit | a141967d8717635a103bf1707d54fc07119a9ebb (patch) | |
tree | 03d3d818d8913d4920f59640f18d7ff3b9d98a89 /content/browser/renderer_host/render_view_host_browsertest.cc | |
parent | 58dab952b72c01239ebe0cccdcda637fa022c65a (diff) | |
download | chromium_src-a141967d8717635a103bf1707d54fc07119a9ebb.zip chromium_src-a141967d8717635a103bf1707d54fc07119a9ebb.tar.gz chromium_src-a141967d8717635a103bf1707d54fc07119a9ebb.tar.bz2 |
Make RenderFrameHostManager swap RenderFrameHosts, not RenderViewHosts.
We still only have a RFHM for the main frame and not subframes, unless
the --site-per-process flag is passed. To external callers, RFHM is
still effectively swapping RenderViewHosts.
RenderFrameHosts now indirectly keep their RenderViewHosts alive.
BUG=314791
TEST=No visible behavior change.
Review URL: https://codereview.chromium.org/106963004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@241151 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/renderer_host/render_view_host_browsertest.cc')
-rw-r--r-- | content/browser/renderer_host/render_view_host_browsertest.cc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/content/browser/renderer_host/render_view_host_browsertest.cc b/content/browser/renderer_host/render_view_host_browsertest.cc index 386ff52..555852c 100644 --- a/content/browser/renderer_host/render_view_host_browsertest.cc +++ b/content/browser/renderer_host/render_view_host_browsertest.cc @@ -6,6 +6,7 @@ #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" #include "base/values.h" +#include "content/browser/frame_host/render_frame_host_impl.h" #include "content/browser/renderer_host/render_view_host_impl.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/common/view_messages.h" @@ -100,19 +101,19 @@ IN_PROC_BROWSER_TEST_F(RenderViewHostTest, BasicRenderFrameHost) { GURL test_url = embedded_test_server()->GetURL("/simple_page.html"); NavigateToURL(shell(), test_url); - RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( - shell()->web_contents()->GetRenderViewHost()); - EXPECT_TRUE(rvh->main_render_frame_host()); + FrameTreeNode* old_root = static_cast<WebContentsImpl*>( + shell()->web_contents())->GetFrameTree()->root(); + EXPECT_TRUE(old_root->current_frame_host()); ShellAddedObserver new_shell_observer; EXPECT_TRUE(ExecuteScript(shell()->web_contents(), "window.open();")); Shell* new_shell = new_shell_observer.GetShell(); - RenderViewHostImpl* new_rvh = static_cast<RenderViewHostImpl*>( - new_shell->web_contents()->GetRenderViewHost()); + FrameTreeNode* new_root = static_cast<WebContentsImpl*>( + new_shell->web_contents())->GetFrameTree()->root(); - EXPECT_TRUE(new_rvh->main_render_frame_host()); - EXPECT_NE(rvh->main_render_frame_host()->routing_id(), - new_rvh->main_render_frame_host()->routing_id()); + EXPECT_TRUE(new_root->current_frame_host()); + EXPECT_NE(old_root->current_frame_host()->routing_id(), + new_root->current_frame_host()->routing_id()); } } // namespace content |