Reland r55750. Broke AppApiTest.*.

[email protected]
BUG=49234

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55909 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/extensions/app_process_apitest.cc b/chrome/browser/extensions/app_process_apitest.cc
index 17a370cc..aa3fad1 100644
--- a/chrome/browser/extensions/app_process_apitest.cc
+++ b/chrome/browser/extensions/app_process_apitest.cc
@@ -58,50 +58,54 @@
   host_resolver()->AddRule("*", "127.0.0.1");
   ASSERT_TRUE(StartHTTPServer());
 
-  ASSERT_TRUE(RunExtensionTest("app_process")) << message_;
+  ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("app_process")));
 
-  Extension* extension = GetSingleLoadedExtension();
-  ExtensionHost* host = browser()->profile()->GetExtensionProcessManager()->
-      GetBackgroundHostForExtension(extension);
-  ASSERT_TRUE(host);
+  // Open two tabs in the app, one outside it.
+  GURL base_url("http://localhost:1337/files/extensions/api_test/app_process/");
+  browser()->NewTab();
+  ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html"));
+  browser()->NewTab();
+  ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path2/empty.html"));
+  browser()->NewTab();
+  ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path3/empty.html"));
 
   // The extension should have opened 3 new tabs. Including the original blank
   // tab, we now have 4 tabs. Two should be part of the extension app, and
   // grouped in the extension process.
   ASSERT_EQ(4, browser()->tab_count());
-  EXPECT_EQ(host->render_process_host(),
-            browser()->GetTabContentsAt(1)->render_view_host()->process());
-  EXPECT_EQ(host->render_process_host(),
+  RenderViewHost* host = browser()->GetTabContentsAt(1)->render_view_host();
+  EXPECT_TRUE(host->is_extension_process());
+
+  EXPECT_EQ(host->process(),
             browser()->GetTabContentsAt(2)->render_view_host()->process());
-  EXPECT_NE(host->render_process_host(),
+  EXPECT_NE(host->process(),
             browser()->GetTabContentsAt(3)->render_view_host()->process());
 
   // Now let's do the same using window.open. The same should happen.
-  GURL base_url("http://localhost:1337/files/extensions/api_test/app_process/");
-  WindowOpenHelper(browser(), host->render_view_host(),
+  WindowOpenHelper(browser(), host,
                    base_url.Resolve("path1/empty.html"));
-  WindowOpenHelper(browser(), host->render_view_host(),
+  WindowOpenHelper(browser(), host,
                    base_url.Resolve("path2/empty.html"));
-  WindowOpenHelper(browser(), host->render_view_host(),
+  WindowOpenHelper(browser(), host,
                    base_url.Resolve("path3/empty.html"));
 
   ASSERT_EQ(7, browser()->tab_count());
-  EXPECT_EQ(host->render_process_host(),
+  EXPECT_EQ(host->process(),
             browser()->GetTabContentsAt(4)->render_view_host()->process());
-  EXPECT_EQ(host->render_process_host(),
+  EXPECT_EQ(host->process(),
             browser()->GetTabContentsAt(5)->render_view_host()->process());
-  EXPECT_NE(host->render_process_host(),
+  EXPECT_NE(host->process(),
             browser()->GetTabContentsAt(6)->render_view_host()->process());
 
   // Now let's have these pages navigate, into or out of the extension web
   // extent. They should switch processes.
   const GURL& app_url(base_url.Resolve("path1/empty.html"));
   const GURL& non_app_url(base_url.Resolve("path3/empty.html"));
-  NavigateTabHelper(browser()->GetTabContentsAt(1), non_app_url);
+  NavigateTabHelper(browser()->GetTabContentsAt(2), non_app_url);
   NavigateTabHelper(browser()->GetTabContentsAt(3), app_url);
-  EXPECT_NE(host->render_process_host(),
-            browser()->GetTabContentsAt(1)->render_view_host()->process());
-  EXPECT_EQ(host->render_process_host(),
+  EXPECT_NE(host->process(),
+            browser()->GetTabContentsAt(2)->render_view_host()->process());
+  EXPECT_EQ(host->process(),
             browser()->GetTabContentsAt(3)->render_view_host()->process());
 
   // Navigate the non-app tab into the browse extent. It should not enter the
@@ -109,10 +113,10 @@
   // Navigate the app tab into the browse extent. It should stay in the app
   // process.
   const GURL& browse_url(base_url.Resolve("path4/empty.html"));
-  NavigateTabHelper(browser()->GetTabContentsAt(1), browse_url);
+  NavigateTabHelper(browser()->GetTabContentsAt(2), browse_url);
   NavigateTabHelper(browser()->GetTabContentsAt(3), browse_url);
-  EXPECT_NE(host->render_process_host(),
-            browser()->GetTabContentsAt(1)->render_view_host()->process());
-  EXPECT_EQ(host->render_process_host(),
+  EXPECT_NE(host->process(),
+            browser()->GetTabContentsAt(2)->render_view_host()->process());
+  EXPECT_EQ(host->process(),
             browser()->GetTabContentsAt(3)->render_view_host()->process());
 }