Index: trunk/src/content/browser/site_per_process_browsertest.cc |
=================================================================== |
--- trunk/src/content/browser/site_per_process_browsertest.cc (revision 251088) |
+++ trunk/src/content/browser/site_per_process_browsertest.cc (working copy) |
@@ -258,68 +258,6 @@ |
child->current_frame_host()->GetProcess()); |
} |
-// Crash a subframe and ensures its children are cleared from the FrameTree. |
-// See http://crbug.com/338508. |
-// TODO(creis): Enable this on Android when we can kill the process there. |
-#if defined(OS_ANDROID) |
-#define MAYBE_CrashSubframe DISABLED_CrashSubframe |
-#else |
-#define MAYBE_CrashSubframe CrashSubframe |
-#endif |
-IN_PROC_BROWSER_TEST_F(SitePerProcessBrowserTest, MAYBE_CrashSubframe) { |
- host_resolver()->AddRule("*", "127.0.0.1"); |
- ASSERT_TRUE(test_server()->Start()); |
- GURL main_url(test_server()->GetURL("files/site_per_process_main.html")); |
- NavigateToURL(shell(), main_url); |
- |
- StartFrameAtDataURL(); |
- |
- // These must stay in scope with replace_host. |
- GURL::Replacements replace_host; |
- std::string foo_com("foo.com"); |
- |
- // Load cross-site page into iframe. |
- GURL cross_site_url(test_server()->GetURL("files/title2.html")); |
- replace_host.SetHostStr(foo_com); |
- cross_site_url = cross_site_url.ReplaceComponents(replace_host); |
- EXPECT_TRUE(NavigateIframeToURL(shell(), cross_site_url, "test")); |
- |
- // Check the subframe process. |
- FrameTreeNode* root = |
- static_cast<WebContentsImpl*>(shell()->web_contents())-> |
- GetFrameTree()->root(); |
- ASSERT_EQ(1U, root->child_count()); |
- FrameTreeNode* child = root->child_at(0); |
- EXPECT_NE(FrameTreeNode::kInvalidFrameId, root->frame_id()); |
- EXPECT_NE(FrameTreeNode::kInvalidFrameId, root->child_at(0)->frame_id()); |
- |
- // Crash the subframe process. |
- RenderProcessHost* root_process = root->current_frame_host()->GetProcess(); |
- RenderProcessHost* child_process = child->current_frame_host()->GetProcess(); |
- { |
- RenderProcessHostWatcher crash_observer( |
- child_process, |
- RenderProcessHostWatcher::WATCH_FOR_PROCESS_EXIT); |
- base::KillProcess(child_process->GetHandle(), 0, false); |
- crash_observer.Wait(); |
- } |
- |
- // Ensure that the child frame still exists but has been cleared. |
- EXPECT_EQ(1U, root->child_count()); |
- EXPECT_EQ(FrameTreeNode::kInvalidFrameId, root->child_at(0)->frame_id()); |
- |
- // Now crash the top-level page to clear the child frame. |
- { |
- RenderProcessHostWatcher crash_observer( |
- root_process, |
- RenderProcessHostWatcher::WATCH_FOR_PROCESS_EXIT); |
- base::KillProcess(root_process->GetHandle(), 0, false); |
- crash_observer.Wait(); |
- } |
- EXPECT_EQ(0U, root->child_count()); |
- EXPECT_EQ(FrameTreeNode::kInvalidFrameId, root->frame_id()); |
-} |
- |
// TODO(nasko): Disable this test until out-of-process iframes is ready and the |
// security checks are back in place. |
// TODO(creis): Replace SpawnedTestServer with host_resolver to get test to run |