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

Side by Side Diff: ash/accelerators/accelerator_controller_unittest.cc

Issue 727583002: Regression: Search+Key pops up app launcher (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ash/accelerators/accelerator_controller.h" 5 #include "ash/accelerators/accelerator_controller.h"
6 6
7 #include "ash/accelerators/accelerator_table.h" 7 #include "ash/accelerators/accelerator_table.h"
8 #include "ash/accessibility_delegate.h" 8 #include "ash/accessibility_delegate.h"
9 #include "ash/ash_switches.h" 9 #include "ash/ash_switches.h"
10 #include "ash/display/display_manager.h" 10 #include "ash/display/display_manager.h"
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
240 ~AcceleratorControllerTest() override {} 240 ~AcceleratorControllerTest() override {}
241 241
242 protected: 242 protected:
243 void EnableInternalDisplay() { 243 void EnableInternalDisplay() {
244 test::DisplayManagerTestApi(Shell::GetInstance()->display_manager()). 244 test::DisplayManagerTestApi(Shell::GetInstance()->display_manager()).
245 SetFirstDisplayAsInternalDisplay(); 245 SetFirstDisplayAsInternalDisplay();
246 } 246 }
247 247
248 static AcceleratorController* GetController(); 248 static AcceleratorController* GetController();
249 249
250 static bool ProcessInController(const ui::Accelerator& accelerator) {
251 GetController()->accelerator_history()->
252 StoreCurrentAccelerator(accelerator);
253 return GetController()->Process(accelerator);
254 }
255
256 static ui::Accelerator GetPreviousAccelerator() {
sky 2014/11/18 22:11:48 const ui::Accelerator& here and next one.
afakhry 2014/11/18 23:08:40 Done.
257 return GetController()->accelerator_history()->
258 GetPreviousAccelerator();
259 }
260
261 static ui::Accelerator GetCurrentAccelerator() {
262 return GetController()->accelerator_history()->
263 GetCurrentAccelerator();
264 }
265
250 // Several functions to access ExitWarningHandler (as friend). 266 // Several functions to access ExitWarningHandler (as friend).
251 static void StubForTest(ExitWarningHandler* ewh) { 267 static void StubForTest(ExitWarningHandler* ewh) {
252 ewh->stub_timer_for_test_ = true; 268 ewh->stub_timer_for_test_ = true;
253 } 269 }
254 static void Reset(ExitWarningHandler* ewh) { 270 static void Reset(ExitWarningHandler* ewh) {
255 ewh->state_ = ExitWarningHandler::IDLE; 271 ewh->state_ = ExitWarningHandler::IDLE;
256 } 272 }
257 static void SimulateTimerExpired(ExitWarningHandler* ewh) { 273 static void SimulateTimerExpired(ExitWarningHandler* ewh) {
258 ewh->TimerAction(); 274 ewh->TimerAction();
259 } 275 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 // Double press of exit shortcut => exiting 308 // Double press of exit shortcut => exiting
293 TEST_F(AcceleratorControllerTest, ExitWarningHandlerTestDoublePress) { 309 TEST_F(AcceleratorControllerTest, ExitWarningHandlerTestDoublePress) {
294 ui::Accelerator press(ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN); 310 ui::Accelerator press(ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN);
295 ui::Accelerator release(press); 311 ui::Accelerator release(press);
296 release.set_type(ui::ET_KEY_RELEASED); 312 release.set_type(ui::ET_KEY_RELEASED);
297 ExitWarningHandler* ewh = GetController()->GetExitWarningHandlerForTest(); 313 ExitWarningHandler* ewh = GetController()->GetExitWarningHandlerForTest();
298 ASSERT_TRUE(!!ewh); 314 ASSERT_TRUE(!!ewh);
299 StubForTest(ewh); 315 StubForTest(ewh);
300 EXPECT_TRUE(is_idle(ewh)); 316 EXPECT_TRUE(is_idle(ewh));
301 EXPECT_FALSE(is_ui_shown(ewh)); 317 EXPECT_FALSE(is_ui_shown(ewh));
302 EXPECT_TRUE(GetController()->Process(press)); 318 EXPECT_TRUE(ProcessInController(press));
303 EXPECT_FALSE(GetController()->Process(release)); 319 EXPECT_FALSE(ProcessInController(release));
304 EXPECT_FALSE(is_idle(ewh)); 320 EXPECT_FALSE(is_idle(ewh));
305 EXPECT_TRUE(is_ui_shown(ewh)); 321 EXPECT_TRUE(is_ui_shown(ewh));
306 EXPECT_TRUE(GetController()->Process(press)); // second press before timer. 322 EXPECT_TRUE(ProcessInController(press)); // second press before timer.
307 EXPECT_FALSE(GetController()->Process(release)); 323 EXPECT_FALSE(ProcessInController(release));
308 SimulateTimerExpired(ewh); 324 SimulateTimerExpired(ewh);
309 EXPECT_TRUE(is_exiting(ewh)); 325 EXPECT_TRUE(is_exiting(ewh));
310 EXPECT_FALSE(is_ui_shown(ewh)); 326 EXPECT_FALSE(is_ui_shown(ewh));
311 Reset(ewh); 327 Reset(ewh);
312 } 328 }
313 329
314 // Single press of exit shortcut before timer => idle 330 // Single press of exit shortcut before timer => idle
315 TEST_F(AcceleratorControllerTest, ExitWarningHandlerTestSinglePress) { 331 TEST_F(AcceleratorControllerTest, ExitWarningHandlerTestSinglePress) {
316 ui::Accelerator press(ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN); 332 ui::Accelerator press(ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN);
317 ui::Accelerator release(press); 333 ui::Accelerator release(press);
318 release.set_type(ui::ET_KEY_RELEASED); 334 release.set_type(ui::ET_KEY_RELEASED);
319 ExitWarningHandler* ewh = GetController()->GetExitWarningHandlerForTest(); 335 ExitWarningHandler* ewh = GetController()->GetExitWarningHandlerForTest();
320 ASSERT_TRUE(!!ewh); 336 ASSERT_TRUE(!!ewh);
321 StubForTest(ewh); 337 StubForTest(ewh);
322 EXPECT_TRUE(is_idle(ewh)); 338 EXPECT_TRUE(is_idle(ewh));
323 EXPECT_FALSE(is_ui_shown(ewh)); 339 EXPECT_FALSE(is_ui_shown(ewh));
324 EXPECT_TRUE(GetController()->Process(press)); 340 EXPECT_TRUE(ProcessInController(press));
325 EXPECT_FALSE(GetController()->Process(release)); 341 EXPECT_FALSE(ProcessInController(release));
326 EXPECT_FALSE(is_idle(ewh)); 342 EXPECT_FALSE(is_idle(ewh));
327 EXPECT_TRUE(is_ui_shown(ewh)); 343 EXPECT_TRUE(is_ui_shown(ewh));
328 SimulateTimerExpired(ewh); 344 SimulateTimerExpired(ewh);
329 EXPECT_TRUE(is_idle(ewh)); 345 EXPECT_TRUE(is_idle(ewh));
330 EXPECT_FALSE(is_ui_shown(ewh)); 346 EXPECT_FALSE(is_ui_shown(ewh));
331 Reset(ewh); 347 Reset(ewh);
332 } 348 }
333 349
334 // Shutdown ash with exit warning bubble open should not crash. 350 // Shutdown ash with exit warning bubble open should not crash.
335 TEST_F(AcceleratorControllerTest, LingeringExitWarningBubble) { 351 TEST_F(AcceleratorControllerTest, LingeringExitWarningBubble) {
336 ExitWarningHandler* ewh = GetController()->GetExitWarningHandlerForTest(); 352 ExitWarningHandler* ewh = GetController()->GetExitWarningHandlerForTest();
337 ASSERT_TRUE(!!ewh); 353 ASSERT_TRUE(!!ewh);
338 StubForTest(ewh); 354 StubForTest(ewh);
339 355
340 // Trigger once to show the bubble. 356 // Trigger once to show the bubble.
341 ewh->HandleAccelerator(); 357 ewh->HandleAccelerator();
342 EXPECT_FALSE(is_idle(ewh)); 358 EXPECT_FALSE(is_idle(ewh));
343 EXPECT_TRUE(is_ui_shown(ewh)); 359 EXPECT_TRUE(is_ui_shown(ewh));
344 360
345 // Exit ash and there should be no crash 361 // Exit ash and there should be no crash
346 } 362 }
347 #endif // !defined(OS_WIN) 363 #endif // !defined(OS_WIN)
348 364
349 TEST_F(AcceleratorControllerTest, Register) { 365 TEST_F(AcceleratorControllerTest, Register) {
350 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE); 366 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
351 TestTarget target; 367 TestTarget target;
352 GetController()->Register(accelerator_a, &target); 368 GetController()->Register(accelerator_a, &target);
353 369
354 // The registered accelerator is processed. 370 // The registered accelerator is processed.
355 EXPECT_TRUE(GetController()->Process(accelerator_a)); 371 EXPECT_TRUE(ProcessInController(accelerator_a));
356 EXPECT_EQ(1, target.accelerator_pressed_count()); 372 EXPECT_EQ(1, target.accelerator_pressed_count());
357 } 373 }
358 374
359 TEST_F(AcceleratorControllerTest, RegisterMultipleTarget) { 375 TEST_F(AcceleratorControllerTest, RegisterMultipleTarget) {
360 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE); 376 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
361 TestTarget target1; 377 TestTarget target1;
362 GetController()->Register(accelerator_a, &target1); 378 GetController()->Register(accelerator_a, &target1);
363 TestTarget target2; 379 TestTarget target2;
364 GetController()->Register(accelerator_a, &target2); 380 GetController()->Register(accelerator_a, &target2);
365 381
366 // If multiple targets are registered with the same accelerator, the target 382 // If multiple targets are registered with the same accelerator, the target
367 // registered later processes the accelerator. 383 // registered later processes the accelerator.
368 EXPECT_TRUE(GetController()->Process(accelerator_a)); 384 EXPECT_TRUE(ProcessInController(accelerator_a));
369 EXPECT_EQ(0, target1.accelerator_pressed_count()); 385 EXPECT_EQ(0, target1.accelerator_pressed_count());
370 EXPECT_EQ(1, target2.accelerator_pressed_count()); 386 EXPECT_EQ(1, target2.accelerator_pressed_count());
371 } 387 }
372 388
373 TEST_F(AcceleratorControllerTest, Unregister) { 389 TEST_F(AcceleratorControllerTest, Unregister) {
374 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE); 390 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
375 TestTarget target; 391 TestTarget target;
376 GetController()->Register(accelerator_a, &target); 392 GetController()->Register(accelerator_a, &target);
377 const ui::Accelerator accelerator_b(ui::VKEY_B, ui::EF_NONE); 393 const ui::Accelerator accelerator_b(ui::VKEY_B, ui::EF_NONE);
378 GetController()->Register(accelerator_b, &target); 394 GetController()->Register(accelerator_b, &target);
379 395
380 // Unregistering a different accelerator does not affect the other 396 // Unregistering a different accelerator does not affect the other
381 // accelerator. 397 // accelerator.
382 GetController()->Unregister(accelerator_b, &target); 398 GetController()->Unregister(accelerator_b, &target);
383 EXPECT_TRUE(GetController()->Process(accelerator_a)); 399 EXPECT_TRUE(ProcessInController(accelerator_a));
384 EXPECT_EQ(1, target.accelerator_pressed_count()); 400 EXPECT_EQ(1, target.accelerator_pressed_count());
385 401
386 // The unregistered accelerator is no longer processed. 402 // The unregistered accelerator is no longer processed.
387 target.reset(); 403 target.reset();
388 GetController()->Unregister(accelerator_a, &target); 404 GetController()->Unregister(accelerator_a, &target);
389 EXPECT_FALSE(GetController()->Process(accelerator_a)); 405 EXPECT_FALSE(ProcessInController(accelerator_a));
390 EXPECT_EQ(0, target.accelerator_pressed_count()); 406 EXPECT_EQ(0, target.accelerator_pressed_count());
391 } 407 }
392 408
393 TEST_F(AcceleratorControllerTest, UnregisterAll) { 409 TEST_F(AcceleratorControllerTest, UnregisterAll) {
394 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE); 410 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
395 TestTarget target1; 411 TestTarget target1;
396 GetController()->Register(accelerator_a, &target1); 412 GetController()->Register(accelerator_a, &target1);
397 const ui::Accelerator accelerator_b(ui::VKEY_B, ui::EF_NONE); 413 const ui::Accelerator accelerator_b(ui::VKEY_B, ui::EF_NONE);
398 GetController()->Register(accelerator_b, &target1); 414 GetController()->Register(accelerator_b, &target1);
399 const ui::Accelerator accelerator_c(ui::VKEY_C, ui::EF_NONE); 415 const ui::Accelerator accelerator_c(ui::VKEY_C, ui::EF_NONE);
400 TestTarget target2; 416 TestTarget target2;
401 GetController()->Register(accelerator_c, &target2); 417 GetController()->Register(accelerator_c, &target2);
402 GetController()->UnregisterAll(&target1); 418 GetController()->UnregisterAll(&target1);
403 419
404 // All the accelerators registered for |target1| are no longer processed. 420 // All the accelerators registered for |target1| are no longer processed.
405 EXPECT_FALSE(GetController()->Process(accelerator_a)); 421 EXPECT_FALSE(ProcessInController(accelerator_a));
406 EXPECT_FALSE(GetController()->Process(accelerator_b)); 422 EXPECT_FALSE(ProcessInController(accelerator_b));
407 EXPECT_EQ(0, target1.accelerator_pressed_count()); 423 EXPECT_EQ(0, target1.accelerator_pressed_count());
408 424
409 // UnregisterAll with a different target does not affect the other target. 425 // UnregisterAll with a different target does not affect the other target.
410 EXPECT_TRUE(GetController()->Process(accelerator_c)); 426 EXPECT_TRUE(ProcessInController(accelerator_c));
411 EXPECT_EQ(1, target2.accelerator_pressed_count()); 427 EXPECT_EQ(1, target2.accelerator_pressed_count());
412 } 428 }
413 429
414 TEST_F(AcceleratorControllerTest, Process) { 430 TEST_F(AcceleratorControllerTest, Process) {
415 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE); 431 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
416 TestTarget target1; 432 TestTarget target1;
417 GetController()->Register(accelerator_a, &target1); 433 GetController()->Register(accelerator_a, &target1);
418 434
419 // The registered accelerator is processed. 435 // The registered accelerator is processed.
420 EXPECT_TRUE(GetController()->Process(accelerator_a)); 436 EXPECT_TRUE(ProcessInController(accelerator_a));
421 EXPECT_EQ(1, target1.accelerator_pressed_count()); 437 EXPECT_EQ(1, target1.accelerator_pressed_count());
422 438
423 // The non-registered accelerator is not processed. 439 // The non-registered accelerator is not processed.
424 const ui::Accelerator accelerator_b(ui::VKEY_B, ui::EF_NONE); 440 const ui::Accelerator accelerator_b(ui::VKEY_B, ui::EF_NONE);
425 EXPECT_FALSE(GetController()->Process(accelerator_b)); 441 EXPECT_FALSE(ProcessInController(accelerator_b));
426 } 442 }
427 443
428 TEST_F(AcceleratorControllerTest, IsRegistered) { 444 TEST_F(AcceleratorControllerTest, IsRegistered) {
429 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE); 445 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
430 const ui::Accelerator accelerator_shift_a(ui::VKEY_A, ui::EF_SHIFT_DOWN); 446 const ui::Accelerator accelerator_shift_a(ui::VKEY_A, ui::EF_SHIFT_DOWN);
431 TestTarget target; 447 TestTarget target;
432 GetController()->Register(accelerator_a, &target); 448 GetController()->Register(accelerator_a, &target);
433 EXPECT_TRUE(GetController()->IsRegistered(accelerator_a)); 449 EXPECT_TRUE(GetController()->IsRegistered(accelerator_a));
434 EXPECT_FALSE(GetController()->IsRegistered(accelerator_shift_a)); 450 EXPECT_FALSE(GetController()->IsRegistered(accelerator_shift_a));
435 GetController()->UnregisterAll(&target); 451 GetController()->UnregisterAll(&target);
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 EXPECT_EQ(4, target_a.accelerator_pressed_count()); 733 EXPECT_EQ(4, target_a.accelerator_pressed_count());
718 EXPECT_EQ(4, target_a.accelerator_repeat_count()); 734 EXPECT_EQ(4, target_a.accelerator_repeat_count());
719 } 735 }
720 736
721 TEST_F(AcceleratorControllerTest, Previous) { 737 TEST_F(AcceleratorControllerTest, Previous) {
722 ui::test::EventGenerator& generator = GetEventGenerator(); 738 ui::test::EventGenerator& generator = GetEventGenerator();
723 generator.PressKey(ui::VKEY_VOLUME_MUTE, ui::EF_NONE); 739 generator.PressKey(ui::VKEY_VOLUME_MUTE, ui::EF_NONE);
724 generator.ReleaseKey(ui::VKEY_VOLUME_MUTE, ui::EF_NONE); 740 generator.ReleaseKey(ui::VKEY_VOLUME_MUTE, ui::EF_NONE);
725 741
726 EXPECT_EQ(ui::VKEY_VOLUME_MUTE, 742 EXPECT_EQ(ui::VKEY_VOLUME_MUTE,
727 GetController()->previous_accelerator_for_test().key_code()); 743 GetPreviousAccelerator().key_code());
728 EXPECT_EQ(ui::EF_NONE, 744 EXPECT_EQ(ui::EF_NONE,
729 GetController()->previous_accelerator_for_test().modifiers()); 745 GetPreviousAccelerator().modifiers());
730 746
731 generator.PressKey(ui::VKEY_TAB, ui::EF_CONTROL_DOWN); 747 generator.PressKey(ui::VKEY_TAB, ui::EF_CONTROL_DOWN);
732 generator.ReleaseKey(ui::VKEY_TAB, ui::EF_CONTROL_DOWN); 748 generator.ReleaseKey(ui::VKEY_TAB, ui::EF_CONTROL_DOWN);
733 749
734 EXPECT_EQ(ui::VKEY_TAB, 750 EXPECT_EQ(ui::VKEY_TAB,
735 GetController()->previous_accelerator_for_test().key_code()); 751 GetPreviousAccelerator().key_code());
736 EXPECT_EQ(ui::EF_CONTROL_DOWN, 752 EXPECT_EQ(ui::EF_CONTROL_DOWN,
737 GetController()->previous_accelerator_for_test().modifiers()); 753 GetPreviousAccelerator().modifiers());
738 } 754 }
739 755
740 TEST_F(AcceleratorControllerTest, DontRepeatToggleFullscreen) { 756 TEST_F(AcceleratorControllerTest, DontRepeatToggleFullscreen) {
741 const AcceleratorData accelerators[] = { 757 const AcceleratorData accelerators[] = {
742 {true, ui::VKEY_J, ui::EF_ALT_DOWN, TOGGLE_FULLSCREEN}, 758 {true, ui::VKEY_J, ui::EF_ALT_DOWN, TOGGLE_FULLSCREEN},
743 {true, ui::VKEY_K, ui::EF_ALT_DOWN, TOGGLE_FULLSCREEN}, 759 {true, ui::VKEY_K, ui::EF_ALT_DOWN, TOGGLE_FULLSCREEN},
744 }; 760 };
745 GetController()->RegisterAccelerators(accelerators, arraysize(accelerators)); 761 GetController()->RegisterAccelerators(accelerators, arraysize(accelerators));
746 762
747 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW); 763 views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 key_event3.SetTranslated(true); 838 key_event3.SetTranslated(true);
823 details = dispatcher->OnEventFromSource(&key_event3); 839 details = dispatcher->OnEventFromSource(&key_event3);
824 EXPECT_FALSE(key_event3.handled() || details.dispatcher_destroyed); 840 EXPECT_FALSE(key_event3.handled() || details.dispatcher_destroyed);
825 #endif 841 #endif
826 EXPECT_EQ(1, target.accelerator_pressed_count()); 842 EXPECT_EQ(1, target.accelerator_pressed_count());
827 } 843 }
828 #endif 844 #endif
829 845
830 TEST_F(AcceleratorControllerTest, GlobalAccelerators) { 846 TEST_F(AcceleratorControllerTest, GlobalAccelerators) {
831 // CycleBackward 847 // CycleBackward
832 EXPECT_TRUE(GetController()->Process( 848 EXPECT_TRUE(ProcessInController(
833 ui::Accelerator(ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN))); 849 ui::Accelerator(ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN)));
834 // CycleForward 850 // CycleForward
835 EXPECT_TRUE( 851 EXPECT_TRUE(
836 GetController()->Process(ui::Accelerator(ui::VKEY_TAB, ui::EF_ALT_DOWN))); 852 ProcessInController(ui::Accelerator(
853 ui::VKEY_TAB, ui::EF_ALT_DOWN)));
837 // CycleLinear 854 // CycleLinear
838 EXPECT_TRUE(GetController()->Process( 855 EXPECT_TRUE(ProcessInController(
839 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE))); 856 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_NONE)));
840 857
841 #if defined(OS_CHROMEOS) 858 #if defined(OS_CHROMEOS)
842 // Take screenshot / partial screenshot 859 // Take screenshot / partial screenshot
843 // True should always be returned regardless of the existence of the delegate. 860 // True should always be returned regardless of the existence of the delegate.
844 { 861 {
845 test::TestScreenshotDelegate* delegate = GetScreenshotDelegate(); 862 test::TestScreenshotDelegate* delegate = GetScreenshotDelegate();
846 delegate->set_can_take_screenshot(false); 863 delegate->set_can_take_screenshot(false);
847 EXPECT_TRUE(GetController()->Process( 864 EXPECT_TRUE(ProcessInController(
848 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN))); 865 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN)));
849 EXPECT_TRUE( 866 EXPECT_TRUE(
850 GetController()->Process(ui::Accelerator(ui::VKEY_PRINT, ui::EF_NONE))); 867 ProcessInController(ui::Accelerator(
851 EXPECT_TRUE(GetController()->Process(ui::Accelerator( 868 ui::VKEY_PRINT, ui::EF_NONE)));
869 EXPECT_TRUE(ProcessInController(ui::Accelerator(
852 ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 870 ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
853 871
854 delegate->set_can_take_screenshot(true); 872 delegate->set_can_take_screenshot(true);
855 EXPECT_EQ(0, delegate->handle_take_screenshot_count()); 873 EXPECT_EQ(0, delegate->handle_take_screenshot_count());
856 EXPECT_TRUE(GetController()->Process( 874 EXPECT_TRUE(ProcessInController(
857 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN))); 875 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN)));
858 EXPECT_EQ(1, delegate->handle_take_screenshot_count()); 876 EXPECT_EQ(1, delegate->handle_take_screenshot_count());
859 EXPECT_TRUE( 877 EXPECT_TRUE(
860 GetController()->Process(ui::Accelerator(ui::VKEY_PRINT, ui::EF_NONE))); 878 ProcessInController(ui::Accelerator(
879 ui::VKEY_PRINT, ui::EF_NONE)));
861 EXPECT_EQ(2, delegate->handle_take_screenshot_count()); 880 EXPECT_EQ(2, delegate->handle_take_screenshot_count());
862 EXPECT_TRUE(GetController()->Process(ui::Accelerator( 881 EXPECT_TRUE(ProcessInController(ui::Accelerator(
863 ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 882 ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
864 EXPECT_EQ(2, delegate->handle_take_screenshot_count()); 883 EXPECT_EQ(2, delegate->handle_take_screenshot_count());
865 } 884 }
866 #endif 885 #endif
867 const ui::Accelerator volume_mute(ui::VKEY_VOLUME_MUTE, ui::EF_NONE); 886 const ui::Accelerator volume_mute(ui::VKEY_VOLUME_MUTE, ui::EF_NONE);
868 const ui::Accelerator volume_down(ui::VKEY_VOLUME_DOWN, ui::EF_NONE); 887 const ui::Accelerator volume_down(ui::VKEY_VOLUME_DOWN, ui::EF_NONE);
869 const ui::Accelerator volume_up(ui::VKEY_VOLUME_UP, ui::EF_NONE); 888 const ui::Accelerator volume_up(ui::VKEY_VOLUME_UP, ui::EF_NONE);
870 { 889 {
871 TestVolumeControlDelegate* delegate = 890 TestVolumeControlDelegate* delegate =
872 new TestVolumeControlDelegate(false); 891 new TestVolumeControlDelegate(false);
873 ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate( 892 ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate(
874 scoped_ptr<VolumeControlDelegate>(delegate).Pass()); 893 scoped_ptr<VolumeControlDelegate>(delegate).Pass());
875 EXPECT_EQ(0, delegate->handle_volume_mute_count()); 894 EXPECT_EQ(0, delegate->handle_volume_mute_count());
876 EXPECT_FALSE(GetController()->Process(volume_mute)); 895 EXPECT_FALSE(ProcessInController(volume_mute));
877 EXPECT_EQ(1, delegate->handle_volume_mute_count()); 896 EXPECT_EQ(1, delegate->handle_volume_mute_count());
878 EXPECT_EQ(volume_mute, delegate->last_accelerator()); 897 EXPECT_EQ(volume_mute, delegate->last_accelerator());
879 EXPECT_EQ(0, delegate->handle_volume_down_count()); 898 EXPECT_EQ(0, delegate->handle_volume_down_count());
880 EXPECT_FALSE(GetController()->Process(volume_down)); 899 EXPECT_FALSE(ProcessInController(volume_down));
881 EXPECT_EQ(1, delegate->handle_volume_down_count()); 900 EXPECT_EQ(1, delegate->handle_volume_down_count());
882 EXPECT_EQ(volume_down, delegate->last_accelerator()); 901 EXPECT_EQ(volume_down, delegate->last_accelerator());
883 EXPECT_EQ(0, delegate->handle_volume_up_count()); 902 EXPECT_EQ(0, delegate->handle_volume_up_count());
884 EXPECT_FALSE(GetController()->Process(volume_up)); 903 EXPECT_FALSE(ProcessInController(volume_up));
885 EXPECT_EQ(1, delegate->handle_volume_up_count()); 904 EXPECT_EQ(1, delegate->handle_volume_up_count());
886 EXPECT_EQ(volume_up, delegate->last_accelerator()); 905 EXPECT_EQ(volume_up, delegate->last_accelerator());
887 } 906 }
888 { 907 {
889 TestVolumeControlDelegate* delegate = new TestVolumeControlDelegate(true); 908 TestVolumeControlDelegate* delegate = new TestVolumeControlDelegate(true);
890 ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate( 909 ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate(
891 scoped_ptr<VolumeControlDelegate>(delegate).Pass()); 910 scoped_ptr<VolumeControlDelegate>(delegate).Pass());
892 EXPECT_EQ(0, delegate->handle_volume_mute_count()); 911 EXPECT_EQ(0, delegate->handle_volume_mute_count());
893 EXPECT_TRUE(GetController()->Process(volume_mute)); 912 EXPECT_TRUE(ProcessInController(volume_mute));
894 EXPECT_EQ(1, delegate->handle_volume_mute_count()); 913 EXPECT_EQ(1, delegate->handle_volume_mute_count());
895 EXPECT_EQ(volume_mute, delegate->last_accelerator()); 914 EXPECT_EQ(volume_mute, delegate->last_accelerator());
896 EXPECT_EQ(0, delegate->handle_volume_down_count()); 915 EXPECT_EQ(0, delegate->handle_volume_down_count());
897 EXPECT_TRUE(GetController()->Process(volume_down)); 916 EXPECT_TRUE(ProcessInController(volume_down));
898 EXPECT_EQ(1, delegate->handle_volume_down_count()); 917 EXPECT_EQ(1, delegate->handle_volume_down_count());
899 EXPECT_EQ(volume_down, delegate->last_accelerator()); 918 EXPECT_EQ(volume_down, delegate->last_accelerator());
900 EXPECT_EQ(0, delegate->handle_volume_up_count()); 919 EXPECT_EQ(0, delegate->handle_volume_up_count());
901 EXPECT_TRUE(GetController()->Process(volume_up)); 920 EXPECT_TRUE(ProcessInController(volume_up));
902 EXPECT_EQ(1, delegate->handle_volume_up_count()); 921 EXPECT_EQ(1, delegate->handle_volume_up_count());
903 EXPECT_EQ(volume_up, delegate->last_accelerator()); 922 EXPECT_EQ(volume_up, delegate->last_accelerator());
904 } 923 }
905 #if defined(OS_CHROMEOS) 924 #if defined(OS_CHROMEOS)
906 // Brightness 925 // Brightness
907 // ui::VKEY_BRIGHTNESS_DOWN/UP are not defined on Windows. 926 // ui::VKEY_BRIGHTNESS_DOWN/UP are not defined on Windows.
908 const ui::Accelerator brightness_down(ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE); 927 const ui::Accelerator brightness_down(ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE);
909 const ui::Accelerator brightness_up(ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE); 928 const ui::Accelerator brightness_up(ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE);
910 { 929 {
911 DummyBrightnessControlDelegate* delegate = 930 DummyBrightnessControlDelegate* delegate =
912 new DummyBrightnessControlDelegate(false); 931 new DummyBrightnessControlDelegate(false);
913 GetController()->SetBrightnessControlDelegate( 932 GetController()->SetBrightnessControlDelegate(
914 scoped_ptr<BrightnessControlDelegate>(delegate).Pass()); 933 scoped_ptr<BrightnessControlDelegate>(delegate).Pass());
915 EXPECT_EQ(0, delegate->handle_brightness_down_count()); 934 EXPECT_EQ(0, delegate->handle_brightness_down_count());
916 EXPECT_FALSE(GetController()->Process(brightness_down)); 935 EXPECT_FALSE(ProcessInController(brightness_down));
917 EXPECT_EQ(1, delegate->handle_brightness_down_count()); 936 EXPECT_EQ(1, delegate->handle_brightness_down_count());
918 EXPECT_EQ(brightness_down, delegate->last_accelerator()); 937 EXPECT_EQ(brightness_down, delegate->last_accelerator());
919 EXPECT_EQ(0, delegate->handle_brightness_up_count()); 938 EXPECT_EQ(0, delegate->handle_brightness_up_count());
920 EXPECT_FALSE(GetController()->Process(brightness_up)); 939 EXPECT_FALSE(ProcessInController(brightness_up));
921 EXPECT_EQ(1, delegate->handle_brightness_up_count()); 940 EXPECT_EQ(1, delegate->handle_brightness_up_count());
922 EXPECT_EQ(brightness_up, delegate->last_accelerator()); 941 EXPECT_EQ(brightness_up, delegate->last_accelerator());
923 } 942 }
924 { 943 {
925 DummyBrightnessControlDelegate* delegate = 944 DummyBrightnessControlDelegate* delegate =
926 new DummyBrightnessControlDelegate(true); 945 new DummyBrightnessControlDelegate(true);
927 GetController()->SetBrightnessControlDelegate( 946 GetController()->SetBrightnessControlDelegate(
928 scoped_ptr<BrightnessControlDelegate>(delegate).Pass()); 947 scoped_ptr<BrightnessControlDelegate>(delegate).Pass());
929 EXPECT_EQ(0, delegate->handle_brightness_down_count()); 948 EXPECT_EQ(0, delegate->handle_brightness_down_count());
930 EXPECT_TRUE(GetController()->Process(brightness_down)); 949 EXPECT_TRUE(ProcessInController(brightness_down));
931 EXPECT_EQ(1, delegate->handle_brightness_down_count()); 950 EXPECT_EQ(1, delegate->handle_brightness_down_count());
932 EXPECT_EQ(brightness_down, delegate->last_accelerator()); 951 EXPECT_EQ(brightness_down, delegate->last_accelerator());
933 EXPECT_EQ(0, delegate->handle_brightness_up_count()); 952 EXPECT_EQ(0, delegate->handle_brightness_up_count());
934 EXPECT_TRUE(GetController()->Process(brightness_up)); 953 EXPECT_TRUE(ProcessInController(brightness_up));
935 EXPECT_EQ(1, delegate->handle_brightness_up_count()); 954 EXPECT_EQ(1, delegate->handle_brightness_up_count());
936 EXPECT_EQ(brightness_up, delegate->last_accelerator()); 955 EXPECT_EQ(brightness_up, delegate->last_accelerator());
937 } 956 }
938 957
939 // Keyboard brightness 958 // Keyboard brightness
940 const ui::Accelerator alt_brightness_down(ui::VKEY_BRIGHTNESS_DOWN, 959 const ui::Accelerator alt_brightness_down(ui::VKEY_BRIGHTNESS_DOWN,
941 ui::EF_ALT_DOWN); 960 ui::EF_ALT_DOWN);
942 const ui::Accelerator alt_brightness_up(ui::VKEY_BRIGHTNESS_UP, 961 const ui::Accelerator alt_brightness_up(ui::VKEY_BRIGHTNESS_UP,
943 ui::EF_ALT_DOWN); 962 ui::EF_ALT_DOWN);
944 { 963 {
945 EXPECT_TRUE(GetController()->Process(alt_brightness_down)); 964 EXPECT_TRUE(ProcessInController(alt_brightness_down));
946 EXPECT_TRUE(GetController()->Process(alt_brightness_up)); 965 EXPECT_TRUE(ProcessInController(alt_brightness_up));
947 DummyKeyboardBrightnessControlDelegate* delegate = 966 DummyKeyboardBrightnessControlDelegate* delegate =
948 new DummyKeyboardBrightnessControlDelegate(false); 967 new DummyKeyboardBrightnessControlDelegate(false);
949 GetController()->SetKeyboardBrightnessControlDelegate( 968 GetController()->SetKeyboardBrightnessControlDelegate(
950 scoped_ptr<KeyboardBrightnessControlDelegate>(delegate).Pass()); 969 scoped_ptr<KeyboardBrightnessControlDelegate>(delegate).Pass());
951 EXPECT_EQ(0, delegate->handle_keyboard_brightness_down_count()); 970 EXPECT_EQ(0, delegate->handle_keyboard_brightness_down_count());
952 EXPECT_FALSE(GetController()->Process(alt_brightness_down)); 971 EXPECT_FALSE(ProcessInController(alt_brightness_down));
953 EXPECT_EQ(1, delegate->handle_keyboard_brightness_down_count()); 972 EXPECT_EQ(1, delegate->handle_keyboard_brightness_down_count());
954 EXPECT_EQ(alt_brightness_down, delegate->last_accelerator()); 973 EXPECT_EQ(alt_brightness_down, delegate->last_accelerator());
955 EXPECT_EQ(0, delegate->handle_keyboard_brightness_up_count()); 974 EXPECT_EQ(0, delegate->handle_keyboard_brightness_up_count());
956 EXPECT_FALSE(GetController()->Process(alt_brightness_up)); 975 EXPECT_FALSE(ProcessInController(alt_brightness_up));
957 EXPECT_EQ(1, delegate->handle_keyboard_brightness_up_count()); 976 EXPECT_EQ(1, delegate->handle_keyboard_brightness_up_count());
958 EXPECT_EQ(alt_brightness_up, delegate->last_accelerator()); 977 EXPECT_EQ(alt_brightness_up, delegate->last_accelerator());
959 } 978 }
960 { 979 {
961 DummyKeyboardBrightnessControlDelegate* delegate = 980 DummyKeyboardBrightnessControlDelegate* delegate =
962 new DummyKeyboardBrightnessControlDelegate(true); 981 new DummyKeyboardBrightnessControlDelegate(true);
963 GetController()->SetKeyboardBrightnessControlDelegate( 982 GetController()->SetKeyboardBrightnessControlDelegate(
964 scoped_ptr<KeyboardBrightnessControlDelegate>(delegate).Pass()); 983 scoped_ptr<KeyboardBrightnessControlDelegate>(delegate).Pass());
965 EXPECT_EQ(0, delegate->handle_keyboard_brightness_down_count()); 984 EXPECT_EQ(0, delegate->handle_keyboard_brightness_down_count());
966 EXPECT_TRUE(GetController()->Process(alt_brightness_down)); 985 EXPECT_TRUE(ProcessInController(alt_brightness_down));
967 EXPECT_EQ(1, delegate->handle_keyboard_brightness_down_count()); 986 EXPECT_EQ(1, delegate->handle_keyboard_brightness_down_count());
968 EXPECT_EQ(alt_brightness_down, delegate->last_accelerator()); 987 EXPECT_EQ(alt_brightness_down, delegate->last_accelerator());
969 EXPECT_EQ(0, delegate->handle_keyboard_brightness_up_count()); 988 EXPECT_EQ(0, delegate->handle_keyboard_brightness_up_count());
970 EXPECT_TRUE(GetController()->Process(alt_brightness_up)); 989 EXPECT_TRUE(ProcessInController(alt_brightness_up));
971 EXPECT_EQ(1, delegate->handle_keyboard_brightness_up_count()); 990 EXPECT_EQ(1, delegate->handle_keyboard_brightness_up_count());
972 EXPECT_EQ(alt_brightness_up, delegate->last_accelerator()); 991 EXPECT_EQ(alt_brightness_up, delegate->last_accelerator());
973 } 992 }
974 #endif 993 #endif
975 994
976 #if !defined(OS_WIN) 995 #if !defined(OS_WIN)
977 // Exit 996 // Exit
978 ExitWarningHandler* ewh = GetController()->GetExitWarningHandlerForTest(); 997 ExitWarningHandler* ewh = GetController()->GetExitWarningHandlerForTest();
979 ASSERT_TRUE(!!ewh); 998 ASSERT_TRUE(!!ewh);
980 StubForTest(ewh); 999 StubForTest(ewh);
981 EXPECT_TRUE(is_idle(ewh)); 1000 EXPECT_TRUE(is_idle(ewh));
982 EXPECT_FALSE(is_ui_shown(ewh)); 1001 EXPECT_FALSE(is_ui_shown(ewh));
983 EXPECT_TRUE(GetController()->Process( 1002 EXPECT_TRUE(ProcessInController(
984 ui::Accelerator(ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 1003 ui::Accelerator(ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
985 EXPECT_FALSE(is_idle(ewh)); 1004 EXPECT_FALSE(is_idle(ewh));
986 EXPECT_TRUE(is_ui_shown(ewh)); 1005 EXPECT_TRUE(is_ui_shown(ewh));
987 SimulateTimerExpired(ewh); 1006 SimulateTimerExpired(ewh);
988 EXPECT_TRUE(is_idle(ewh)); 1007 EXPECT_TRUE(is_idle(ewh));
989 EXPECT_FALSE(is_ui_shown(ewh)); 1008 EXPECT_FALSE(is_ui_shown(ewh));
990 Reset(ewh); 1009 Reset(ewh);
991 #endif 1010 #endif
992 1011
993 // New tab 1012 // New tab
994 EXPECT_TRUE(GetController()->Process( 1013 EXPECT_TRUE(ProcessInController(
995 ui::Accelerator(ui::VKEY_T, ui::EF_CONTROL_DOWN))); 1014 ui::Accelerator(ui::VKEY_T, ui::EF_CONTROL_DOWN)));
996 1015
997 // New incognito window 1016 // New incognito window
998 EXPECT_TRUE(GetController()->Process( 1017 EXPECT_TRUE(ProcessInController(
999 ui::Accelerator(ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 1018 ui::Accelerator(ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
1000 1019
1001 // New window 1020 // New window
1002 EXPECT_TRUE(GetController()->Process( 1021 EXPECT_TRUE(ProcessInController(
1003 ui::Accelerator(ui::VKEY_N, ui::EF_CONTROL_DOWN))); 1022 ui::Accelerator(ui::VKEY_N, ui::EF_CONTROL_DOWN)));
1004 1023
1005 // Restore tab 1024 // Restore tab
1006 EXPECT_TRUE(GetController()->Process( 1025 EXPECT_TRUE(ProcessInController(
1007 ui::Accelerator(ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 1026 ui::Accelerator(ui::VKEY_T, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
1008 1027
1009 // Show task manager 1028 // Show task manager
1010 EXPECT_TRUE(GetController()->Process( 1029 EXPECT_TRUE(ProcessInController(
1011 ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN))); 1030 ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_SHIFT_DOWN)));
1012 1031
1013 #if defined(OS_CHROMEOS) 1032 #if defined(OS_CHROMEOS)
1014 // Open file manager 1033 // Open file manager
1015 EXPECT_TRUE(GetController()->Process( 1034 EXPECT_TRUE(ProcessInController(
1016 ui::Accelerator(ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN))); 1035 ui::Accelerator(ui::VKEY_M, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN)));
1017 1036
1018 // Lock screen 1037 // Lock screen
1019 // NOTE: Accelerators that do not work on the lock screen need to be 1038 // NOTE: Accelerators that do not work on the lock screen need to be
1020 // tested before the sequence below is invoked because it causes a side 1039 // tested before the sequence below is invoked because it causes a side
1021 // effect of locking the screen. 1040 // effect of locking the screen.
1022 EXPECT_TRUE(GetController()->Process( 1041 EXPECT_TRUE(ProcessInController(
1023 ui::Accelerator(ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 1042 ui::Accelerator(ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
1024 #endif 1043 #endif
1025 } 1044 }
1026 1045
1027 TEST_F(AcceleratorControllerTest, GlobalAcceleratorsToggleAppList) { 1046 TEST_F(AcceleratorControllerTest, GlobalAcceleratorsToggleAppList) {
1028 AccessibilityDelegate* delegate = 1047 AccessibilityDelegate* delegate =
1029 ash::Shell::GetInstance()->accessibility_delegate(); 1048 ash::Shell::GetInstance()->accessibility_delegate();
1030 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility()); 1049 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1031 1050
1032 // The press event should not open the AppList, the release should instead. 1051 // The press event should not open the AppList, the release should instead.
1033 EXPECT_FALSE( 1052 EXPECT_FALSE(
1034 GetController()->Process(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE))); 1053 ProcessInController(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1035 EXPECT_EQ(ui::VKEY_LWIN, 1054 EXPECT_EQ(ui::VKEY_LWIN,
1036 GetController()->previous_accelerator_for_test().key_code()); 1055 GetCurrentAccelerator().key_code());
1056
1057 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1037 1058
1038 EXPECT_TRUE( 1059 EXPECT_TRUE(
1039 GetController()->Process(ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE))); 1060 ProcessInController(ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1040 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility()); 1061 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1041 1062
1063 EXPECT_EQ(ui::VKEY_LWIN,
1064 GetPreviousAccelerator().key_code());
1065
1042 // When spoken feedback is on, the AppList should not toggle. 1066 // When spoken feedback is on, the AppList should not toggle.
1043 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE); 1067 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE);
1044 EXPECT_FALSE( 1068 EXPECT_FALSE(
1045 GetController()->Process(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE))); 1069 ProcessInController(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1046 EXPECT_FALSE( 1070 EXPECT_FALSE(
1047 GetController()->Process(ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE))); 1071 ProcessInController(ReleaseAccelerator(
1072 ui::VKEY_LWIN, ui::EF_NONE)));
1048 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE); 1073 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE);
1049 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility()); 1074 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1050 1075
1051 EXPECT_FALSE( 1076 EXPECT_FALSE(
1052 GetController()->Process(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE))); 1077 ProcessInController(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1053 EXPECT_TRUE( 1078 EXPECT_TRUE(
1054 GetController()->Process(ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE))); 1079 ProcessInController(ReleaseAccelerator(
1080 ui::VKEY_LWIN, ui::EF_NONE)));
1055 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility()); 1081 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1056 1082
1057 // When spoken feedback is on, the AppList should not toggle. 1083 // When spoken feedback is on, the AppList should not toggle.
1058 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE); 1084 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE);
1059 EXPECT_FALSE( 1085 EXPECT_FALSE(
1060 GetController()->Process(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE))); 1086 ProcessInController(ui::Accelerator(ui::VKEY_LWIN, ui::EF_NONE)));
1061 EXPECT_FALSE( 1087 EXPECT_FALSE(
1062 GetController()->Process(ReleaseAccelerator(ui::VKEY_LWIN, ui::EF_NONE))); 1088 ProcessInController(ReleaseAccelerator(
1089 ui::VKEY_LWIN, ui::EF_NONE)));
1063 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE); 1090 delegate->ToggleSpokenFeedback(ui::A11Y_NOTIFICATION_NONE);
1064 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility()); 1091 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1092
1093 // The press of VKEY_BROWSER_SEARCH should toggle the AppList
1094 EXPECT_TRUE(ProcessInController(ui::Accelerator(ui::VKEY_BROWSER_SEARCH,
1095 ui::EF_NONE)));
1096 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1097 EXPECT_FALSE(ProcessInController(ReleaseAccelerator(ui::VKEY_BROWSER_SEARCH,
1098 ui::EF_NONE)));
1099 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
1065 } 1100 }
1066 1101
1067 TEST_F(AcceleratorControllerTest, ImeGlobalAccelerators) { 1102 TEST_F(AcceleratorControllerTest, ImeGlobalAccelerators) {
1068 // Test IME shortcuts. 1103 // Test IME shortcuts.
1069 { 1104 {
1070 const ui::Accelerator control_space(ui::VKEY_SPACE, ui::EF_CONTROL_DOWN); 1105 const ui::Accelerator control_space(ui::VKEY_SPACE, ui::EF_CONTROL_DOWN);
1071 const ui::Accelerator convert(ui::VKEY_CONVERT, ui::EF_NONE); 1106 const ui::Accelerator convert(ui::VKEY_CONVERT, ui::EF_NONE);
1072 const ui::Accelerator non_convert(ui::VKEY_NONCONVERT, ui::EF_NONE); 1107 const ui::Accelerator non_convert(ui::VKEY_NONCONVERT, ui::EF_NONE);
1073 const ui::Accelerator wide_half_1(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE); 1108 const ui::Accelerator wide_half_1(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE);
1074 const ui::Accelerator wide_half_2(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE); 1109 const ui::Accelerator wide_half_2(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE);
1075 const ui::Accelerator hangul(ui::VKEY_HANGUL, ui::EF_NONE); 1110 const ui::Accelerator hangul(ui::VKEY_HANGUL, ui::EF_NONE);
1076 EXPECT_FALSE(GetController()->Process(control_space)); 1111 EXPECT_FALSE(ProcessInController(control_space));
1077 EXPECT_FALSE(GetController()->Process(convert)); 1112 EXPECT_FALSE(ProcessInController(convert));
1078 EXPECT_FALSE(GetController()->Process(non_convert)); 1113 EXPECT_FALSE(ProcessInController(non_convert));
1079 EXPECT_FALSE(GetController()->Process(wide_half_1)); 1114 EXPECT_FALSE(ProcessInController(wide_half_1));
1080 EXPECT_FALSE(GetController()->Process(wide_half_2)); 1115 EXPECT_FALSE(ProcessInController(wide_half_2));
1081 EXPECT_FALSE(GetController()->Process(hangul)); 1116 EXPECT_FALSE(ProcessInController(hangul));
1082 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true); 1117 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true);
1083 GetController()->SetImeControlDelegate( 1118 GetController()->SetImeControlDelegate(
1084 scoped_ptr<ImeControlDelegate>(delegate).Pass()); 1119 scoped_ptr<ImeControlDelegate>(delegate).Pass());
1085 EXPECT_EQ(0, delegate->handle_previous_ime_count()); 1120 EXPECT_EQ(0, delegate->handle_previous_ime_count());
1086 EXPECT_TRUE(GetController()->Process(control_space)); 1121 EXPECT_TRUE(ProcessInController(control_space));
1087 EXPECT_EQ(1, delegate->handle_previous_ime_count()); 1122 EXPECT_EQ(1, delegate->handle_previous_ime_count());
1088 EXPECT_EQ(0, delegate->handle_switch_ime_count()); 1123 EXPECT_EQ(0, delegate->handle_switch_ime_count());
1089 EXPECT_TRUE(GetController()->Process(convert)); 1124 EXPECT_TRUE(ProcessInController(convert));
1090 EXPECT_EQ(1, delegate->handle_switch_ime_count()); 1125 EXPECT_EQ(1, delegate->handle_switch_ime_count());
1091 EXPECT_TRUE(GetController()->Process(non_convert)); 1126 EXPECT_TRUE(ProcessInController(non_convert));
1092 EXPECT_EQ(2, delegate->handle_switch_ime_count()); 1127 EXPECT_EQ(2, delegate->handle_switch_ime_count());
1093 EXPECT_TRUE(GetController()->Process(wide_half_1)); 1128 EXPECT_TRUE(ProcessInController(wide_half_1));
1094 EXPECT_EQ(3, delegate->handle_switch_ime_count()); 1129 EXPECT_EQ(3, delegate->handle_switch_ime_count());
1095 EXPECT_TRUE(GetController()->Process(wide_half_2)); 1130 EXPECT_TRUE(ProcessInController(wide_half_2));
1096 EXPECT_EQ(4, delegate->handle_switch_ime_count()); 1131 EXPECT_EQ(4, delegate->handle_switch_ime_count());
1097 EXPECT_TRUE(GetController()->Process(hangul)); 1132 EXPECT_TRUE(ProcessInController(hangul));
1098 EXPECT_EQ(5, delegate->handle_switch_ime_count()); 1133 EXPECT_EQ(5, delegate->handle_switch_ime_count());
1099 } 1134 }
1100 1135
1101 // Test IME shortcuts that are triggered on key release. 1136 // Test IME shortcuts that are triggered on key release.
1102 { 1137 {
1103 const ui::Accelerator shift_alt_press(ui::VKEY_MENU, 1138 const ui::Accelerator shift_alt_press(ui::VKEY_MENU,
1104 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1139 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1105 const ReleaseAccelerator shift_alt(ui::VKEY_MENU, ui::EF_SHIFT_DOWN); 1140 const ReleaseAccelerator shift_alt(ui::VKEY_MENU, ui::EF_SHIFT_DOWN);
1106 const ui::Accelerator alt_shift_press(ui::VKEY_SHIFT, 1141 const ui::Accelerator alt_shift_press(ui::VKEY_SHIFT,
1107 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1142 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1108 const ReleaseAccelerator alt_shift(ui::VKEY_SHIFT, ui::EF_ALT_DOWN); 1143 const ReleaseAccelerator alt_shift(ui::VKEY_SHIFT, ui::EF_ALT_DOWN);
1109 1144
1110 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true); 1145 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true);
1111 GetController()->SetImeControlDelegate( 1146 GetController()->SetImeControlDelegate(
1112 scoped_ptr<ImeControlDelegate>(delegate).Pass()); 1147 scoped_ptr<ImeControlDelegate>(delegate).Pass());
1113 EXPECT_EQ(0, delegate->handle_next_ime_count()); 1148 EXPECT_EQ(0, delegate->handle_next_ime_count());
1114 EXPECT_FALSE(GetController()->Process(shift_alt_press)); 1149 EXPECT_FALSE(ProcessInController(shift_alt_press));
1115 EXPECT_FALSE(GetController()->Process(shift_alt)); 1150 EXPECT_FALSE(ProcessInController(shift_alt));
1116 EXPECT_EQ(1, delegate->handle_next_ime_count()); 1151 EXPECT_EQ(1, delegate->handle_next_ime_count());
1117 EXPECT_FALSE(GetController()->Process(alt_shift_press)); 1152 EXPECT_FALSE(ProcessInController(alt_shift_press));
1118 EXPECT_FALSE(GetController()->Process(alt_shift)); 1153 EXPECT_FALSE(ProcessInController(alt_shift));
1119 EXPECT_EQ(2, delegate->handle_next_ime_count()); 1154 EXPECT_EQ(2, delegate->handle_next_ime_count());
1120 1155
1121 // We should NOT switch IME when e.g. Shift+Alt+X is pressed and X is 1156 // We should NOT switch IME when e.g. Shift+Alt+X is pressed and X is
1122 // released. 1157 // released.
1123 const ui::Accelerator shift_alt_x_press( 1158 const ui::Accelerator shift_alt_x_press(
1124 ui::VKEY_X, 1159 ui::VKEY_X,
1125 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1160 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1126 const ReleaseAccelerator shift_alt_x(ui::VKEY_X, 1161 const ReleaseAccelerator shift_alt_x(ui::VKEY_X,
1127 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1162 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1128 1163
1129 EXPECT_FALSE(GetController()->Process(shift_alt_press)); 1164 EXPECT_FALSE(ProcessInController(shift_alt_press));
1130 EXPECT_FALSE(GetController()->Process(shift_alt_x_press)); 1165 EXPECT_FALSE(ProcessInController(shift_alt_x_press));
1131 EXPECT_FALSE(GetController()->Process(shift_alt_x)); 1166 EXPECT_FALSE(ProcessInController(shift_alt_x));
1132 EXPECT_FALSE(GetController()->Process(shift_alt)); 1167 EXPECT_FALSE(ProcessInController(shift_alt));
1133 EXPECT_EQ(2, delegate->handle_next_ime_count()); 1168 EXPECT_EQ(2, delegate->handle_next_ime_count());
1134 1169
1135 // But we _should_ if X is either VKEY_RETURN or VKEY_SPACE. 1170 // But we _should_ if X is either VKEY_RETURN or VKEY_SPACE.
1136 // TODO(nona|mazda): Remove this when crbug.com/139556 in a better way. 1171 // TODO(nona|mazda): Remove this when crbug.com/139556 in a better way.
1137 const ui::Accelerator shift_alt_return_press( 1172 const ui::Accelerator shift_alt_return_press(
1138 ui::VKEY_RETURN, 1173 ui::VKEY_RETURN,
1139 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1174 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1140 const ReleaseAccelerator shift_alt_return( 1175 const ReleaseAccelerator shift_alt_return(
1141 ui::VKEY_RETURN, 1176 ui::VKEY_RETURN,
1142 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1177 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1143 1178
1144 EXPECT_FALSE(GetController()->Process(shift_alt_press)); 1179 EXPECT_FALSE(ProcessInController(shift_alt_press));
1145 EXPECT_FALSE(GetController()->Process(shift_alt_return_press)); 1180 EXPECT_FALSE(ProcessInController(shift_alt_return_press));
1146 EXPECT_FALSE(GetController()->Process(shift_alt_return)); 1181 EXPECT_FALSE(ProcessInController(shift_alt_return));
1147 EXPECT_FALSE(GetController()->Process(shift_alt)); 1182 EXPECT_FALSE(ProcessInController(shift_alt));
1148 EXPECT_EQ(3, delegate->handle_next_ime_count()); 1183 EXPECT_EQ(3, delegate->handle_next_ime_count());
1149 1184
1150 const ui::Accelerator shift_alt_space_press( 1185 const ui::Accelerator shift_alt_space_press(
1151 ui::VKEY_SPACE, 1186 ui::VKEY_SPACE,
1152 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1187 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1153 const ReleaseAccelerator shift_alt_space( 1188 const ReleaseAccelerator shift_alt_space(
1154 ui::VKEY_SPACE, 1189 ui::VKEY_SPACE,
1155 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1190 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1156 1191
1157 EXPECT_FALSE(GetController()->Process(shift_alt_press)); 1192 EXPECT_FALSE(ProcessInController(shift_alt_press));
1158 EXPECT_FALSE(GetController()->Process(shift_alt_space_press)); 1193 EXPECT_FALSE(ProcessInController(shift_alt_space_press));
1159 EXPECT_FALSE(GetController()->Process(shift_alt_space)); 1194 EXPECT_FALSE(ProcessInController(shift_alt_space));
1160 EXPECT_FALSE(GetController()->Process(shift_alt)); 1195 EXPECT_FALSE(ProcessInController(shift_alt));
1161 EXPECT_EQ(4, delegate->handle_next_ime_count()); 1196 EXPECT_EQ(4, delegate->handle_next_ime_count());
1162 } 1197 }
1163 1198
1164 #if defined(OS_CHROMEOS) 1199 #if defined(OS_CHROMEOS)
1165 // Test IME shortcuts again with unnormalized accelerators (Chrome OS only). 1200 // Test IME shortcuts again with unnormalized accelerators (Chrome OS only).
1166 { 1201 {
1167 const ui::Accelerator shift_alt_press(ui::VKEY_MENU, ui::EF_SHIFT_DOWN); 1202 const ui::Accelerator shift_alt_press(ui::VKEY_MENU, ui::EF_SHIFT_DOWN);
1168 const ReleaseAccelerator shift_alt(ui::VKEY_MENU, ui::EF_SHIFT_DOWN); 1203 const ReleaseAccelerator shift_alt(ui::VKEY_MENU, ui::EF_SHIFT_DOWN);
1169 const ui::Accelerator alt_shift_press(ui::VKEY_SHIFT, ui::EF_ALT_DOWN); 1204 const ui::Accelerator alt_shift_press(ui::VKEY_SHIFT, ui::EF_ALT_DOWN);
1170 const ReleaseAccelerator alt_shift(ui::VKEY_SHIFT, ui::EF_ALT_DOWN); 1205 const ReleaseAccelerator alt_shift(ui::VKEY_SHIFT, ui::EF_ALT_DOWN);
1171 1206
1172 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true); 1207 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true);
1173 GetController()->SetImeControlDelegate( 1208 GetController()->SetImeControlDelegate(
1174 scoped_ptr<ImeControlDelegate>(delegate).Pass()); 1209 scoped_ptr<ImeControlDelegate>(delegate).Pass());
1175 EXPECT_EQ(0, delegate->handle_next_ime_count()); 1210 EXPECT_EQ(0, delegate->handle_next_ime_count());
1176 EXPECT_FALSE(GetController()->Process(shift_alt_press)); 1211 EXPECT_FALSE(ProcessInController(shift_alt_press));
1177 EXPECT_FALSE(GetController()->Process(shift_alt)); 1212 EXPECT_FALSE(ProcessInController(shift_alt));
1178 EXPECT_EQ(1, delegate->handle_next_ime_count()); 1213 EXPECT_EQ(1, delegate->handle_next_ime_count());
1179 EXPECT_FALSE(GetController()->Process(alt_shift_press)); 1214 EXPECT_FALSE(ProcessInController(alt_shift_press));
1180 EXPECT_FALSE(GetController()->Process(alt_shift)); 1215 EXPECT_FALSE(ProcessInController(alt_shift));
1181 EXPECT_EQ(2, delegate->handle_next_ime_count()); 1216 EXPECT_EQ(2, delegate->handle_next_ime_count());
1182 1217
1183 // We should NOT switch IME when e.g. Shift+Alt+X is pressed and X is 1218 // We should NOT switch IME when e.g. Shift+Alt+X is pressed and X is
1184 // released. 1219 // released.
1185 const ui::Accelerator shift_alt_x_press( 1220 const ui::Accelerator shift_alt_x_press(
1186 ui::VKEY_X, 1221 ui::VKEY_X,
1187 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1222 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1188 const ReleaseAccelerator shift_alt_x(ui::VKEY_X, 1223 const ReleaseAccelerator shift_alt_x(ui::VKEY_X,
1189 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1224 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1190 1225
1191 EXPECT_FALSE(GetController()->Process(shift_alt_press)); 1226 EXPECT_FALSE(ProcessInController(shift_alt_press));
1192 EXPECT_FALSE(GetController()->Process(shift_alt_x_press)); 1227 EXPECT_FALSE(ProcessInController(shift_alt_x_press));
1193 EXPECT_FALSE(GetController()->Process(shift_alt_x)); 1228 EXPECT_FALSE(ProcessInController(shift_alt_x));
1194 EXPECT_FALSE(GetController()->Process(shift_alt)); 1229 EXPECT_FALSE(ProcessInController(shift_alt));
1195 EXPECT_EQ(2, delegate->handle_next_ime_count()); 1230 EXPECT_EQ(2, delegate->handle_next_ime_count());
1196 } 1231 }
1197 #endif 1232 #endif
1198 } 1233 }
1199 1234
1200 // TODO(nona|mazda): Remove this when crbug.com/139556 in a better way. 1235 // TODO(nona|mazda): Remove this when crbug.com/139556 in a better way.
1201 TEST_F(AcceleratorControllerTest, ImeGlobalAcceleratorsWorkaround139556) { 1236 TEST_F(AcceleratorControllerTest, ImeGlobalAcceleratorsWorkaround139556) {
1202 // The workaround for crbug.com/139556 depends on the fact that we don't 1237 // The workaround for crbug.com/139556 depends on the fact that we don't
1203 // use Shift+Alt+Enter/Space with ET_KEY_PRESSED as an accelerator. Test it. 1238 // use Shift+Alt+Enter/Space with ET_KEY_PRESSED as an accelerator. Test it.
1204 const ui::Accelerator shift_alt_return_press( 1239 const ui::Accelerator shift_alt_return_press(
1205 ui::VKEY_RETURN, 1240 ui::VKEY_RETURN,
1206 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1241 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1207 EXPECT_FALSE(GetController()->Process(shift_alt_return_press)); 1242 EXPECT_FALSE(ProcessInController(shift_alt_return_press));
1208 const ui::Accelerator shift_alt_space_press( 1243 const ui::Accelerator shift_alt_space_press(
1209 ui::VKEY_SPACE, 1244 ui::VKEY_SPACE,
1210 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN); 1245 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
1211 EXPECT_FALSE(GetController()->Process(shift_alt_space_press)); 1246 EXPECT_FALSE(ProcessInController(shift_alt_space_press));
1212 } 1247 }
1213 1248
1214 TEST_F(AcceleratorControllerTest, PreferredReservedAccelerators) { 1249 TEST_F(AcceleratorControllerTest, PreferredReservedAccelerators) {
1215 #if defined(OS_CHROMEOS) 1250 #if defined(OS_CHROMEOS)
1216 // Power key is reserved on chromeos. 1251 // Power key is reserved on chromeos.
1217 EXPECT_TRUE(GetController()->IsReserved( 1252 EXPECT_TRUE(GetController()->IsReserved(
1218 ui::Accelerator(ui::VKEY_POWER, ui::EF_NONE))); 1253 ui::Accelerator(ui::VKEY_POWER, ui::EF_NONE)));
1219 EXPECT_FALSE(GetController()->IsPreferred( 1254 EXPECT_FALSE(GetController()->IsPreferred(
1220 ui::Accelerator(ui::VKEY_POWER, ui::EF_NONE))); 1255 ui::Accelerator(ui::VKEY_POWER, ui::EF_NONE)));
1221 #endif 1256 #endif
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1340 << " for action (disallowed at modal window): " << *it; 1375 << " for action (disallowed at modal window): " << *it;
1341 } 1376 }
1342 } 1377 }
1343 // Testing of top row (F5-F10) accelerators that should still work 1378 // Testing of top row (F5-F10) accelerators that should still work
1344 // when a modal window is open 1379 // when a modal window is open
1345 // 1380 //
1346 // Screenshot 1381 // Screenshot
1347 { 1382 {
1348 test::TestScreenshotDelegate* delegate = GetScreenshotDelegate(); 1383 test::TestScreenshotDelegate* delegate = GetScreenshotDelegate();
1349 delegate->set_can_take_screenshot(false); 1384 delegate->set_can_take_screenshot(false);
1350 EXPECT_TRUE(GetController()->Process( 1385 EXPECT_TRUE(ProcessInController(
1351 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN))); 1386 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN)));
1352 EXPECT_TRUE( 1387 EXPECT_TRUE(
1353 GetController()->Process(ui::Accelerator(ui::VKEY_PRINT, ui::EF_NONE))); 1388 ProcessInController(ui::Accelerator(
1354 EXPECT_TRUE(GetController()->Process(ui::Accelerator( 1389 ui::VKEY_PRINT, ui::EF_NONE)));
1390 EXPECT_TRUE(ProcessInController(ui::Accelerator(
1355 ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 1391 ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
1356 delegate->set_can_take_screenshot(true); 1392 delegate->set_can_take_screenshot(true);
1357 EXPECT_EQ(0, delegate->handle_take_screenshot_count()); 1393 EXPECT_EQ(0, delegate->handle_take_screenshot_count());
1358 EXPECT_TRUE(GetController()->Process( 1394 EXPECT_TRUE(ProcessInController(
1359 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN))); 1395 ui::Accelerator(ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_CONTROL_DOWN)));
1360 EXPECT_EQ(1, delegate->handle_take_screenshot_count()); 1396 EXPECT_EQ(1, delegate->handle_take_screenshot_count());
1361 EXPECT_TRUE( 1397 EXPECT_TRUE(
1362 GetController()->Process(ui::Accelerator(ui::VKEY_PRINT, ui::EF_NONE))); 1398 ProcessInController(ui::Accelerator(
1399 ui::VKEY_PRINT, ui::EF_NONE)));
1363 EXPECT_EQ(2, delegate->handle_take_screenshot_count()); 1400 EXPECT_EQ(2, delegate->handle_take_screenshot_count());
1364 EXPECT_TRUE(GetController()->Process(ui::Accelerator( 1401 EXPECT_TRUE(ProcessInController(ui::Accelerator(
1365 ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN))); 1402 ui::VKEY_MEDIA_LAUNCH_APP1, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
1366 EXPECT_EQ(2, delegate->handle_take_screenshot_count()); 1403 EXPECT_EQ(2, delegate->handle_take_screenshot_count());
1367 } 1404 }
1368 // Brightness 1405 // Brightness
1369 const ui::Accelerator brightness_down(ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE); 1406 const ui::Accelerator brightness_down(ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE);
1370 const ui::Accelerator brightness_up(ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE); 1407 const ui::Accelerator brightness_up(ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE);
1371 { 1408 {
1372 DummyBrightnessControlDelegate* delegate = 1409 DummyBrightnessControlDelegate* delegate =
1373 new DummyBrightnessControlDelegate(false); 1410 new DummyBrightnessControlDelegate(false);
1374 GetController()->SetBrightnessControlDelegate( 1411 GetController()->SetBrightnessControlDelegate(
1375 scoped_ptr<BrightnessControlDelegate>(delegate).Pass()); 1412 scoped_ptr<BrightnessControlDelegate>(delegate).Pass());
1376 EXPECT_EQ(0, delegate->handle_brightness_down_count()); 1413 EXPECT_EQ(0, delegate->handle_brightness_down_count());
1377 EXPECT_FALSE(GetController()->Process(brightness_down)); 1414 EXPECT_FALSE(ProcessInController(brightness_down));
1378 EXPECT_EQ(1, delegate->handle_brightness_down_count()); 1415 EXPECT_EQ(1, delegate->handle_brightness_down_count());
1379 EXPECT_EQ(brightness_down, delegate->last_accelerator()); 1416 EXPECT_EQ(brightness_down, delegate->last_accelerator());
1380 EXPECT_EQ(0, delegate->handle_brightness_up_count()); 1417 EXPECT_EQ(0, delegate->handle_brightness_up_count());
1381 EXPECT_FALSE(GetController()->Process(brightness_up)); 1418 EXPECT_FALSE(ProcessInController(brightness_up));
1382 EXPECT_EQ(1, delegate->handle_brightness_up_count()); 1419 EXPECT_EQ(1, delegate->handle_brightness_up_count());
1383 EXPECT_EQ(brightness_up, delegate->last_accelerator()); 1420 EXPECT_EQ(brightness_up, delegate->last_accelerator());
1384 } 1421 }
1385 { 1422 {
1386 DummyBrightnessControlDelegate* delegate = 1423 DummyBrightnessControlDelegate* delegate =
1387 new DummyBrightnessControlDelegate(true); 1424 new DummyBrightnessControlDelegate(true);
1388 GetController()->SetBrightnessControlDelegate( 1425 GetController()->SetBrightnessControlDelegate(
1389 scoped_ptr<BrightnessControlDelegate>(delegate).Pass()); 1426 scoped_ptr<BrightnessControlDelegate>(delegate).Pass());
1390 EXPECT_EQ(0, delegate->handle_brightness_down_count()); 1427 EXPECT_EQ(0, delegate->handle_brightness_down_count());
1391 EXPECT_TRUE(GetController()->Process(brightness_down)); 1428 EXPECT_TRUE(ProcessInController(brightness_down));
1392 EXPECT_EQ(1, delegate->handle_brightness_down_count()); 1429 EXPECT_EQ(1, delegate->handle_brightness_down_count());
1393 EXPECT_EQ(brightness_down, delegate->last_accelerator()); 1430 EXPECT_EQ(brightness_down, delegate->last_accelerator());
1394 EXPECT_EQ(0, delegate->handle_brightness_up_count()); 1431 EXPECT_EQ(0, delegate->handle_brightness_up_count());
1395 EXPECT_TRUE(GetController()->Process(brightness_up)); 1432 EXPECT_TRUE(ProcessInController(brightness_up));
1396 EXPECT_EQ(1, delegate->handle_brightness_up_count()); 1433 EXPECT_EQ(1, delegate->handle_brightness_up_count());
1397 EXPECT_EQ(brightness_up, delegate->last_accelerator()); 1434 EXPECT_EQ(brightness_up, delegate->last_accelerator());
1398 } 1435 }
1399 // Volume 1436 // Volume
1400 const ui::Accelerator volume_mute(ui::VKEY_VOLUME_MUTE, ui::EF_NONE); 1437 const ui::Accelerator volume_mute(ui::VKEY_VOLUME_MUTE, ui::EF_NONE);
1401 const ui::Accelerator volume_down(ui::VKEY_VOLUME_DOWN, ui::EF_NONE); 1438 const ui::Accelerator volume_down(ui::VKEY_VOLUME_DOWN, ui::EF_NONE);
1402 const ui::Accelerator volume_up(ui::VKEY_VOLUME_UP, ui::EF_NONE); 1439 const ui::Accelerator volume_up(ui::VKEY_VOLUME_UP, ui::EF_NONE);
1403 { 1440 {
1404 EXPECT_TRUE(GetController()->Process(volume_mute)); 1441 EXPECT_TRUE(ProcessInController(volume_mute));
1405 EXPECT_TRUE(GetController()->Process(volume_down)); 1442 EXPECT_TRUE(ProcessInController(volume_down));
1406 EXPECT_TRUE(GetController()->Process(volume_up)); 1443 EXPECT_TRUE(ProcessInController(volume_up));
1407 TestVolumeControlDelegate* delegate = 1444 TestVolumeControlDelegate* delegate =
1408 new TestVolumeControlDelegate(false); 1445 new TestVolumeControlDelegate(false);
1409 ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate( 1446 ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate(
1410 scoped_ptr<VolumeControlDelegate>(delegate).Pass()); 1447 scoped_ptr<VolumeControlDelegate>(delegate).Pass());
1411 EXPECT_EQ(0, delegate->handle_volume_mute_count()); 1448 EXPECT_EQ(0, delegate->handle_volume_mute_count());
1412 EXPECT_FALSE(GetController()->Process(volume_mute)); 1449 EXPECT_FALSE(ProcessInController(volume_mute));
1413 EXPECT_EQ(1, delegate->handle_volume_mute_count()); 1450 EXPECT_EQ(1, delegate->handle_volume_mute_count());
1414 EXPECT_EQ(volume_mute, delegate->last_accelerator()); 1451 EXPECT_EQ(volume_mute, delegate->last_accelerator());
1415 EXPECT_EQ(0, delegate->handle_volume_down_count()); 1452 EXPECT_EQ(0, delegate->handle_volume_down_count());
1416 EXPECT_FALSE(GetController()->Process(volume_down)); 1453 EXPECT_FALSE(ProcessInController(volume_down));
1417 EXPECT_EQ(1, delegate->handle_volume_down_count()); 1454 EXPECT_EQ(1, delegate->handle_volume_down_count());
1418 EXPECT_EQ(volume_down, delegate->last_accelerator()); 1455 EXPECT_EQ(volume_down, delegate->last_accelerator());
1419 EXPECT_EQ(0, delegate->handle_volume_up_count()); 1456 EXPECT_EQ(0, delegate->handle_volume_up_count());
1420 EXPECT_FALSE(GetController()->Process(volume_up)); 1457 EXPECT_FALSE(ProcessInController(volume_up));
1421 EXPECT_EQ(1, delegate->handle_volume_up_count()); 1458 EXPECT_EQ(1, delegate->handle_volume_up_count());
1422 EXPECT_EQ(volume_up, delegate->last_accelerator()); 1459 EXPECT_EQ(volume_up, delegate->last_accelerator());
1423 } 1460 }
1424 { 1461 {
1425 TestVolumeControlDelegate* delegate = new TestVolumeControlDelegate(true); 1462 TestVolumeControlDelegate* delegate = new TestVolumeControlDelegate(true);
1426 ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate( 1463 ash::Shell::GetInstance()->system_tray_delegate()->SetVolumeControlDelegate(
1427 scoped_ptr<VolumeControlDelegate>(delegate).Pass()); 1464 scoped_ptr<VolumeControlDelegate>(delegate).Pass());
1428 EXPECT_EQ(0, delegate->handle_volume_mute_count()); 1465 EXPECT_EQ(0, delegate->handle_volume_mute_count());
1429 EXPECT_TRUE(GetController()->Process(volume_mute)); 1466 EXPECT_TRUE(ProcessInController(volume_mute));
1430 EXPECT_EQ(1, delegate->handle_volume_mute_count()); 1467 EXPECT_EQ(1, delegate->handle_volume_mute_count());
1431 EXPECT_EQ(volume_mute, delegate->last_accelerator()); 1468 EXPECT_EQ(volume_mute, delegate->last_accelerator());
1432 EXPECT_EQ(0, delegate->handle_volume_down_count()); 1469 EXPECT_EQ(0, delegate->handle_volume_down_count());
1433 EXPECT_TRUE(GetController()->Process(volume_down)); 1470 EXPECT_TRUE(ProcessInController(volume_down));
1434 EXPECT_EQ(1, delegate->handle_volume_down_count()); 1471 EXPECT_EQ(1, delegate->handle_volume_down_count());
1435 EXPECT_EQ(volume_down, delegate->last_accelerator()); 1472 EXPECT_EQ(volume_down, delegate->last_accelerator());
1436 EXPECT_EQ(0, delegate->handle_volume_up_count()); 1473 EXPECT_EQ(0, delegate->handle_volume_up_count());
1437 EXPECT_TRUE(GetController()->Process(volume_up)); 1474 EXPECT_TRUE(ProcessInController(volume_up));
1438 EXPECT_EQ(1, delegate->handle_volume_up_count()); 1475 EXPECT_EQ(1, delegate->handle_volume_up_count());
1439 EXPECT_EQ(volume_up, delegate->last_accelerator()); 1476 EXPECT_EQ(volume_up, delegate->last_accelerator());
1440 } 1477 }
1441 } 1478 }
1442 #endif 1479 #endif
1443 1480
1444 TEST_F(AcceleratorControllerTest, DisallowedWithNoWindow) { 1481 TEST_F(AcceleratorControllerTest, DisallowedWithNoWindow) {
1445 const ui::Accelerator dummy; 1482 const ui::Accelerator dummy;
1446 AccessibilityDelegate* delegate = 1483 AccessibilityDelegate* delegate =
1447 ash::Shell::GetInstance()->accessibility_delegate(); 1484 ash::Shell::GetInstance()->accessibility_delegate();
(...skipping 23 matching lines...) Expand all
1471 wm::ActivateWindow(window.get()); 1508 wm::ActivateWindow(window.get());
1472 GetController()->PerformAction(WINDOW_MINIMIZE, dummy); 1509 GetController()->PerformAction(WINDOW_MINIMIZE, dummy);
1473 delegate->TriggerAccessibilityAlert(ui::A11Y_ALERT_NONE); 1510 delegate->TriggerAccessibilityAlert(ui::A11Y_ALERT_NONE);
1474 GetController()->PerformAction(kActionsNeedingWindow[i], dummy); 1511 GetController()->PerformAction(kActionsNeedingWindow[i], dummy);
1475 EXPECT_NE(delegate->GetLastAccessibilityAlert(), 1512 EXPECT_NE(delegate->GetLastAccessibilityAlert(),
1476 ui::A11Y_ALERT_WINDOW_NEEDED); 1513 ui::A11Y_ALERT_WINDOW_NEEDED);
1477 } 1514 }
1478 } 1515 }
1479 1516
1480 } // namespace ash 1517 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698