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

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

Issue 2899253002: chromeos: Rename ash::WmShelf to Shelf (Closed)
Patch Set: rebase Created 3 years, 7 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 (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 <memory> 7 #include <memory>
8 8
9 #include "ash/public/cpp/shelf_item.h" 9 #include "ash/public/cpp/shelf_item.h"
10 #include "ash/root_window_controller.h" 10 #include "ash/root_window_controller.h"
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 LauncherContextMenuTest() {} 72 LauncherContextMenuTest() {}
73 73
74 void SetUp() override { 74 void SetUp() override {
75 arc_test_.SetUp(&profile_); 75 arc_test_.SetUp(&profile_);
76 session_manager_ = base::MakeUnique<session_manager::SessionManager>(); 76 session_manager_ = base::MakeUnique<session_manager::SessionManager>();
77 shell_delegate_ = new ChromeLauncherTestShellDelegate(&profile_); 77 shell_delegate_ = new ChromeLauncherTestShellDelegate(&profile_);
78 ash_test_helper()->set_test_shell_delegate(shell_delegate_); 78 ash_test_helper()->set_test_shell_delegate(shell_delegate_);
79 ash::test::AshTestBase::SetUp(); 79 ash::test::AshTestBase::SetUp();
80 } 80 }
81 81
82 ash::WmShelf* GetWmShelf(int64_t display_id) { 82 ash::Shelf* GetShelf(int64_t display_id) {
83 ash::RootWindowController* root_window_controller = 83 ash::RootWindowController* root_window_controller =
84 ash::Shell::GetRootWindowControllerWithDisplayId(display_id); 84 ash::Shell::GetRootWindowControllerWithDisplayId(display_id);
85 EXPECT_NE(nullptr, root_window_controller); 85 EXPECT_NE(nullptr, root_window_controller);
86 return root_window_controller->GetShelf(); 86 return root_window_controller->GetShelf();
87 } 87 }
88 88
89 LauncherContextMenu* CreateLauncherContextMenu( 89 LauncherContextMenu* CreateLauncherContextMenu(
90 ash::ShelfItemType shelf_item_type, 90 ash::ShelfItemType shelf_item_type,
91 ash::WmShelf* wm_shelf) { 91 ash::Shelf* shelf) {
92 ash::ShelfItem item; 92 ash::ShelfItem item;
93 item.id = ash::ShelfID("idmockidmockidmockidmockidmockid"); 93 item.id = ash::ShelfID("idmockidmockidmockidmockidmockid");
94 item.type = shelf_item_type; 94 item.type = shelf_item_type;
95 return LauncherContextMenu::Create(controller(), &item, wm_shelf); 95 return LauncherContextMenu::Create(controller(), &item, shelf);
96 } 96 }
97 97
98 LauncherContextMenu* CreateLauncherContextMenuForDesktopShell( 98 LauncherContextMenu* CreateLauncherContextMenuForDesktopShell(
99 ash::WmShelf* wm_shelf) { 99 ash::Shelf* shelf) {
100 return LauncherContextMenu::Create(controller(), nullptr, wm_shelf); 100 return LauncherContextMenu::Create(controller(), nullptr, shelf);
101 } 101 }
102 102
103 // Creates app window and set optional ARC application id. 103 // Creates app window and set optional ARC application id.
104 views::Widget* CreateArcWindow(std::string& window_app_id) { 104 views::Widget* CreateArcWindow(std::string& window_app_id) {
105 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 105 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
106 views::Widget* widget = new views::Widget(); 106 views::Widget* widget = new views::Widget();
107 widget->Init(params); 107 widget->Init(params);
108 widget->Show(); 108 widget->Show();
109 widget->Activate(); 109 widget->Activate();
110 exo::ShellSurface::SetApplicationId(widget->GetNativeWindow(), 110 exo::ShellSurface::SetApplicationId(widget->GetNativeWindow(),
(...skipping 18 matching lines...) Expand all
129 DISALLOW_COPY_AND_ASSIGN(LauncherContextMenuTest); 129 DISALLOW_COPY_AND_ASSIGN(LauncherContextMenuTest);
130 }; 130 };
131 131
132 // Verifies that "New Incognito window" menu item in the launcher context 132 // Verifies that "New Incognito window" menu item in the launcher context
133 // menu is disabled when Incognito mode is switched off (by a policy). 133 // menu is disabled when Incognito mode is switched off (by a policy).
134 TEST_F(LauncherContextMenuTest, 134 TEST_F(LauncherContextMenuTest,
135 NewIncognitoWindowMenuIsDisabledWhenIncognitoModeOff) { 135 NewIncognitoWindowMenuIsDisabledWhenIncognitoModeOff) {
136 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id(); 136 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id();
137 // Initially, "New Incognito window" should be enabled. 137 // Initially, "New Incognito window" should be enabled.
138 std::unique_ptr<LauncherContextMenu> menu(CreateLauncherContextMenu( 138 std::unique_ptr<LauncherContextMenu> menu(CreateLauncherContextMenu(
139 ash::TYPE_BROWSER_SHORTCUT, GetWmShelf(primary_id))); 139 ash::TYPE_BROWSER_SHORTCUT, GetShelf(primary_id)));
140 ASSERT_TRUE(IsItemPresentInMenu( 140 ASSERT_TRUE(IsItemPresentInMenu(
141 menu.get(), LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); 141 menu.get(), LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW));
142 EXPECT_TRUE(menu->IsCommandIdEnabled( 142 EXPECT_TRUE(menu->IsCommandIdEnabled(
143 LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); 143 LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW));
144 144
145 // Disable Incognito mode. 145 // Disable Incognito mode.
146 IncognitoModePrefs::SetAvailability(profile()->GetPrefs(), 146 IncognitoModePrefs::SetAvailability(profile()->GetPrefs(),
147 IncognitoModePrefs::DISABLED); 147 IncognitoModePrefs::DISABLED);
148 menu.reset(CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT, 148 menu.reset(CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT,
149 GetWmShelf(primary_id))); 149 GetShelf(primary_id)));
150 // The item should be disabled. 150 // The item should be disabled.
151 ASSERT_TRUE(IsItemPresentInMenu( 151 ASSERT_TRUE(IsItemPresentInMenu(
152 menu.get(), LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); 152 menu.get(), LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW));
153 EXPECT_FALSE(menu->IsCommandIdEnabled( 153 EXPECT_FALSE(menu->IsCommandIdEnabled(
154 LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW)); 154 LauncherContextMenu::MENU_NEW_INCOGNITO_WINDOW));
155 } 155 }
156 156
157 // Verifies that "New window" menu item in the launcher context 157 // Verifies that "New window" menu item in the launcher context
158 // menu is disabled when Incognito mode is forced (by a policy). 158 // menu is disabled when Incognito mode is forced (by a policy).
159 TEST_F(LauncherContextMenuTest, 159 TEST_F(LauncherContextMenuTest,
160 NewWindowMenuIsDisabledWhenIncognitoModeForced) { 160 NewWindowMenuIsDisabledWhenIncognitoModeForced) {
161 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id(); 161 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id();
162 // Initially, "New window" should be enabled. 162 // Initially, "New window" should be enabled.
163 std::unique_ptr<LauncherContextMenu> menu(CreateLauncherContextMenu( 163 std::unique_ptr<LauncherContextMenu> menu(CreateLauncherContextMenu(
164 ash::TYPE_BROWSER_SHORTCUT, GetWmShelf(primary_id))); 164 ash::TYPE_BROWSER_SHORTCUT, GetShelf(primary_id)));
165 ASSERT_TRUE(IsItemPresentInMenu( 165 ASSERT_TRUE(IsItemPresentInMenu(
166 menu.get(), LauncherContextMenu::MENU_NEW_WINDOW)); 166 menu.get(), LauncherContextMenu::MENU_NEW_WINDOW));
167 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_NEW_WINDOW)); 167 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_NEW_WINDOW));
168 168
169 // Disable Incognito mode. 169 // Disable Incognito mode.
170 IncognitoModePrefs::SetAvailability(profile()->GetPrefs(), 170 IncognitoModePrefs::SetAvailability(profile()->GetPrefs(),
171 IncognitoModePrefs::FORCED); 171 IncognitoModePrefs::FORCED);
172 menu.reset(CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT, 172 menu.reset(CreateLauncherContextMenu(ash::TYPE_BROWSER_SHORTCUT,
173 GetWmShelf(primary_id))); 173 GetShelf(primary_id)));
174 ASSERT_TRUE(IsItemPresentInMenu( 174 ASSERT_TRUE(IsItemPresentInMenu(
175 menu.get(), LauncherContextMenu::MENU_NEW_WINDOW)); 175 menu.get(), LauncherContextMenu::MENU_NEW_WINDOW));
176 EXPECT_FALSE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_NEW_WINDOW)); 176 EXPECT_FALSE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_NEW_WINDOW));
177 } 177 }
178 178
179 // Verifies status of contextmenu items for desktop shell. 179 // Verifies status of contextmenu items for desktop shell.
180 TEST_F(LauncherContextMenuTest, DesktopShellLauncherContextMenuItemCheck) { 180 TEST_F(LauncherContextMenuTest, DesktopShellLauncherContextMenuItemCheck) {
181 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id(); 181 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id();
182 std::unique_ptr<LauncherContextMenu> menu( 182 std::unique_ptr<LauncherContextMenu> menu(
183 CreateLauncherContextMenuForDesktopShell(GetWmShelf(primary_id))); 183 CreateLauncherContextMenuForDesktopShell(GetShelf(primary_id)));
184 EXPECT_FALSE( 184 EXPECT_FALSE(
185 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW)); 185 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW));
186 EXPECT_FALSE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN)); 186 EXPECT_FALSE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN));
187 EXPECT_TRUE( 187 EXPECT_TRUE(
188 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_AUTO_HIDE)); 188 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_AUTO_HIDE));
189 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_AUTO_HIDE)); 189 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_AUTO_HIDE));
190 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), 190 EXPECT_TRUE(IsItemPresentInMenu(menu.get(),
191 LauncherContextMenu::MENU_ALIGNMENT_MENU)); 191 LauncherContextMenu::MENU_ALIGNMENT_MENU));
192 EXPECT_TRUE( 192 EXPECT_TRUE(
193 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_ALIGNMENT_MENU)); 193 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_ALIGNMENT_MENU));
194 // By default, screen is not locked and ChangeWallPaper item is added in 194 // By default, screen is not locked and ChangeWallPaper item is added in
195 // menu. ChangeWallPaper item is not enabled in default mode. 195 // menu. ChangeWallPaper item is not enabled in default mode.
196 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), 196 EXPECT_TRUE(IsItemPresentInMenu(menu.get(),
197 LauncherContextMenu::MENU_CHANGE_WALLPAPER)); 197 LauncherContextMenu::MENU_CHANGE_WALLPAPER));
198 EXPECT_FALSE( 198 EXPECT_FALSE(
199 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CHANGE_WALLPAPER)); 199 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CHANGE_WALLPAPER));
200 } 200 }
201 201
202 // Verifies that "Close" is not shown in context menu if no browser window is 202 // Verifies that "Close" is not shown in context menu if no browser window is
203 // opened. 203 // opened.
204 TEST_F(LauncherContextMenuTest, 204 TEST_F(LauncherContextMenuTest,
205 DesktopShellLauncherContextMenuVerifyCloseItem) { 205 DesktopShellLauncherContextMenuVerifyCloseItem) {
206 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id(); 206 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id();
207 std::unique_ptr<LauncherContextMenu> menu(CreateLauncherContextMenu( 207 std::unique_ptr<LauncherContextMenu> menu(CreateLauncherContextMenu(
208 ash::TYPE_BROWSER_SHORTCUT, GetWmShelf(primary_id))); 208 ash::TYPE_BROWSER_SHORTCUT, GetShelf(primary_id)));
209 ASSERT_FALSE( 209 ASSERT_FALSE(
210 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE)); 210 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE));
211 } 211 }
212 212
213 // Verifies contextmenu items for ARC app 213 // Verifies contextmenu items for ARC app
214 TEST_F(LauncherContextMenuTest, ArcLauncherContextMenuItemCheck) { 214 TEST_F(LauncherContextMenuTest, ArcLauncherContextMenuItemCheck) {
215 arc_test().app_instance()->RefreshAppList(); 215 arc_test().app_instance()->RefreshAppList();
216 arc_test().app_instance()->SendRefreshAppList( 216 arc_test().app_instance()->SendRefreshAppList(
217 std::vector<arc::mojom::AppInfo>(arc_test().fake_apps().begin(), 217 std::vector<arc::mojom::AppInfo>(arc_test().fake_apps().begin(),
218 arc_test().fake_apps().begin() + 1)); 218 arc_test().fake_apps().begin() + 1));
219 const std::string app_id = ArcAppTest::GetAppId(arc_test().fake_apps()[0]); 219 const std::string app_id = ArcAppTest::GetAppId(arc_test().fake_apps()[0]);
220 220
221 controller()->PinAppWithID(app_id); 221 controller()->PinAppWithID(app_id);
222 222
223 const ash::ShelfItem* item = controller()->GetItem(ash::ShelfID(app_id)); 223 const ash::ShelfItem* item = controller()->GetItem(ash::ShelfID(app_id));
224 ASSERT_TRUE(item); 224 ASSERT_TRUE(item);
225 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id(); 225 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id();
226 ash::WmShelf* wm_shelf = GetWmShelf(primary_id); 226 ash::Shelf* shelf = GetShelf(primary_id);
227 227
228 std::unique_ptr<LauncherContextMenu> menu( 228 std::unique_ptr<LauncherContextMenu> menu(
229 new ArcLauncherContextMenu(controller(), item, wm_shelf)); 229 new ArcLauncherContextMenu(controller(), item, shelf));
230 230
231 // ARC app is pinned but not running. 231 // ARC app is pinned but not running.
232 EXPECT_TRUE( 232 EXPECT_TRUE(
233 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW)); 233 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW));
234 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_OPEN_NEW)); 234 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_OPEN_NEW));
235 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN)); 235 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN));
236 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_PIN)); 236 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_PIN));
237 EXPECT_FALSE( 237 EXPECT_FALSE(
238 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE)); 238 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE));
239 239
240 EXPECT_TRUE( 240 EXPECT_TRUE(
241 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_AUTO_HIDE)); 241 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_AUTO_HIDE));
242 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_AUTO_HIDE)); 242 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_AUTO_HIDE));
243 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), 243 EXPECT_TRUE(IsItemPresentInMenu(menu.get(),
244 LauncherContextMenu::MENU_ALIGNMENT_MENU)); 244 LauncherContextMenu::MENU_ALIGNMENT_MENU));
245 EXPECT_TRUE( 245 EXPECT_TRUE(
246 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_ALIGNMENT_MENU)); 246 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_ALIGNMENT_MENU));
247 // By default, screen is not locked and ChangeWallPaper item is added in 247 // By default, screen is not locked and ChangeWallPaper item is added in
248 // menu. ChangeWallPaper item is not enabled in default mode. 248 // menu. ChangeWallPaper item is not enabled in default mode.
249 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), 249 EXPECT_TRUE(IsItemPresentInMenu(menu.get(),
250 LauncherContextMenu::MENU_CHANGE_WALLPAPER)); 250 LauncherContextMenu::MENU_CHANGE_WALLPAPER));
251 EXPECT_FALSE( 251 EXPECT_FALSE(
252 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CHANGE_WALLPAPER)); 252 menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CHANGE_WALLPAPER));
253 253
254 // ARC app is running. 254 // ARC app is running.
255 std::string window_app_id1("org.chromium.arc.1"); 255 std::string window_app_id1("org.chromium.arc.1");
256 CreateArcWindow(window_app_id1); 256 CreateArcWindow(window_app_id1);
257 arc_test().app_instance()->SendTaskCreated(1, arc_test().fake_apps()[0], 257 arc_test().app_instance()->SendTaskCreated(1, arc_test().fake_apps()[0],
258 std::string()); 258 std::string());
259 menu.reset(new ArcLauncherContextMenu(controller(), item, wm_shelf)); 259 menu.reset(new ArcLauncherContextMenu(controller(), item, shelf));
260 260
261 EXPECT_FALSE( 261 EXPECT_FALSE(
262 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW)); 262 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW));
263 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN)); 263 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN));
264 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_PIN)); 264 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_PIN));
265 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE)); 265 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE));
266 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CLOSE)); 266 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CLOSE));
267 267
268 // ARC non-launchable app is running. 268 // ARC non-launchable app is running.
269 const std::string app_id2 = ArcAppTest::GetAppId(arc_test().fake_apps()[1]); 269 const std::string app_id2 = ArcAppTest::GetAppId(arc_test().fake_apps()[1]);
270 std::string window_app_id2("org.chromium.arc.2"); 270 std::string window_app_id2("org.chromium.arc.2");
271 CreateArcWindow(window_app_id2); 271 CreateArcWindow(window_app_id2);
272 arc_test().app_instance()->SendTaskCreated(2, arc_test().fake_apps()[1], 272 arc_test().app_instance()->SendTaskCreated(2, arc_test().fake_apps()[1],
273 std::string()); 273 std::string());
274 const ash::ShelfItem* item2 = controller()->GetItem(ash::ShelfID(app_id2)); 274 const ash::ShelfItem* item2 = controller()->GetItem(ash::ShelfID(app_id2));
275 ASSERT_TRUE(item2); 275 ASSERT_TRUE(item2);
276 menu.reset(new ArcLauncherContextMenu(controller(), item2, wm_shelf)); 276 menu.reset(new ArcLauncherContextMenu(controller(), item2, shelf));
277 277
278 EXPECT_FALSE( 278 EXPECT_FALSE(
279 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW)); 279 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW));
280 EXPECT_FALSE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN)); 280 EXPECT_FALSE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN));
281 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE)); 281 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE));
282 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CLOSE)); 282 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CLOSE));
283 283
284 // Shelf group context menu. 284 // Shelf group context menu.
285 std::vector<arc::mojom::ShortcutInfo> shortcuts = arc_test().fake_shortcuts(); 285 std::vector<arc::mojom::ShortcutInfo> shortcuts = arc_test().fake_shortcuts();
286 shortcuts[0].intent_uri += 286 shortcuts[0].intent_uri +=
287 ";S.org.chromium.arc.shelf_group_id=arc_test_shelf_group;end"; 287 ";S.org.chromium.arc.shelf_group_id=arc_test_shelf_group;end";
288 arc_test().app_instance()->SendInstallShortcuts(shortcuts); 288 arc_test().app_instance()->SendInstallShortcuts(shortcuts);
289 const std::string app_id3 = 289 const std::string app_id3 =
290 arc::ArcAppShelfId("arc_test_shelf_group", 290 arc::ArcAppShelfId("arc_test_shelf_group",
291 ArcAppTest::GetAppId(arc_test().fake_apps()[2])) 291 ArcAppTest::GetAppId(arc_test().fake_apps()[2]))
292 .ToString(); 292 .ToString();
293 std::string window_app_id3("org.chromium.arc.3"); 293 std::string window_app_id3("org.chromium.arc.3");
294 CreateArcWindow(window_app_id3); 294 CreateArcWindow(window_app_id3);
295 arc_test().app_instance()->SendTaskCreated(3, arc_test().fake_apps()[2], 295 arc_test().app_instance()->SendTaskCreated(3, arc_test().fake_apps()[2],
296 shortcuts[0].intent_uri); 296 shortcuts[0].intent_uri);
297 const ash::ShelfItem* item3 = controller()->GetItem(ash::ShelfID(app_id3)); 297 const ash::ShelfItem* item3 = controller()->GetItem(ash::ShelfID(app_id3));
298 ASSERT_TRUE(item3); 298 ASSERT_TRUE(item3);
299 menu.reset(new ArcLauncherContextMenu(controller(), item3, wm_shelf)); 299 menu.reset(new ArcLauncherContextMenu(controller(), item3, shelf));
300 300
301 EXPECT_FALSE( 301 EXPECT_FALSE(
302 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW)); 302 IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_OPEN_NEW));
303 EXPECT_FALSE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN)); 303 EXPECT_FALSE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_PIN));
304 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE)); 304 EXPECT_TRUE(IsItemPresentInMenu(menu.get(), LauncherContextMenu::MENU_CLOSE));
305 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CLOSE)); 305 EXPECT_TRUE(menu->IsCommandIdEnabled(LauncherContextMenu::MENU_CLOSE));
306 } 306 }
307 307
308 // Tests that fullscreen which makes "Autohide shelf" option disappeared on 308 // Tests that fullscreen which makes "Autohide shelf" option disappeared on
309 // shelf is a per-display setting (crbug.com/496681). 309 // shelf is a per-display setting (crbug.com/496681).
310 TEST_F(LauncherContextMenuTest, AutohideShelfOptionOnExternalDisplay) { 310 TEST_F(LauncherContextMenuTest, AutohideShelfOptionOnExternalDisplay) {
311 UpdateDisplay("940x550,940x550"); 311 UpdateDisplay("940x550,940x550");
312 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id(); 312 int64_t primary_id = display::Screen::GetScreen()->GetPrimaryDisplay().id();
313 int64_t secondary_id = display_manager()->GetSecondaryDisplay().id(); 313 int64_t secondary_id = display_manager()->GetSecondaryDisplay().id();
314 314
315 // Create a normal window on primary display. 315 // Create a normal window on primary display.
316 views::Widget* widget = new views::Widget; 316 views::Widget* widget = new views::Widget;
317 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 317 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
318 params.context = ash::Shell::GetPrimaryRootWindow(); 318 params.context = ash::Shell::GetPrimaryRootWindow();
319 widget->Init(params); 319 widget->Init(params);
320 widget->Show(); 320 widget->Show();
321 321
322 widget->SetFullscreen(true); 322 widget->SetFullscreen(true);
323 std::unique_ptr<LauncherContextMenu> primary_menu(CreateLauncherContextMenu( 323 std::unique_ptr<LauncherContextMenu> primary_menu(CreateLauncherContextMenu(
324 ash::TYPE_BROWSER_SHORTCUT, GetWmShelf(primary_id))); 324 ash::TYPE_BROWSER_SHORTCUT, GetShelf(primary_id)));
325 std::unique_ptr<LauncherContextMenu> secondary_menu(CreateLauncherContextMenu( 325 std::unique_ptr<LauncherContextMenu> secondary_menu(CreateLauncherContextMenu(
326 ash::TYPE_BROWSER_SHORTCUT, GetWmShelf(secondary_id))); 326 ash::TYPE_BROWSER_SHORTCUT, GetShelf(secondary_id)));
327 EXPECT_FALSE(IsItemPresentInMenu(primary_menu.get(), 327 EXPECT_FALSE(IsItemPresentInMenu(primary_menu.get(),
328 LauncherContextMenu::MENU_AUTO_HIDE)); 328 LauncherContextMenu::MENU_AUTO_HIDE));
329 EXPECT_TRUE(IsItemPresentInMenu(secondary_menu.get(), 329 EXPECT_TRUE(IsItemPresentInMenu(secondary_menu.get(),
330 LauncherContextMenu::MENU_AUTO_HIDE)); 330 LauncherContextMenu::MENU_AUTO_HIDE));
331 } 331 }
332 332
333 } // namespace 333 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698