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

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

Issue 10790062: [Panels refactor] Track Panels in TaskManager now that they are not under the tab contents umbrella. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: feedback changes Created 8 years, 5 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 9a50042a9a30ad842adeaa858bb83a343fc77304..8b5fc64f683cdd9a89a1619bbf873f4a9b83d859 100644
--- a/chrome/browser/task_manager/task_manager_browsertest.cc
+++ b/chrome/browser/task_manager/task_manager_browsertest.cc
@@ -23,9 +23,13 @@
#include "chrome/browser/ui/browser_navigator.h"
#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/browser_window.h"
+#include "chrome/browser/ui/panels/panel.h"
+#include "chrome/browser/ui/panels/panel_manager.h"
#include "chrome/browser/ui/tab_contents/tab_contents.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/browser/web_applications/web_app.h"
#include "chrome/common/chrome_notification_types.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/test/base/in_process_browser_test.h"
#include "chrome/test/base/ui_test_utils.h"
@@ -66,6 +70,10 @@ class TaskManagerBrowserTest : public ExtensionBrowserTest {
// up in task manager but whether it appears before or after the new tab
// renderer process is not well defined.
command_line->AppendSwitch(switches::kDisableGpuProcessPrelaunch);
+#if !defined(USE_AURA) && (defined(OS_MACOSX) || defined(OS_WIN))
+ // Browserless panels refactor not completed for Linux yet.
+ command_line->AppendSwitch(switches::kBrowserlessPanels);
+#endif
}
};
@@ -98,7 +106,7 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeTabContentsChanges) {
// Check that the third entry is a tab contents resource whose title starts
// starts with "Tab:".
- ASSERT_TRUE(model()->GetResourceTabContents(2) != NULL);
+ ASSERT_TRUE(model()->GetResourceWebContents(2) != NULL);
string16 prefix = l10n_util::GetStringFUTF16(
IDS_TASK_MANAGER_TAB_PREFIX, string16());
ASSERT_TRUE(StartsWith(model()->GetResourceTitle(2), prefix, true));
@@ -111,6 +119,55 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeTabContentsChanges) {
TaskManagerBrowserTestUtil::WaitForResourceChange(2);
}
+IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticePanelChanges) {
+ if (!CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kBrowserlessPanels))
+ return;
+
+ EXPECT_EQ(0, model()->ResourceCount());
+
+ // Show the task manager. This populates the model, and helps with debugging
+ // (you see the task manager).
+ browser()->window()->ShowTaskManager();
+
+ // Browser and the New Tab Page.
+ TaskManagerBrowserTestUtil::WaitForResourceChange(2);
+
+ ASSERT_TRUE(LoadExtension(
+ test_data_dir_.AppendASCII("good").AppendASCII("Extensions")
+ .AppendASCII("behllobkkfkfnphdnhnkndlbkcpglgmj")
+ .AppendASCII("1.0.0.0")));
+
+ // Browser, the New Tab Page and Extension background page.
+ TaskManagerBrowserTestUtil::WaitForResourceChange(3);
+
+ // Open a new panel to an extension url and make sure we notice that.
+ GURL url(
+ "chrome-extension://behllobkkfkfnphdnhnkndlbkcpglgmj/french_sentence.html");
+ Panel* panel = PanelManager::GetInstance()->CreatePanel(
+ web_app::GenerateApplicationNameFromExtensionId(
+ last_loaded_extension_id_),
+ browser()->profile(),
+ url,
+ gfx::Size(300, 400));
+ TaskManagerBrowserTestUtil::WaitForResourceChange(4);
+
+ // Check that the fourth entry is a resource with the panel's web contents
+ // and whose title starts with "Extension:".
+ ASSERT_EQ(panel->GetWebContents(), model()->GetResourceWebContents(3));
+ string16 prefix = l10n_util::GetStringFUTF16(
+ IDS_TASK_MANAGER_EXTENSION_PREFIX, string16());
+ ASSERT_TRUE(StartsWith(model()->GetResourceTitle(3), prefix, true));
+
+ // Close the panel and verify that we notice.
+ panel->Close();
+ TaskManagerBrowserTestUtil::WaitForResourceChange(3);
+
+ // Unload extension to avoid crash on Windows.
+ UnloadExtension(last_loaded_extension_id_);
+ TaskManagerBrowserTestUtil::WaitForResourceChange(2);
+}
+
IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeBGContentsChanges) {
EXPECT_EQ(0, model()->ResourceCount());
EXPECT_EQ(0, TaskManager::GetBackgroundPageCount());
@@ -237,7 +294,7 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeExtensionTabs) {
// Check that the third entry (background) is an extension resource whose
// title starts with "Extension:".
ASSERT_EQ(TaskManager::Resource::EXTENSION, model()->GetResourceType(2));
- ASSERT_TRUE(model()->GetResourceTabContents(2) == NULL);
+ ASSERT_TRUE(model()->GetResourceWebContents(2) == NULL);
ASSERT_TRUE(model()->GetResourceExtension(2) != NULL);
string16 prefix = l10n_util::GetStringFUTF16(
IDS_TASK_MANAGER_EXTENSION_PREFIX, string16());
@@ -246,7 +303,7 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeExtensionTabs) {
// Check that the fourth entry (page.html) is of type extension and has both
// a tab contents and an extension. The title should start with "Extension:".
ASSERT_EQ(TaskManager::Resource::EXTENSION, model()->GetResourceType(3));
- ASSERT_TRUE(model()->GetResourceTabContents(3) != NULL);
+ ASSERT_TRUE(model()->GetResourceWebContents(3) != NULL);
ASSERT_TRUE(model()->GetResourceExtension(3) != NULL);
ASSERT_TRUE(StartsWith(model()->GetResourceTitle(3), prefix, true));
@@ -279,7 +336,7 @@ IN_PROC_BROWSER_TEST_F(TaskManagerBrowserTest, NoticeAppTabs) {
// Check that the third entry (main.html) is of type extension and has both
// a tab contents and an extension. The title should start with "App:".
ASSERT_EQ(TaskManager::Resource::EXTENSION, model()->GetResourceType(2));
- ASSERT_TRUE(model()->GetResourceTabContents(2) != NULL);
+ ASSERT_TRUE(model()->GetResourceWebContents(2) != NULL);
ASSERT_TRUE(model()->GetResourceExtension(2) == extension);
string16 prefix = l10n_util::GetStringFUTF16(
IDS_TASK_MANAGER_APP_PREFIX, string16());
« no previous file with comments | « chrome/browser/task_manager/task_manager.cc ('k') | chrome/browser/task_manager/task_manager_resource_providers.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698