Chromium Code Reviews| Index: content/browser/renderer_host/render_view_host_browsertest.cc |
| diff --git a/content/browser/renderer_host/render_view_host_browsertest.cc b/content/browser/renderer_host/render_view_host_browsertest.cc |
| index 8fb43e567f2c64aa9fa75551f066b8d740af9415..b484d35638b5c0775b1c19426a7a270f94d48f6e 100644 |
| --- a/content/browser/renderer_host/render_view_host_browsertest.cc |
| +++ b/content/browser/renderer_host/render_view_host_browsertest.cc |
| @@ -92,4 +92,35 @@ IN_PROC_BROWSER_TEST_F(RenderViewHostTest, BaseURLParam) { |
| EXPECT_EQ("http://www.google.com/", observer.base_url().spec()); |
| } |
| +// This test ensures a RenderFrameHost object is created for the top level frame |
| +// in each RenderViewHost. |
| +IN_PROC_BROWSER_TEST_F(RenderViewHostTest, BasicRenderFrameHost) { |
| + ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
| + |
| + 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_.get()); |
| + // Since we allocate the routing ids for the RenderViewHost and the top-level |
|
Charlie Reis
2013/05/30 00:41:53
nit: Add a blank line above.
Is it worth testing
nasko
2013/05/30 17:07:03
I like testing as strictly as possible. If things
Charlie Reis
2013/05/30 18:26:59
Let's keep it as you have it.
Just to clarify my
nasko
2013/05/30 19:03:48
Done.
|
| + // RenderFrameHost together, we expect them to be sequential. This will not |
| + // be true for subframes or if we change how routing ids are allocated. |
| + EXPECT_EQ(rvh->GetRoutingID() + 1, |
| + rvh->main_render_frame_host_->routing_id()); |
| + |
| + 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()); |
| + |
| + EXPECT_TRUE(new_rvh->main_render_frame_host_.get()); |
| + EXPECT_EQ(new_rvh->GetRoutingID() + 1, |
| + new_rvh->main_render_frame_host_->routing_id()); |
| + EXPECT_NE(rvh->main_render_frame_host_->routing_id(), |
| + new_rvh->main_render_frame_host_->routing_id()); |
| +} |
| + |
| } // namespace content |