Index: chrome/browser/extensions/app_process_apitest.cc |
=================================================================== |
--- chrome/browser/extensions/app_process_apitest.cc (revision 145001) |
+++ chrome/browser/extensions/app_process_apitest.cc (working copy) |
@@ -11,6 +11,7 @@ |
#include "chrome/browser/ui/browser_commands.h" |
#include "chrome/browser/ui/browser_finder.h" |
#include "chrome/browser/ui/browser_list.h" |
+#include "chrome/browser/ui/browser_tabstrip.h" |
#include "chrome/browser/ui/browser_window.h" |
#include "chrome/browser/ui/tab_contents/tab_contents.h" |
#include "chrome/common/chrome_notification_types.h" |
@@ -81,8 +82,8 @@ |
ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); |
LOG(INFO) << "Nav 1."; |
EXPECT_TRUE(process_map->Contains( |
- browser()->GetWebContentsAt(1)->GetRenderProcessHost()->GetID())); |
- EXPECT_FALSE(browser()->GetWebContentsAt(1)->GetWebUI()); |
+ chrome::GetWebContentsAt(browser(), 1)->GetRenderProcessHost()->GetID())); |
+ EXPECT_FALSE(chrome::GetWebContentsAt(browser(), 1)->GetWebUI()); |
ui_test_utils::WindowedNotificationObserver tab_added_observer( |
chrome::NOTIFICATION_TAB_ADDED, |
@@ -94,16 +95,16 @@ |
base_url.Resolve("path2/empty.html")); |
LOG(INFO) << "Nav 2."; |
EXPECT_TRUE(process_map->Contains( |
- browser()->GetWebContentsAt(2)->GetRenderProcessHost()->GetID())); |
- EXPECT_FALSE(browser()->GetWebContentsAt(2)->GetWebUI()); |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderProcessHost()->GetID())); |
+ EXPECT_FALSE(chrome::GetWebContentsAt(browser(), 2)->GetWebUI()); |
// We should have opened 2 new extension tabs. Including the original blank |
// tab, we now have 3 tabs. The two app tabs should not be in the same |
// process, since they do not have the background permission. (Thus, we |
// want to separate them to improve responsiveness.) |
ASSERT_EQ(3, browser()->tab_count()); |
- WebContents* tab1 = browser()->GetWebContentsAt(1); |
- WebContents* tab2 = browser()->GetWebContentsAt(2); |
+ WebContents* tab1 = chrome::GetWebContentsAt(browser(), 1); |
+ WebContents* tab2 = chrome::GetWebContentsAt(browser(), 2); |
EXPECT_NE(tab1->GetRenderProcessHost(), tab2->GetRenderProcessHost()); |
// Opening tabs with window.open should keep the page in the opener's |
@@ -141,16 +142,16 @@ |
browser(), base_url.Resolve("path1/empty.html"), NEW_FOREGROUND_TAB, |
ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); |
EXPECT_TRUE(process_map->Contains( |
- browser()->GetWebContentsAt(1)->GetRenderProcessHost()->GetID())); |
- EXPECT_FALSE(browser()->GetWebContentsAt(1)->GetWebUI()); |
+ chrome::GetWebContentsAt(browser(), 1)->GetRenderProcessHost()->GetID())); |
+ EXPECT_FALSE(chrome::GetWebContentsAt(browser(), 1)->GetWebUI()); |
LOG(INFO) << "Nav 1."; |
ui_test_utils::NavigateToURLWithDisposition( |
browser(), base_url.Resolve("path2/empty.html"), NEW_FOREGROUND_TAB, |
ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); |
EXPECT_TRUE(process_map->Contains( |
- browser()->GetWebContentsAt(2)->GetRenderProcessHost()->GetID())); |
- EXPECT_FALSE(browser()->GetWebContentsAt(2)->GetWebUI()); |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderProcessHost()->GetID())); |
+ EXPECT_FALSE(chrome::GetWebContentsAt(browser(), 2)->GetWebUI()); |
LOG(INFO) << "Nav 2."; |
ui_test_utils::WindowedNotificationObserver tab_added_observer( |
@@ -162,20 +163,20 @@ |
ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path3/empty.html")); |
LOG(INFO) << "Nav 3."; |
EXPECT_FALSE(process_map->Contains( |
- browser()->GetWebContentsAt(3)->GetRenderProcessHost()->GetID())); |
- EXPECT_FALSE(browser()->GetWebContentsAt(3)->GetWebUI()); |
+ chrome::GetWebContentsAt(browser(), 3)->GetRenderProcessHost()->GetID())); |
+ EXPECT_FALSE(chrome::GetWebContentsAt(browser(), 3)->GetWebUI()); |
// We should have opened 3 new extension tabs. Including the original blank |
// tab, we now have 4 tabs. Because the app_process app has the background |
// permission, all of its instances are in the same process. Thus two tabs |
// should be part of the extension app and grouped in the same process. |
ASSERT_EQ(4, browser()->tab_count()); |
- WebContents* tab = browser()->GetWebContentsAt(1); |
+ WebContents* tab = chrome::GetWebContentsAt(browser(), 1); |
EXPECT_EQ(tab->GetRenderProcessHost(), |
- browser()->GetWebContentsAt(2)->GetRenderProcessHost()); |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderProcessHost()); |
EXPECT_NE(tab->GetRenderProcessHost(), |
- browser()->GetWebContentsAt(3)->GetRenderProcessHost()); |
+ chrome::GetWebContentsAt(browser(), 3)->GetRenderProcessHost()); |
// Now let's do the same using window.open. The same should happen. |
ASSERT_EQ(1u, browser::GetBrowserCount(browser()->profile())); |
@@ -195,24 +196,24 @@ |
// 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")); |
- NavigateInRenderer(browser()->GetWebContentsAt(2), non_app_url); |
+ NavigateInRenderer(chrome::GetWebContentsAt(browser(), 2), non_app_url); |
LOG(INFO) << "NavigateTabHelper 1."; |
- NavigateInRenderer(browser()->GetWebContentsAt(3), app_url); |
+ NavigateInRenderer(chrome::GetWebContentsAt(browser(), 3), app_url); |
LOG(INFO) << "NavigateTabHelper 2."; |
EXPECT_NE(tab->GetRenderProcessHost(), |
- browser()->GetWebContentsAt(2)->GetRenderProcessHost()); |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderProcessHost()); |
EXPECT_EQ(tab->GetRenderProcessHost(), |
- browser()->GetWebContentsAt(3)->GetRenderProcessHost()); |
+ chrome::GetWebContentsAt(browser(), 3)->GetRenderProcessHost()); |
// If one of the popup tabs navigates back to the app, window.opener should |
// be valid. |
- NavigateInRenderer(browser()->GetWebContentsAt(6), app_url); |
+ NavigateInRenderer(chrome::GetWebContentsAt(browser(), 6), app_url); |
LOG(INFO) << "NavigateTabHelper 3."; |
EXPECT_EQ(tab->GetRenderProcessHost(), |
- browser()->GetWebContentsAt(6)->GetRenderProcessHost()); |
+ chrome::GetWebContentsAt(browser(), 6)->GetRenderProcessHost()); |
bool windowOpenerValid = false; |
ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
- browser()->GetWebContentsAt(6)->GetRenderViewHost(), L"", |
+ chrome::GetWebContentsAt(browser(), 6)->GetRenderViewHost(), L"", |
L"window.domAutomationController.send(window.opener != null)", |
&windowOpenerValid)); |
ASSERT_TRUE(windowOpenerValid); |
@@ -262,8 +263,8 @@ |
browser(), base_url.Resolve("path1/empty.html"), NEW_FOREGROUND_TAB, |
ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); |
EXPECT_FALSE(process_map->Contains( |
- browser()->GetWebContentsAt(1)->GetRenderProcessHost()->GetID())); |
- EXPECT_FALSE(browser()->GetWebContentsAt(1)->GetWebUI()); |
+ chrome::GetWebContentsAt(browser(), 1)->GetRenderProcessHost()->GetID())); |
+ EXPECT_FALSE(chrome::GetWebContentsAt(browser(), 1)->GetWebUI()); |
ui_test_utils::WindowedNotificationObserver tab_added_observer( |
chrome::NOTIFICATION_TAB_ADDED, |
@@ -272,16 +273,16 @@ |
tab_added_observer.Wait(); |
ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path2/empty.html")); |
EXPECT_FALSE(process_map->Contains( |
- browser()->GetWebContentsAt(2)->GetRenderProcessHost()->GetID())); |
- EXPECT_FALSE(browser()->GetWebContentsAt(2)->GetWebUI()); |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderProcessHost()->GetID())); |
+ EXPECT_FALSE(chrome::GetWebContentsAt(browser(), 2)->GetWebUI()); |
// We should have opened 2 new bookmark app tabs. Including the original blank |
// tab, we now have 3 tabs. Because normal pages use the |
// process-per-site-instance model, each should be in its own process. |
ASSERT_EQ(3, browser()->tab_count()); |
- WebContents* tab = browser()->GetWebContentsAt(1); |
+ WebContents* tab = chrome::GetWebContentsAt(browser(), 1); |
EXPECT_NE(tab->GetRenderProcessHost(), |
- browser()->GetWebContentsAt(2)->GetRenderProcessHost()); |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderProcessHost()); |
// Now let's do the same using window.open. The same should happen. |
ASSERT_EQ(1u, browser::GetBrowserCount(browser()->profile())); |
@@ -292,13 +293,14 @@ |
// extent. Neither navigation should switch processes. |
const GURL& app_url(base_url.Resolve("path1/empty.html")); |
const GURL& non_app_url(base_url.Resolve("path3/empty.html")); |
- RenderViewHost* host2 = browser()->GetWebContentsAt(2)->GetRenderViewHost(); |
- NavigateInRenderer(browser()->GetWebContentsAt(2), non_app_url); |
+ RenderViewHost* host2 = |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderViewHost(); |
+ NavigateInRenderer(chrome::GetWebContentsAt(browser(), 2), non_app_url); |
EXPECT_EQ(host2->GetProcess(), |
- browser()->GetWebContentsAt(2)->GetRenderProcessHost()); |
- NavigateInRenderer(browser()->GetWebContentsAt(2), app_url); |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderProcessHost()); |
+ NavigateInRenderer(chrome::GetWebContentsAt(browser(), 2), app_url); |
EXPECT_EQ(host2->GetProcess(), |
- browser()->GetWebContentsAt(2)->GetRenderProcessHost()); |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderProcessHost()); |
} |
// Tests that app process switching works properly in the following scenario: |
@@ -336,10 +338,10 @@ |
// process. |
ASSERT_EQ(3, browser()->tab_count()); |
EXPECT_EQ("/files/extensions/api_test/app_process/path1/empty.html", |
- browser()->GetWebContentsAt(2)->GetController(). |
+ chrome::GetWebContentsAt(browser(), 2)->GetController(). |
GetLastCommittedEntry()->GetURL().path()); |
- EXPECT_EQ(browser()->GetWebContentsAt(1)->GetRenderProcessHost(), |
- browser()->GetWebContentsAt(2)->GetRenderProcessHost()); |
+ EXPECT_EQ(chrome::GetWebContentsAt(browser(), 1)->GetRenderProcessHost(), |
+ chrome::GetWebContentsAt(browser(), 2)->GetRenderProcessHost()); |
} |
// Ensure that reloading a URL after installing or uninstalling it as an app |
@@ -364,7 +366,7 @@ |
// Load an app URL before loading the app. |
ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); |
- WebContents* contents = browser()->GetWebContentsAt(0); |
+ WebContents* contents = chrome::GetWebContentsAt(browser(), 0); |
EXPECT_FALSE(process_map->Contains( |
contents->GetRenderProcessHost()->GetID())); |
@@ -387,7 +389,7 @@ |
ui_test_utils::WindowedNotificationObserver reload_observer( |
content::NOTIFICATION_LOAD_STOP, |
content::Source<NavigationController>( |
- &browser()->GetActiveWebContents()->GetController())); |
+ &chrome::GetActiveWebContents(browser())->GetController())); |
chrome::Reload(browser(), CURRENT_TAB); |
reload_observer.Wait(); |
EXPECT_TRUE(process_map->Contains( |
@@ -398,7 +400,7 @@ |
ui_test_utils::WindowedNotificationObserver reload_observer2( |
content::NOTIFICATION_LOAD_STOP, |
content::Source<NavigationController>( |
- &browser()->GetActiveWebContents()->GetController())); |
+ &chrome::GetActiveWebContents(browser())->GetController())); |
chrome::Reload(browser(), CURRENT_TAB); |
reload_observer2.Wait(); |
EXPECT_FALSE(process_map->Contains( |
@@ -409,7 +411,7 @@ |
ui_test_utils::WindowedNotificationObserver js_reload_observer( |
content::NOTIFICATION_LOAD_STOP, |
content::Source<NavigationController>( |
- &browser()->GetActiveWebContents()->GetController())); |
+ &chrome::GetActiveWebContents(browser())->GetController())); |
ASSERT_TRUE(ui_test_utils::ExecuteJavaScript(contents->GetRenderViewHost(), |
L"", L"location.reload();")); |
js_reload_observer.Wait(); |
@@ -421,7 +423,7 @@ |
ui_test_utils::WindowedNotificationObserver js_reload_observer2( |
content::NOTIFICATION_LOAD_STOP, |
content::Source<NavigationController>( |
- &browser()->GetActiveWebContents()->GetController())); |
+ &chrome::GetActiveWebContents(browser())->GetController())); |
ASSERT_TRUE(ui_test_utils::ExecuteJavaScript(contents->GetRenderViewHost(), |
L"", L"location = location;")); |
js_reload_observer2.Wait(); |
@@ -454,7 +456,7 @@ |
ui_test_utils::NavigateToURL(browser(), |
base_url.Resolve("path3/container.html")); |
EXPECT_FALSE(process_map->Contains( |
- browser()->GetWebContentsAt(0)->GetRenderProcessHost()->GetID())); |
+ chrome::GetWebContentsAt(browser(), 0)->GetRenderProcessHost()->GetID())); |
popup_observer.Wait(); |
// Popup window should be in the app's process. |
@@ -499,7 +501,7 @@ |
// App has loaded, and chrome.app.isInstalled should be true. |
bool is_installed = false; |
ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |
- browser()->GetActiveWebContents()->GetRenderViewHost(), L"", |
+ chrome::GetActiveWebContents(browser())->GetRenderViewHost(), L"", |
L"window.domAutomationController.send(chrome.app.isInstalled)", |
&is_installed)); |
ASSERT_TRUE(is_installed); |
@@ -532,7 +534,7 @@ |
ui_test_utils::NavigateToURL(browser(), |
base_url.Resolve("path1/container.html")); |
content::RenderProcessHost* process = |
- browser()->GetWebContentsAt(0)->GetRenderProcessHost(); |
+ chrome::GetWebContentsAt(browser(), 0)->GetRenderProcessHost(); |
EXPECT_TRUE(process_map->Contains(process->GetID())); |
// Wait for popup window to appear. |
@@ -563,7 +565,7 @@ |
// Load the app, chrome.app.isInstalled should be true. |
ui_test_utils::NavigateToURL(browser(), base_url.Resolve("path1/empty.html")); |
- WebContents* contents = browser()->GetWebContentsAt(0); |
+ WebContents* contents = chrome::GetWebContentsAt(browser(), 0); |
EXPECT_TRUE(process_map->Contains( |
contents->GetRenderProcessHost()->GetID())); |
bool is_installed = false; |
@@ -574,11 +576,11 @@ |
ASSERT_TRUE(is_installed); |
// Crash the tab and reload it, chrome.app.isInstalled should still be true. |
- ui_test_utils::CrashTab(browser()->GetActiveWebContents()); |
+ ui_test_utils::CrashTab(chrome::GetActiveWebContents(browser())); |
ui_test_utils::WindowedNotificationObserver observer( |
content::NOTIFICATION_LOAD_STOP, |
content::Source<NavigationController>( |
- &browser()->GetActiveWebContents()->GetController())); |
+ &chrome::GetActiveWebContents(browser())->GetController())); |
chrome::Reload(browser(), CURRENT_TAB); |
observer.Wait(); |
ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( |