Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8705)

Unified Diff: chrome/browser/task_manager/task_manager_browsertest.cc

Issue 1922683003: Make old task manager tests work against new task manager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/task_manager/task_manager_browsertest.cc
diff --git a/chrome/browser/task_manager/task_manager_browsertest.cc b/chrome/browser/task_manager/task_manager_browsertest.cc
index 822c5ff575c22f938d280be3cc9e8554c818a00e..685c81d4e9c7585e7677da6f285983f623f6eca6 100644
--- a/chrome/browser/task_manager/task_manager_browsertest.cc
+++ b/chrome/browser/task_manager/task_manager_browsertest.cc
@@ -62,6 +62,7 @@ using task_manager::browsertest_util::MatchExtension;
using task_manager::browsertest_util::MatchSubframe;
using task_manager::browsertest_util::MatchTab;
using task_manager::browsertest_util::MatchUtility;
+using task_manager::browsertest_util::TaskManagerTesterInterface;
using task_manager::browsertest_util::WaitForTaskManagerRows;
using task_manager::browsertest_util::WaitForTaskManagerStatToExceed;
@@ -76,31 +77,28 @@ class TaskManagerBrowserTest : public ExtensionBrowserTest {
TaskManagerBrowserTest() {}
~TaskManagerBrowserTest() override {}
- TaskManagerModel* model() const {
- return TaskManager::GetInstance()->model();
- }
+ TaskManagerTesterInterface* model() { return model_.get(); }
void ShowTaskManager() {
- EXPECT_EQ(0, model()->ResourceCount());
-
// Show the task manager. This populates the model, and helps with debugging
// (you see the task manager).
chrome::ShowTaskManager(browser());
+ model_ = task_manager::browsertest_util::GetTaskManagerTester();
}
void HideTaskManager() {
- // Hide the task manager, and wait for the model to be depopulated.
+ model_.reset();
+
+ // Hide the task manager, and wait for it to go.
chrome::HideTaskManager();
base::RunLoop().RunUntilIdle(); // OnWindowClosed happens asynchronously.
- EXPECT_EQ(0, model()->ResourceCount());
}
void Refresh() {
- model()->Refresh();
- }
-
- int GetUpdateTimeMs() {
- return TaskManagerModel::kUpdateTimeMs;
+ // Refresh() isn't ever needed on the new task manager.
+ if (switches::NewTaskManagerEnabled())
+ return;
+ TaskManager::GetInstance()->model()->Refresh();
}
GURL GetTestURL() {
@@ -110,8 +108,8 @@ class TaskManagerBrowserTest : public ExtensionBrowserTest {
}
int FindResourceIndex(const base::string16& title) {
- for (int i = 0; i < model()->ResourceCount(); ++i) {
- if (title == model()->GetResourceTitle(i))
+ for (int i = 0; i < model_->GetRowCount(); ++i) {
+ if (title == model_->GetRowTitle(i))
return i;
}
return -1;
@@ -121,15 +119,12 @@ class TaskManagerBrowserTest : public ExtensionBrowserTest {
void SetUpCommandLine(base::CommandLine* command_line) override {
ExtensionBrowserTest::SetUpCommandLine(command_line);
- // These tests are for the old implementation of the task manager. We must
- // explicitly disable the new one.
- task_manager::browsertest_util::EnableOldTaskManager();
-
// Do not launch device discovery process.
command_line->AppendSwitch(switches::kDisableDeviceDiscoveryNotifications);
}
private:
+ std::unique_ptr<TaskManagerTesterInterface> model_;
DISALLOW_COPY_AND_ASSIGN(TaskManagerBrowserTest);
};
@@ -222,9 +217,8 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, KillTab) {
// Killing the tab via task manager should remove the row.
int tab = FindResourceIndex(MatchTab("title1.html"));
ASSERT_NE(-1, tab);
- ASSERT_TRUE(model()->GetResourceWebContents(tab) != NULL);
- ASSERT_TRUE(model()->CanActivate(tab));
- TaskManager::GetInstance()->KillProcess(tab);
+ ASSERT_NE(-1, model()->GetTabId(tab));
+ model()->Kill(tab);
ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchTab("title1.html")));
ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab()));
@@ -423,9 +417,8 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, KillPanelViaExtensionResource) {
// the background page and the panel go away from the task manager.
int background_page = FindResourceIndex(MatchExtension("My extension 1"));
ASSERT_NE(-1, background_page);
- ASSERT_TRUE(model()->GetResourceWebContents(background_page) == NULL);
- ASSERT_FALSE(model()->CanActivate(background_page));
- TaskManager::GetInstance()->KillProcess(background_page);
+ ASSERT_EQ(-1, model()->GetTabId(background_page));
+ model()->Kill(background_page);
ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchAnyExtension()));
ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab()));
}
@@ -466,8 +459,7 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, KillPanelViaPanelResource) {
int background_page = FindResourceIndex(MatchExtension("My extension 1"));
ASSERT_NE(-1, background_page);
- ASSERT_TRUE(model()->GetResourceWebContents(background_page) == NULL);
- ASSERT_FALSE(model()->CanActivate(background_page));
+ ASSERT_EQ(-1, model()->GetTabId(background_page));
// Kill the process via the PANEL RESOURCE (not the background page). Verify
// that both the background page and the panel go away from the task manager.
@@ -475,9 +467,8 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, KillPanelViaPanelResource) {
"chrome-extension://behllobkkfkfnphdnhnkndlbkcpglgmj/"
"french_sentence.html"));
ASSERT_NE(-1, panel);
- ASSERT_TRUE(model()->GetResourceWebContents(panel) != NULL);
- ASSERT_TRUE(model()->CanActivate(panel));
- TaskManager::GetInstance()->KillProcess(panel);
+ ASSERT_NE(-1, model()->GetTabId(panel));
+ model()->Kill(panel);
ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchAnyExtension()));
ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab()));
}
@@ -513,13 +504,11 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeExtensionTabChanges) {
int extension_tab = FindResourceIndex(MatchExtension("Foobar"));
ASSERT_NE(-1, extension_tab);
- ASSERT_TRUE(model()->GetResourceWebContents(extension_tab) != NULL);
- ASSERT_TRUE(model()->CanActivate(extension_tab));
+ ASSERT_NE(-1, model()->GetTabId(extension_tab));
int background_page = FindResourceIndex(MatchExtension("My extension 1"));
ASSERT_NE(-1, background_page);
- ASSERT_TRUE(model()->GetResourceWebContents(background_page) == NULL);
- ASSERT_FALSE(model()->CanActivate(background_page));
+ ASSERT_EQ(-1, model()->GetTabId(background_page));
}
IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeExtensionTab) {
@@ -545,13 +534,11 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeExtensionTab) {
int extension_tab = FindResourceIndex(MatchExtension("Foobar"));
ASSERT_NE(-1, extension_tab);
- ASSERT_TRUE(model()->GetResourceWebContents(extension_tab) != NULL);
- ASSERT_TRUE(model()->CanActivate(extension_tab));
+ ASSERT_NE(-1, model()->GetTabId(extension_tab));
int background_page = FindResourceIndex(MatchExtension("My extension 1"));
ASSERT_NE(-1, background_page);
- ASSERT_TRUE(model()->GetResourceWebContents(background_page) == NULL);
- ASSERT_FALSE(model()->CanActivate(background_page));
+ ASSERT_EQ(-1, model()->GetTabId(background_page));
}
IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeAppTabChanges) {
@@ -584,10 +571,7 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeAppTabChanges) {
// a tab contents and an extension.
int app_tab = FindResourceIndex(MatchApp("Packaged App Test"));
ASSERT_NE(-1, app_tab);
- ASSERT_TRUE(model()->GetResourceWebContents(app_tab) != NULL);
- ASSERT_TRUE(model()->CanActivate(app_tab));
- ASSERT_EQ(task_manager::Resource::EXTENSION,
- model()->GetResourceType(app_tab));
+ ASSERT_NE(-1, model()->GetTabId(app_tab));
ASSERT_EQ(2, browser()->tab_strip_model()->count());
// Unload extension to make sure the tab goes away.
@@ -624,10 +608,7 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeAppTab) {
// a tab contents and an extension.
int app_tab = FindResourceIndex(MatchApp("Packaged App Test"));
ASSERT_NE(-1, app_tab);
- ASSERT_TRUE(model()->GetResourceWebContents(app_tab) != NULL);
- ASSERT_TRUE(model()->CanActivate(app_tab));
- ASSERT_EQ(task_manager::Resource::EXTENSION,
- model()->GetResourceType(app_tab));
+ ASSERT_NE(-1, model()->GetTabId(app_tab));
}
IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeHostedAppTabChanges) {
@@ -787,27 +768,6 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, ReloadExtension) {
}
}
-// Crashy, http://crbug.com/42301.
-IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest,
- DISABLED_PopulateWebCacheFields) {
- ShowTaskManager();
- ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab()));
-
- int resource_count = TaskManager::GetInstance()->model()->ResourceCount();
-
- // Open a new tab and make sure we notice that.
- AddTabAtIndex(0, GetTestURL(), ui::PAGE_TRANSITION_TYPED);
- ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(2, MatchAnyTab()));
-
- // Check that we get some value for the cache columns.
- DCHECK_NE(model()->GetResourceWebCoreImageCacheSize(resource_count),
- l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NA_CELL_TEXT));
- DCHECK_NE(model()->GetResourceWebCoreScriptsCacheSize(resource_count),
- l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NA_CELL_TEXT));
- DCHECK_NE(model()->GetResourceWebCoreCSSCacheSize(resource_count),
- l10n_util::GetStringUTF16(IDS_TASK_MANAGER_NA_CELL_TEXT));
-}
-
// Checks that task manager counts a worker thread JS heap size.
// http://crbug.com/241066
IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, WebWorkerJSHeapMemory) {
@@ -961,10 +921,9 @@ IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest, KillSubframe) {
ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(2, MatchAnySubframe()));
int subframe_b = FindResourceIndex(MatchSubframe("http://b.com/"));
ASSERT_NE(-1, subframe_b);
- ASSERT_TRUE(model()->GetResourceWebContents(subframe_b) != NULL);
- ASSERT_TRUE(model()->CanActivate(subframe_b));
+ ASSERT_NE(-1, model()->GetTabId(subframe_b));
- TaskManager::GetInstance()->KillProcess(subframe_b);
+ model()->Kill(subframe_b);
ASSERT_NO_FATAL_FAILURE(
WaitForTaskManagerRows(0, MatchSubframe("http://b.com/")));
@@ -993,12 +952,7 @@ IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest, KillSubframe) {
// Tests what happens when a tab navigates to a site (a.com) that it previously
// has a cross-process subframe into (b.com).
-//
-// TODO(nick): http://crbug.com/442532. Disabled because the second navigation
-// hits an ASSERT(frame()) in WebLocalFrameImpl::loadRequest under --site-per-
-// process.
-IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest,
- DISABLED_NavigateToSubframeProcess) {
+IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest, NavigateToSubframeProcess) {
ShowTaskManager();
host_resolver()->AddRule("*", "127.0.0.1");
@@ -1046,10 +1000,8 @@ IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest,
ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(0, MatchAnySubframe()));
}
-// TODO(nick): Fails flakily under OOPIF due to a ASSERT_NOT_REACHED in
-// WebRemoteFrame, at least under debug OSX. http://crbug.com/437956
IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest,
- DISABLED_NavigateToSiteWithSubframeToOriginalSite) {
+ NavigateToSiteWithSubframeToOriginalSite) {
ShowTaskManager();
host_resolver()->AddRule("*", "127.0.0.1");
@@ -1172,16 +1124,8 @@ IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest,
ASSERT_NO_FATAL_FAILURE(WaitForTaskManagerRows(1, MatchAnyTab()));
}
-// Tests what happens when a tab does a same-site navigation away from a page
-// with cross-site iframes.
-// Flaky on Windows. http://crbug.com/528282.
-#if defined(OS_WIN)
-#define MAYBE_LeavePageWithCrossSiteIframes DISABLED_LeavePageWithCrossSiteIframes
-#else
-#define MAYBE_LeavePageWithCrossSiteIframes LeavePageWithCrossSiteIframes
-#endif
IN_PROC_BROWSER_TEST_P(TaskManagerOOPIFBrowserTest,
- MAYBE_LeavePageWithCrossSiteIframes) {
+ LeavePageWithCrossSiteIframes) {
ShowTaskManager();
host_resolver()->AddRule("*", "127.0.0.1");

Powered by Google App Engine
This is Rietveld 408576698