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

Side by Side Diff: chrome/browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc

Issue 1703403002: remove kDisableMinimizeOnSecondLauncherItemClick (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h" 5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "ash/ash_switches.h" 9 #include "ash/ash_switches.h"
10 #include "ash/shelf/shelf.h" 10 #include "ash/shelf/shelf.h"
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 void SetUpCommandLine(base::CommandLine* command_line) override { 370 void SetUpCommandLine(base::CommandLine* command_line) override {
371 ShelfAppBrowserTest::SetUpCommandLine(command_line); 371 ShelfAppBrowserTest::SetUpCommandLine(command_line);
372 command_line->AppendSwitch(switches::kNoStartupWindow); 372 command_line->AppendSwitch(switches::kNoStartupWindow);
373 } 373 }
374 374
375 private: 375 private:
376 376
377 DISALLOW_COPY_AND_ASSIGN(ShelfAppBrowserTestNoDefaultBrowser); 377 DISALLOW_COPY_AND_ASSIGN(ShelfAppBrowserTestNoDefaultBrowser);
378 }; 378 };
379 379
380 // Since the default for minimizing on click might change, I added both classes
381 // to either get the minimize on click or not.
382 class ShelfAppBrowserNoMinimizeOnClick : public LauncherPlatformAppBrowserTest {
383 protected:
384 ShelfAppBrowserNoMinimizeOnClick() {}
385 ~ShelfAppBrowserNoMinimizeOnClick() override {}
386
387 void SetUpCommandLine(base::CommandLine* command_line) override {
388 LauncherPlatformAppBrowserTest::SetUpCommandLine(command_line);
389 command_line->AppendSwitch(
390 switches::kDisableMinimizeOnSecondLauncherItemClick);
391 }
392
393 private:
394
395 DISALLOW_COPY_AND_ASSIGN(ShelfAppBrowserNoMinimizeOnClick);
396 };
397
398 typedef LauncherPlatformAppBrowserTest ShelfAppBrowserMinimizeOnClick;
399
400 // Test that we can launch a platform app and get a running item. 380 // Test that we can launch a platform app and get a running item.
401 IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, LaunchUnpinned) { 381 IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, LaunchUnpinned) {
402 int item_count = shelf_model()->item_count(); 382 int item_count = shelf_model()->item_count();
403 const Extension* extension = LoadAndLaunchPlatformApp("launch", "Launched"); 383 const Extension* extension = LoadAndLaunchPlatformApp("launch", "Launched");
404 AppWindow* window = CreateAppWindow(extension); 384 AppWindow* window = CreateAppWindow(extension);
405 ++item_count; 385 ++item_count;
406 ASSERT_EQ(item_count, shelf_model()->item_count()); 386 ASSERT_EQ(item_count, shelf_model()->item_count());
407 const ash::ShelfItem& item = GetLastLauncherItem(); 387 const ash::ShelfItem& item = GetLastLauncherItem();
408 EXPECT_EQ(ash::TYPE_PLATFORM_APP, item.type); 388 EXPECT_EQ(ash::TYPE_PLATFORM_APP, item.type);
409 EXPECT_EQ(ash::STATUS_ACTIVE, item.status); 389 EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 // First app should be active again. 663 // First app should be active again.
684 EXPECT_EQ(ash::STATUS_ACTIVE, shelf_model()->ItemByID(item_id1)->status); 664 EXPECT_EQ(ash::STATUS_ACTIVE, shelf_model()->ItemByID(item_id1)->status);
685 665
686 // Close first app. 666 // Close first app.
687 CloseAppWindow(window1b); 667 CloseAppWindow(window1b);
688 CloseAppWindow(window1); 668 CloseAppWindow(window1);
689 --item_count; 669 --item_count;
690 EXPECT_EQ(item_count, shelf_model()->item_count()); 670 EXPECT_EQ(item_count, shelf_model()->item_count());
691 } 671 }
692 672
693 // Confirm that Click behavior for app windows is correnct.
694 IN_PROC_BROWSER_TEST_F(ShelfAppBrowserNoMinimizeOnClick, AppClickBehavior) {
695 // Launch a platform app and create a window for it.
696 const Extension* extension1 = LoadAndLaunchPlatformApp("launch", "Launched");
697 AppWindow* window1 = CreateAppWindow(extension1);
698 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
699 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
700 // Confirm that a controller item was created and is the correct state.
701 const ash::ShelfItem& item1 = GetLastLauncherItem();
702 LauncherItemController* item1_controller = GetItemController(item1.id);
703 EXPECT_EQ(ash::TYPE_PLATFORM_APP, item1.type);
704 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
705 EXPECT_EQ(LauncherItemController::TYPE_APP, item1_controller->type());
706 // Clicking the item should have no effect.
707 TestEvent click_event(ui::ET_MOUSE_PRESSED);
708 item1_controller->ItemSelected(click_event);
709 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
710 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
711 // Minimize the window and confirm that the controller item is updated.
712 window1->GetBaseWindow()->Minimize();
713 EXPECT_FALSE(window1->GetNativeWindow()->IsVisible());
714 EXPECT_FALSE(window1->GetBaseWindow()->IsActive());
715 EXPECT_EQ(ash::STATUS_RUNNING, item1.status);
716 // Clicking the item should activate the window.
717 item1_controller->ItemSelected(click_event);
718 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
719 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
720 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
721 // Maximizing a window should preserve state after minimize + click.
722 window1->GetBaseWindow()->Maximize();
723 window1->GetBaseWindow()->Minimize();
724 item1_controller->ItemSelected(click_event);
725 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
726 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
727 EXPECT_TRUE(window1->GetBaseWindow()->IsMaximized());
728 }
729
730 // Confirm the minimizing click behavior for apps. 673 // Confirm the minimizing click behavior for apps.
731 IN_PROC_BROWSER_TEST_F(ShelfAppBrowserMinimizeOnClick, 674 IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest,
732 PackagedAppClickBehaviorInMinimizeMode) { 675 PackagedAppClickBehaviorInMinimizeMode) {
733 // Launch one platform app and create a window for it. 676 // Launch one platform app and create a window for it.
734 const Extension* extension1 = LoadAndLaunchPlatformApp("launch", "Launched"); 677 const Extension* extension1 = LoadAndLaunchPlatformApp("launch", "Launched");
735 AppWindow* window1 = CreateAppWindow(extension1); 678 AppWindow* window1 = CreateAppWindow(extension1);
736 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 679 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
737 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 680 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
738 681
739 // Confirm that a controller item was created and is the correct state. 682 // Confirm that a controller item was created and is the correct state.
740 const ash::ShelfItem& item1 = GetLastLauncherItem(); 683 const ash::ShelfItem& item1 = GetLastLauncherItem();
741 LauncherItemController* item1_controller = GetItemController(item1.id); 684 LauncherItemController* item1_controller = GetItemController(item1.id);
(...skipping 1542 matching lines...) Expand 10 before | Expand all | Expand 10 after
2284 controller_->ActivateApp(bookmark_app->id(), ash::LAUNCH_FROM_APP_LIST, 0); 2227 controller_->ActivateApp(bookmark_app->id(), ash::LAUNCH_FROM_APP_LIST, 0);
2285 2228
2286 // There should be two new browsers. 2229 // There should be two new browsers.
2287 EXPECT_EQ(3u, chrome::GetBrowserCount(browser()->profile())); 2230 EXPECT_EQ(3u, chrome::GetBrowserCount(browser()->profile()));
2288 2231
2289 // The apps should now be running, with the last opened app active. 2232 // The apps should now be running, with the last opened app active.
2290 EXPECT_EQ(ash::STATUS_RUNNING, model_->ItemByID(hosted_app_shelf_id)->status); 2233 EXPECT_EQ(ash::STATUS_RUNNING, model_->ItemByID(hosted_app_shelf_id)->status);
2291 EXPECT_EQ(ash::STATUS_ACTIVE, 2234 EXPECT_EQ(ash::STATUS_ACTIVE,
2292 model_->ItemByID(bookmark_app_shelf_id)->status); 2235 model_->ItemByID(bookmark_app_shelf_id)->status);
2293 } 2236 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/ash/launcher/chrome_launcher_controller.cc ('k') | chrome/common/chrome_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698