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

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

Issue 23606016: Refactor LauncherItemController and LauncherItemDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix for unittest.. Created 7 years, 2 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 "apps/native_app_window.h" 7 #include "apps/native_app_window.h"
8 #include "apps/shell_window.h" 8 #include "apps/shell_window.h"
9 #include "apps/shell_window_registry.h" 9 #include "apps/shell_window_registry.h"
10 #include "ash/ash_switches.h" 10 #include "ash/ash_switches.h"
(...skipping 16 matching lines...) Expand all
27 #include "chrome/browser/chrome_notification_types.h" 27 #include "chrome/browser/chrome_notification_types.h"
28 #include "chrome/browser/extensions/extension_apitest.h" 28 #include "chrome/browser/extensions/extension_apitest.h"
29 #include "chrome/browser/extensions/extension_browsertest.h" 29 #include "chrome/browser/extensions/extension_browsertest.h"
30 #include "chrome/browser/extensions/extension_function_test_utils.h" 30 #include "chrome/browser/extensions/extension_function_test_utils.h"
31 #include "chrome/browser/extensions/extension_service.h" 31 #include "chrome/browser/extensions/extension_service.h"
32 #include "chrome/browser/extensions/extension_system.h" 32 #include "chrome/browser/extensions/extension_system.h"
33 #include "chrome/browser/extensions/extension_test_message_listener.h" 33 #include "chrome/browser/extensions/extension_test_message_listener.h"
34 #include "chrome/browser/profiles/profile.h" 34 #include "chrome/browser/profiles/profile.h"
35 #include "chrome/browser/ui/app_list/app_list_service.h" 35 #include "chrome/browser/ui/app_list/app_list_service.h"
36 #include "chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controll er.h" 36 #include "chrome/browser/ui/ash/launcher/browser_shortcut_launcher_item_controll er.h"
37 #include "chrome/browser/ui/ash/launcher/launcher_application_menu_item_model.h"
37 #include "chrome/browser/ui/ash/launcher/launcher_item_controller.h" 38 #include "chrome/browser/ui/ash/launcher/launcher_item_controller.h"
38 #include "chrome/browser/ui/browser.h" 39 #include "chrome/browser/ui/browser.h"
39 #include "chrome/browser/ui/browser_commands.h" 40 #include "chrome/browser/ui/browser_commands.h"
40 #include "chrome/browser/ui/browser_finder.h" 41 #include "chrome/browser/ui/browser_finder.h"
41 #include "chrome/browser/ui/browser_list.h" 42 #include "chrome/browser/ui/browser_list.h"
42 #include "chrome/browser/ui/browser_window.h" 43 #include "chrome/browser/ui/browser_window.h"
43 #include "chrome/browser/ui/extensions/application_launch.h" 44 #include "chrome/browser/ui/extensions/application_launch.h"
44 #include "chrome/browser/ui/host_desktop.h" 45 #include "chrome/browser/ui/host_desktop.h"
45 #include "chrome/browser/ui/tabs/tab_strip_model.h" 46 #include "chrome/browser/ui/tabs/tab_strip_model.h"
46 #include "chrome/common/chrome_switches.h" 47 #include "chrome/common/chrome_switches.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 } 145 }
145 146
146 LauncherItemController* GetItemController(ash::LauncherID id) { 147 LauncherItemController* GetItemController(ash::LauncherID id) {
147 return controller_->id_to_item_controller_map_[id]; 148 return controller_->id_to_item_controller_map_[id];
148 } 149 }
149 150
150 // Returns the number of menu items, ignoring separators. 151 // Returns the number of menu items, ignoring separators.
151 int GetNumApplicationMenuItems(const ash::LauncherItem& item) { 152 int GetNumApplicationMenuItems(const ash::LauncherItem& item) {
152 const int event_flags = 0; 153 const int event_flags = 0;
153 scoped_ptr<ash::LauncherMenuModel> menu( 154 scoped_ptr<ash::LauncherMenuModel> menu(
154 controller_->CreateApplicationMenu(item, event_flags)); 155 new LauncherApplicationMenuItemModel(
156 controller_->GetApplicationList(item, event_flags)));
155 int num_items = 0; 157 int num_items = 0;
156 for (int i = 0; i < menu->GetItemCount(); ++i) { 158 for (int i = 0; i < menu->GetItemCount(); ++i) {
157 if (menu->GetTypeAt(i) != ui::MenuModel::TYPE_SEPARATOR) 159 if (menu->GetTypeAt(i) != ui::MenuModel::TYPE_SEPARATOR)
158 ++num_items; 160 ++num_items;
159 } 161 }
160 return num_items; 162 return num_items;
161 } 163 }
162 164
163 // Activate the launcher item with the given |id|. 165 // Activate the launcher item with the given |id|.
164 void ActivateLauncherItem(int id) { 166 void ActivateLauncherItem(int id) {
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 653 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
652 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 654 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
653 // Confirm that a controller item was created and is the correct state. 655 // Confirm that a controller item was created and is the correct state.
654 const ash::LauncherItem& item1 = GetLastLauncherItem(); 656 const ash::LauncherItem& item1 = GetLastLauncherItem();
655 LauncherItemController* item1_controller = GetItemController(item1.id); 657 LauncherItemController* item1_controller = GetItemController(item1.id);
656 EXPECT_EQ(ash::TYPE_PLATFORM_APP, item1.type); 658 EXPECT_EQ(ash::TYPE_PLATFORM_APP, item1.type);
657 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status); 659 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
658 EXPECT_EQ(LauncherItemController::TYPE_APP, item1_controller->type()); 660 EXPECT_EQ(LauncherItemController::TYPE_APP, item1_controller->type());
659 // Clicking the item should have no effect. 661 // Clicking the item should have no effect.
660 TestEvent click_event(ui::ET_MOUSE_PRESSED); 662 TestEvent click_event(ui::ET_MOUSE_PRESSED);
661 item1_controller->Clicked(click_event); 663 item1_controller->ItemSelected(click_event);
662 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 664 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
663 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 665 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
664 // Minimize the window and confirm that the controller item is updated. 666 // Minimize the window and confirm that the controller item is updated.
665 window1->GetBaseWindow()->Minimize(); 667 window1->GetBaseWindow()->Minimize();
666 EXPECT_FALSE(window1->GetNativeWindow()->IsVisible()); 668 EXPECT_FALSE(window1->GetNativeWindow()->IsVisible());
667 EXPECT_FALSE(window1->GetBaseWindow()->IsActive()); 669 EXPECT_FALSE(window1->GetBaseWindow()->IsActive());
668 EXPECT_EQ(ash::STATUS_RUNNING, item1.status); 670 EXPECT_EQ(ash::STATUS_RUNNING, item1.status);
669 // Clicking the item should activate the window. 671 // Clicking the item should activate the window.
670 item1_controller->Clicked(click_event); 672 item1_controller->ItemSelected(click_event);
671 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 673 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
672 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 674 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
673 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status); 675 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
674 // Maximizing a window should preserve state after minimize + click. 676 // Maximizing a window should preserve state after minimize + click.
675 window1->GetBaseWindow()->Maximize(); 677 window1->GetBaseWindow()->Maximize();
676 window1->GetBaseWindow()->Minimize(); 678 window1->GetBaseWindow()->Minimize();
677 item1_controller->Clicked(click_event); 679 item1_controller->ItemSelected(click_event);
678 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 680 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
679 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 681 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
680 EXPECT_TRUE(window1->GetBaseWindow()->IsMaximized()); 682 EXPECT_TRUE(window1->GetBaseWindow()->IsMaximized());
681 } 683 }
682 684
683 // Confirm the minimizing click behavior for apps. 685 // Confirm the minimizing click behavior for apps.
684 IN_PROC_BROWSER_TEST_F(LauncherAppBrowserMinimizeOnClick, 686 IN_PROC_BROWSER_TEST_F(LauncherAppBrowserMinimizeOnClick,
685 PackagedAppClickBehaviorInMinimizeMode) { 687 PackagedAppClickBehaviorInMinimizeMode) {
686 // Launch one platform app and create a window for it. 688 // Launch one platform app and create a window for it.
687 const Extension* extension1 = LoadAndLaunchPlatformApp("launch"); 689 const Extension* extension1 = LoadAndLaunchPlatformApp("launch");
688 ShellWindow* window1 = CreateShellWindow(extension1); 690 ShellWindow* window1 = CreateShellWindow(extension1);
689 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 691 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
690 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 692 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
691 693
692 // Confirm that a controller item was created and is the correct state. 694 // Confirm that a controller item was created and is the correct state.
693 const ash::LauncherItem& item1 = GetLastLauncherItem(); 695 const ash::LauncherItem& item1 = GetLastLauncherItem();
694 LauncherItemController* item1_controller = GetItemController(item1.id); 696 LauncherItemController* item1_controller = GetItemController(item1.id);
695 EXPECT_EQ(ash::TYPE_PLATFORM_APP, item1.type); 697 EXPECT_EQ(ash::TYPE_PLATFORM_APP, item1.type);
696 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status); 698 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
697 EXPECT_EQ(LauncherItemController::TYPE_APP, item1_controller->type()); 699 EXPECT_EQ(LauncherItemController::TYPE_APP, item1_controller->type());
698 // Since it is already active, clicking it should minimize. 700 // Since it is already active, clicking it should minimize.
699 TestEvent click_event(ui::ET_MOUSE_PRESSED); 701 TestEvent click_event(ui::ET_MOUSE_PRESSED);
700 item1_controller->Clicked(click_event); 702 item1_controller->ItemSelected(click_event);
701 EXPECT_FALSE(window1->GetNativeWindow()->IsVisible()); 703 EXPECT_FALSE(window1->GetNativeWindow()->IsVisible());
702 EXPECT_FALSE(window1->GetBaseWindow()->IsActive()); 704 EXPECT_FALSE(window1->GetBaseWindow()->IsActive());
703 EXPECT_TRUE(window1->GetBaseWindow()->IsMinimized()); 705 EXPECT_TRUE(window1->GetBaseWindow()->IsMinimized());
704 EXPECT_EQ(ash::STATUS_RUNNING, item1.status); 706 EXPECT_EQ(ash::STATUS_RUNNING, item1.status);
705 // Clicking the item again should activate the window again. 707 // Clicking the item again should activate the window again.
706 item1_controller->Clicked(click_event); 708 item1_controller->ItemSelected(click_event);
707 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 709 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
708 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 710 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
709 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status); 711 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
710 // Maximizing a window should preserve state after minimize + click. 712 // Maximizing a window should preserve state after minimize + click.
711 window1->GetBaseWindow()->Maximize(); 713 window1->GetBaseWindow()->Maximize();
712 window1->GetBaseWindow()->Minimize(); 714 window1->GetBaseWindow()->Minimize();
713 item1_controller->Clicked(click_event); 715 item1_controller->ItemSelected(click_event);
714 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 716 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
715 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 717 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
716 EXPECT_TRUE(window1->GetBaseWindow()->IsMaximized()); 718 EXPECT_TRUE(window1->GetBaseWindow()->IsMaximized());
717 window1->GetBaseWindow()->Restore(); 719 window1->GetBaseWindow()->Restore();
718 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 720 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
719 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 721 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
720 EXPECT_FALSE(window1->GetBaseWindow()->IsMaximized()); 722 EXPECT_FALSE(window1->GetBaseWindow()->IsMaximized());
721 723
722 // Creating a second window of the same type should change the behavior so 724 // Creating a second window of the same type should change the behavior so
723 // that a click does not change the activation state. 725 // that a click does not change the activation state.
724 ShellWindow* window1a = CreateShellWindow(extension1); 726 ShellWindow* window1a = CreateShellWindow(extension1);
725 EXPECT_TRUE(window1a->GetNativeWindow()->IsVisible()); 727 EXPECT_TRUE(window1a->GetNativeWindow()->IsVisible());
726 EXPECT_TRUE(window1a->GetBaseWindow()->IsActive()); 728 EXPECT_TRUE(window1a->GetBaseWindow()->IsActive());
727 // The first click does nothing. 729 // The first click does nothing.
728 item1_controller->Clicked(click_event); 730 item1_controller->ItemSelected(click_event);
729 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 731 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
730 EXPECT_TRUE(window1a->GetNativeWindow()->IsVisible()); 732 EXPECT_TRUE(window1a->GetNativeWindow()->IsVisible());
731 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 733 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
732 EXPECT_FALSE(window1a->GetBaseWindow()->IsActive()); 734 EXPECT_FALSE(window1a->GetBaseWindow()->IsActive());
733 // The second neither. 735 // The second neither.
734 item1_controller->Clicked(click_event); 736 item1_controller->ItemSelected(click_event);
735 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible()); 737 EXPECT_TRUE(window1->GetNativeWindow()->IsVisible());
736 EXPECT_TRUE(window1a->GetNativeWindow()->IsVisible()); 738 EXPECT_TRUE(window1a->GetNativeWindow()->IsVisible());
737 EXPECT_TRUE(window1->GetBaseWindow()->IsActive()); 739 EXPECT_TRUE(window1->GetBaseWindow()->IsActive());
738 EXPECT_FALSE(window1a->GetBaseWindow()->IsActive()); 740 EXPECT_FALSE(window1a->GetBaseWindow()->IsActive());
739 } 741 }
740 742
741 // Confirm that click behavior for app panels is correct. 743 // Confirm that click behavior for app panels is correct.
742 IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, AppPanelClickBehavior) { 744 IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, AppPanelClickBehavior) {
743 // Enable experimental APIs to allow panel creation. 745 // Enable experimental APIs to allow panel creation.
744 CommandLine::ForCurrentProcess()->AppendSwitch( 746 CommandLine::ForCurrentProcess()->AppendSwitch(
745 extensions::switches::kEnableExperimentalExtensionApis); 747 extensions::switches::kEnableExperimentalExtensionApis);
746 // Launch a platform app and create a panel window for it. 748 // Launch a platform app and create a panel window for it.
747 const Extension* extension1 = LoadAndLaunchPlatformApp("launch"); 749 const Extension* extension1 = LoadAndLaunchPlatformApp("launch");
748 ShellWindow::CreateParams params; 750 ShellWindow::CreateParams params;
749 params.window_type = ShellWindow::WINDOW_TYPE_PANEL; 751 params.window_type = ShellWindow::WINDOW_TYPE_PANEL;
750 params.focused = false; 752 params.focused = false;
751 ShellWindow* panel = CreateShellWindowFromParams(extension1, params); 753 ShellWindow* panel = CreateShellWindowFromParams(extension1, params);
752 EXPECT_TRUE(panel->GetNativeWindow()->IsVisible()); 754 EXPECT_TRUE(panel->GetNativeWindow()->IsVisible());
753 // Panels should not be active by default. 755 // Panels should not be active by default.
754 EXPECT_FALSE(panel->GetBaseWindow()->IsActive()); 756 EXPECT_FALSE(panel->GetBaseWindow()->IsActive());
755 // Confirm that a controller item was created and is the correct state. 757 // Confirm that a controller item was created and is the correct state.
756 const ash::LauncherItem& item1 = GetLastLauncherPanelItem(); 758 const ash::LauncherItem& item1 = GetLastLauncherPanelItem();
757 LauncherItemController* item1_controller = GetItemController(item1.id); 759 LauncherItemController* item1_controller = GetItemController(item1.id);
758 EXPECT_EQ(ash::TYPE_APP_PANEL, item1.type); 760 EXPECT_EQ(ash::TYPE_APP_PANEL, item1.type);
759 EXPECT_EQ(ash::STATUS_RUNNING, item1.status); 761 EXPECT_EQ(ash::STATUS_RUNNING, item1.status);
760 EXPECT_EQ(LauncherItemController::TYPE_APP_PANEL, item1_controller->type()); 762 EXPECT_EQ(LauncherItemController::TYPE_APP_PANEL, item1_controller->type());
761 // Click the item and confirm that the panel is activated. 763 // Click the item and confirm that the panel is activated.
762 TestEvent click_event(ui::ET_MOUSE_PRESSED); 764 TestEvent click_event(ui::ET_MOUSE_PRESSED);
763 item1_controller->Clicked(click_event); 765 item1_controller->ItemSelected(click_event);
764 EXPECT_TRUE(panel->GetBaseWindow()->IsActive()); 766 EXPECT_TRUE(panel->GetBaseWindow()->IsActive());
765 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status); 767 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
766 // Click the item again and confirm that the panel is minimized. 768 // Click the item again and confirm that the panel is minimized.
767 item1_controller->Clicked(click_event); 769 item1_controller->ItemSelected(click_event);
768 EXPECT_TRUE(panel->GetBaseWindow()->IsMinimized()); 770 EXPECT_TRUE(panel->GetBaseWindow()->IsMinimized());
769 EXPECT_EQ(ash::STATUS_RUNNING, item1.status); 771 EXPECT_EQ(ash::STATUS_RUNNING, item1.status);
770 // Click the item again and confirm that the panel is activated. 772 // Click the item again and confirm that the panel is activated.
771 item1_controller->Clicked(click_event); 773 item1_controller->ItemSelected(click_event);
772 EXPECT_TRUE(panel->GetNativeWindow()->IsVisible()); 774 EXPECT_TRUE(panel->GetNativeWindow()->IsVisible());
773 EXPECT_TRUE(panel->GetBaseWindow()->IsActive()); 775 EXPECT_TRUE(panel->GetBaseWindow()->IsActive());
774 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status); 776 EXPECT_EQ(ash::STATUS_ACTIVE, item1.status);
775 } 777 }
776 778
777 IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, BrowserActivation) { 779 IN_PROC_BROWSER_TEST_F(LauncherPlatformAppBrowserTest, BrowserActivation) {
778 int item_count = launcher_model()->item_count(); 780 int item_count = launcher_model()->item_count();
779 781
780 // First run app. 782 // First run app.
781 const Extension* extension1 = LoadAndLaunchPlatformApp("launch"); 783 const Extension* extension1 = LoadAndLaunchPlatformApp("launch");
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 EXPECT_EQ(ash::TYPE_APP_PANEL, item.type); 1413 EXPECT_EQ(ash::TYPE_APP_PANEL, item.type);
1412 EXPECT_EQ(ash::STATUS_RUNNING, item.status); 1414 EXPECT_EQ(ash::STATUS_RUNNING, item.status);
1413 EXPECT_EQ(LauncherItemController::TYPE_APP_PANEL, item_controller->type()); 1415 EXPECT_EQ(LauncherItemController::TYPE_APP_PANEL, item_controller->type());
1414 1416
1415 // App windows should go to attention state. 1417 // App windows should go to attention state.
1416 panel->GetNativeWindow()->SetProperty(aura::client::kDrawAttentionKey, true); 1418 panel->GetNativeWindow()->SetProperty(aura::client::kDrawAttentionKey, true);
1417 EXPECT_EQ(ash::STATUS_ATTENTION, item.status); 1419 EXPECT_EQ(ash::STATUS_ATTENTION, item.status);
1418 1420
1419 // Click the item and confirm that the panel is activated. 1421 // Click the item and confirm that the panel is activated.
1420 TestEvent click_event(ui::ET_MOUSE_PRESSED); 1422 TestEvent click_event(ui::ET_MOUSE_PRESSED);
1421 item_controller->Clicked(click_event); 1423 item_controller->ItemSelected(click_event);
1422 EXPECT_TRUE(panel->GetBaseWindow()->IsActive()); 1424 EXPECT_TRUE(panel->GetBaseWindow()->IsActive());
1423 EXPECT_EQ(ash::STATUS_ACTIVE, item.status); 1425 EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
1424 1426
1425 // Active windows don't show attention. 1427 // Active windows don't show attention.
1426 panel->GetNativeWindow()->SetProperty(aura::client::kDrawAttentionKey, true); 1428 panel->GetNativeWindow()->SetProperty(aura::client::kDrawAttentionKey, true);
1427 EXPECT_EQ(ash::STATUS_ACTIVE, item.status); 1429 EXPECT_EQ(ash::STATUS_ACTIVE, item.status);
1428 } 1430 }
1429 1431
1430 // Checks that the browser Alt "tabbing" is properly done. 1432 // Checks that the browser Alt "tabbing" is properly done.
1431 IN_PROC_BROWSER_TEST_F(LauncherAppBrowserTestNoDefaultBrowser, 1433 IN_PROC_BROWSER_TEST_F(LauncherAppBrowserTestNoDefaultBrowser,
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
1517 // Check that the LRU browser list does only contain the original browser. 1519 // Check that the LRU browser list does only contain the original browser.
1518 BrowserList* ash_browser_list = 1520 BrowserList* ash_browser_list =
1519 BrowserList::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH); 1521 BrowserList::GetInstance(chrome::HOST_DESKTOP_TYPE_ASH);
1520 BrowserList::const_reverse_iterator it = 1522 BrowserList::const_reverse_iterator it =
1521 ash_browser_list->begin_last_active(); 1523 ash_browser_list->begin_last_active();
1522 EXPECT_EQ(*it, browser()); 1524 EXPECT_EQ(*it, browser());
1523 ++it; 1525 ++it;
1524 EXPECT_EQ(it, ash_browser_list->end_last_active()); 1526 EXPECT_EQ(it, ash_browser_list->end_last_active());
1525 1527
1526 // Now request to either activate an existing app or create a new one. 1528 // Now request to either activate an existing app or create a new one.
1527 controller_->ItemSelected(*model_->ItemByID(shortcut_id), 1529 LauncherItemController* item_controller =
1528 ui::KeyEvent(ui::ET_KEY_RELEASED, 1530 controller_->GetLauncherItemController(shortcut_id);
1531 item_controller->ItemSelected(ui::KeyEvent(ui::ET_KEY_RELEASED,
1529 ui::VKEY_RETURN, 1532 ui::VKEY_RETURN,
1530 0, 1533 0,
1531 false)); 1534 false));
1532 1535
1533 // Check that we have set focus on the existing application and nothing new 1536 // Check that we have set focus on the existing application and nothing new
1534 // was created. 1537 // was created.
1535 EXPECT_EQ(2u, chrome::GetTotalBrowserCount()); 1538 EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
1536 EXPECT_EQ(tab_count1, tab_strip->count()); 1539 EXPECT_EQ(tab_count1, tab_strip->count());
1537 EXPECT_EQ(tab_count2, tab_strip2->count()); 1540 EXPECT_EQ(tab_count2, tab_strip2->count());
1538 EXPECT_EQ(chrome::FindBrowserWithWindow(ash::wm::GetActiveWindow()), 1541 EXPECT_EQ(chrome::FindBrowserWithWindow(ash::wm::GetActiveWindow()),
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
1845 // Now show overflow bubble. 1848 // Now show overflow bubble.
1846 test.ShowOverflowBubble(); 1849 test.ShowOverflowBubble();
1847 EXPECT_TRUE(launcher_->IsShowingOverflowBubble()); 1850 EXPECT_TRUE(launcher_->IsShowingOverflowBubble());
1848 1851
1849 // Unpin first pinned app and there should be no crash. 1852 // Unpin first pinned app and there should be no crash.
1850 controller_->UnpinAppWithID(std::string("fake_app_0")); 1853 controller_->UnpinAppWithID(std::string("fake_app_0"));
1851 1854
1852 test.RunMessageLoopUntilAnimationsDone(); 1855 test.RunMessageLoopUntilAnimationsDone();
1853 EXPECT_FALSE(launcher_->IsShowingOverflowBubble()); 1856 EXPECT_FALSE(launcher_->IsShowingOverflowBubble());
1854 } 1857 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698