| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/launcher_context_menu.h" | 5 #include "chrome/browser/ui/ash/launcher/launcher_context_menu.h" |
| 6 | 6 |
| 7 #include "ash/shelf/shelf.h" | 7 #include "ash/shelf/shelf.h" |
| 8 #include "ash/shelf/shelf_item_types.h" | 8 #include "ash/shelf/shelf_item_types.h" |
| 9 #include "ash/shelf/shelf_model.h" | 9 #include "ash/shelf/shelf_model.h" |
| 10 #include "ash/shell.h" | 10 #include "ash/shell.h" |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 ash::ShelfItem item; | 62 ash::ShelfItem item; |
| 63 item.id = 1; // dummy id | 63 item.id = 1; // dummy id |
| 64 ash::Shelf* shelf = ash::Shelf::ForWindow(CurrentContext()); | 64 ash::Shelf* shelf = ash::Shelf::ForWindow(CurrentContext()); |
| 65 return new ArcLauncherContextMenu(controller_.get(), &item, shelf); | 65 return new ArcLauncherContextMenu(controller_.get(), &item, shelf); |
| 66 } | 66 } |
| 67 #endif | 67 #endif |
| 68 | 68 |
| 69 Profile* profile() { return profile_.get(); } | 69 Profile* profile() { return profile_.get(); } |
| 70 | 70 |
| 71 private: | 71 private: |
| 72 scoped_ptr<TestingProfile> profile_; | 72 std::unique_ptr<TestingProfile> profile_; |
| 73 ash::ShelfModel shelf_model_; | 73 ash::ShelfModel shelf_model_; |
| 74 scoped_ptr<ChromeLauncherController> controller_; | 74 std::unique_ptr<ChromeLauncherController> controller_; |
| 75 | 75 |
| 76 DISALLOW_COPY_AND_ASSIGN(LauncherContextMenuTest); | 76 DISALLOW_COPY_AND_ASSIGN(LauncherContextMenuTest); |
| 77 }; | 77 }; |
| 78 | 78 |
| 79 // Verifies that "New Incognito window" menu item in the launcher context | 79 // Verifies that "New Incognito window" menu item in the launcher context |
| 80 // menu is disabled when Incognito mode is switched off (by a policy). | 80 // menu is disabled when Incognito mode is switched off (by a policy). |
| 81 TEST_F(LauncherContextMenuTest, | 81 TEST_F(LauncherContextMenuTest, |
| 82 NewIncognitoWindowMenuIsDisabledWhenIncognitoModeOff) { | 82 NewIncognitoWindowMenuIsDisabledWhenIncognitoModeOff) { |
| 83 // Initially, "New Incognito window" should be enabled. | 83 // Initially, "New Incognito window" should be enabled. |
| 84 scoped_ptr<LauncherContextMenu> menu( | 84 std::unique_ptr<LauncherContextMenu> menu( |
| 85 CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT)); | 85 CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT)); |
| 86 ASSERT_TRUE(IsItemPresentInMenu( | 86 ASSERT_TRUE(IsItemPresentInMenu( |
| 87 menu.get(), LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); | 87 menu.get(), LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); |
| 88 EXPECT_TRUE(menu->IsCommandIdEnabled( | 88 EXPECT_TRUE(menu->IsCommandIdEnabled( |
| 89 LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); | 89 LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); |
| 90 | 90 |
| 91 // Disable Incognito mode. | 91 // Disable Incognito mode. |
| 92 IncognitoModePrefs::SetAvailability(profile()->GetPrefs(), | 92 IncognitoModePrefs::SetAvailability(profile()->GetPrefs(), |
| 93 IncognitoModePrefs::DISABLED); | 93 IncognitoModePrefs::DISABLED); |
| 94 menu.reset(CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT)); | 94 menu.reset(CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT)); |
| 95 // The item should be disabled. | 95 // The item should be disabled. |
| 96 ASSERT_TRUE(IsItemPresentInMenu( | 96 ASSERT_TRUE(IsItemPresentInMenu( |
| 97 menu.get(), LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); | 97 menu.get(), LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); |
| 98 EXPECT_FALSE(menu->IsCommandIdEnabled( | 98 EXPECT_FALSE(menu->IsCommandIdEnabled( |
| 99 LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); | 99 LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); |
| 100 } | 100 } |
| 101 | 101 |
| 102 // Verifies that "New window" menu item in the launcher context | 102 // Verifies that "New window" menu item in the launcher context |
| 103 // menu is disabled when Incognito mode is forced (by a policy). | 103 // menu is disabled when Incognito mode is forced (by a policy). |
| 104 TEST_F(LauncherContextMenuTest, | 104 TEST_F(LauncherContextMenuTest, |
| 105 NewWindowMenuIsDisabledWhenIncognitoModeForced) { | 105 NewWindowMenuIsDisabledWhenIncognitoModeForced) { |
| 106 // Initially, "New window" should be enabled. | 106 // Initially, "New window" should be enabled. |
| 107 scoped_ptr<LauncherContextMenu> menu( | 107 std::unique_ptr<LauncherContextMenu> menu( |
| 108 CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT)); | 108 CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT)); |
| 109 ASSERT_TRUE(IsItemPresentInMenu( | 109 ASSERT_TRUE(IsItemPresentInMenu( |
| 110 menu.get(), LauncherContextMenu::MENU_NEW_WINDOW)); | 110 menu.get(), LauncherContextMenu::MENU_NEW_WINDOW)); |
| 111 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_NEW_WINDOW)); | 111 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_NEW_WINDOW)); |
| 112 | 112 |
| 113 // Disable Incognito mode. | 113 // Disable Incognito mode. |
| 114 IncognitoModePrefs::SetAvailability(profile()->GetPrefs(), | 114 IncognitoModePrefs::SetAvailability(profile()->GetPrefs(), |
| 115 IncognitoModePrefs::FORCED); | 115 IncognitoModePrefs::FORCED); |
| 116 menu.reset(CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT)); | 116 menu.reset(CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT)); |
| 117 ASSERT_TRUE(IsItemPresentInMenu( | 117 ASSERT_TRUE(IsItemPresentInMenu( |
| 118 menu.get(), LauncherContextMenu::MENU_NEW_WINDOW)); | 118 menu.get(), LauncherContextMenu::MENU_NEW_WINDOW)); |
| 119 EXPECT_FALSE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_NEW_WINDOW)); | 119 EXPECT_FALSE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_NEW_WINDOW)); |
| 120 } | 120 } |
| 121 | 121 |
| 122 // Verifies status of contextmenu items for desktop shell. | 122 // Verifies status of contextmenu items for desktop shell. |
| 123 TEST_F(LauncherContextMenuTest, DesktopShellLauncherContextMenuItemCheck) { | 123 TEST_F(LauncherContextMenuTest, DesktopShellLauncherContextMenuItemCheck) { |
| 124 scoped_ptr<LauncherContextMenu> menu( | 124 std::unique_ptr<LauncherContextMenu> menu( |
| 125 CreateLauncherContextMenuForDesktopShell()); | 125 CreateLauncherContextMenuForDesktopShell()); |
| 126 EXPECT_FALSE( | 126 EXPECT_FALSE( |
| 127 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW)); | 127 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW)); |
| 128 EXPECT_FALSE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN)); | 128 EXPECT_FALSE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN)); |
| 129 EXPECT_TRUE( | 129 EXPECT_TRUE( |
| 130 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_AUTO_HIDE)); | 130 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_AUTO_HIDE)); |
| 131 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_AUTO_HIDE)); | 131 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_AUTO_HIDE)); |
| 132 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), | 132 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), |
| 133 LauncherContextMenu::MENU_ALIGNMENT_MENU)); | 133 LauncherContextMenu::MENU_ALIGNMENT_MENU)); |
| 134 EXPECT_TRUE( | 134 EXPECT_TRUE( |
| (...skipping 23 matching lines...) Expand all Loading... |
| 158 EXPECT_TRUE( | 158 EXPECT_TRUE( |
| 159 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_ALIGNMENT_MENU)); | 159 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_ALIGNMENT_MENU)); |
| 160 // By default, screen is not locked and ChangeWallPaper item is added in | 160 // By default, screen is not locked and ChangeWallPaper item is added in |
| 161 // menu. ChangeWallPaper item is not enabled in default mode. | 161 // menu. ChangeWallPaper item is not enabled in default mode. |
| 162 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), | 162 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), |
| 163 LauncherContextMenu::MENU_CHANGE_WALLPAPER)); | 163 LauncherContextMenu::MENU_CHANGE_WALLPAPER)); |
| 164 EXPECT_FALSE( | 164 EXPECT_FALSE( |
| 165 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CHANGE_WALLPAPER)); | 165 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CHANGE_WALLPAPER)); |
| 166 } | 166 } |
| 167 #endif | 167 #endif |
| OLD | NEW |