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

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

Powered by Google App Engine
This is Rietveld 408576698