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

Unified Diff: chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app_browsertest.cc

Issue 22887015: Remove PerBrowser launcher (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 7 years, 4 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/ui/ash/launcher/chrome_launcher_controller_per_app_browsertest.cc
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app_browsertest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app_browsertest.cc
index 23b41f79528fb7b282e57da85bd96b896abaa2a5..72975e298a2eac0acb884912f4fedbbc1531169c 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app_browsertest.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_app_browsertest.cc
@@ -17,6 +17,7 @@
#include "ash/test/launcher_view_test_api.h"
#include "ash/test/shell_test_api.h"
#include "ash/wm/window_util.h"
+#include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/apps/app_browsertest_util.h"
#include "chrome/browser/automation/automation_util.h"
@@ -251,6 +252,13 @@ class LauncherPerAppAppBrowserTest : public ExtensionBrowserTest {
launcher_->ActivateLauncherItem(id);
}
+ ash::LauncherID PinFakeApp(const std::string& name) {
+ ChromeLauncherController* controller =
+ static_cast<ChromeLauncherController*>(launcher_->delegate());
+ return controller->CreateAppShortcutLauncherItem(
+ name, model_->item_count());
+ }
+
ash::Launcher* launcher_;
ash::LauncherModel* model_;
@@ -1290,6 +1298,26 @@ IN_PROC_BROWSER_TEST_F(LauncherPlatformPerAppAppBrowserTest,
EXPECT_TRUE(window1a->IsActive());
}
+// Test that we can launch a platform app panel and get a running item.
+IN_PROC_BROWSER_TEST_F(LauncherPlatformPerAppAppBrowserTest,
+ LaunchPanelWindow) {
+ int item_count = launcher_model()->item_count();
+ const Extension* extension = LoadAndLaunchPlatformApp("launch");
+ ShellWindow::CreateParams params;
+ params.window_type = ShellWindow::WINDOW_TYPE_PANEL;
+ params.focused = false;
+ ShellWindow* window = CreateShellWindowFromParams(extension, params);
+ ++item_count;
+ ASSERT_EQ(item_count, launcher_model()->item_count());
+ const ash::LauncherItem& item = GetLastLauncherPanelItem();
+ EXPECT_EQ(ash::TYPE_APP_PANEL, item.type);
+ // Opening a panel does not activate it.
+ EXPECT_EQ(ash::STATUS_RUNNING, item.status);
+ CloseShellWindow(window);
+ --item_count;
+ EXPECT_EQ(item_count, launcher_model()->item_count());
+}
+
// Checks that the browser Alt "tabbing" is properly done.
IN_PROC_BROWSER_TEST_F(LauncherPerAppAppBrowserTestNoDefaultBrowser,
AltNumberBrowserTabbing) {
@@ -1614,3 +1642,35 @@ IN_PROC_BROWSER_TEST_F(LauncherPerAppAppBrowserTest,
EXPECT_EQ(0, browser()->tab_strip_model()->active_index());
EXPECT_EQ(browser_id, controller->GetIDByWindow(window));
}
+
+IN_PROC_BROWSER_TEST_F(LauncherPerAppAppBrowserTest, OverflowBubble) {
Mr4D (OOO till 08-26) 2013/08/16 22:43:22 How did this get into this CL?
simonhong_ 2013/08/19 05:26:11 This test is moved from (previous)chrome_launcher_
+ // Make sure to have a browser window
+ chrome::NewTab(browser());
+
+ // No overflow yet.
+ EXPECT_FALSE(launcher_->IsShowingOverflowBubble());
+
+ ash::test::LauncherViewTestAPI test(launcher_->GetLauncherViewForTest());
+
+ int items_added = 0;
+ while (!test.IsOverflowButtonVisible()) {
+ std::string fake_app_id = base::StringPrintf("fake_app_%d", items_added);
+ PinFakeApp(fake_app_id);
+
+ ++items_added;
+ ASSERT_LT(items_added, 10000);
+ }
+
+ // Now show overflow bubble.
+ test.ShowOverflowBubble();
+ EXPECT_TRUE(launcher_->IsShowingOverflowBubble());
+
+ // Unpin first pinned app and there should be no crash.
+ ChromeLauncherController* controller =
+ static_cast<ChromeLauncherController*>(launcher_->delegate());
+ controller->UnpinAppsWithID(std::string("fake_app_0"));
+
+ test.RunMessageLoopUntilAnimationsDone();
+ EXPECT_FALSE(launcher_->IsShowingOverflowBubble());
+}
+

Powered by Google App Engine
This is Rietveld 408576698