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

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

Issue 2101263004: mash: Migrate AccessibilityDelegate access to WmShell. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments. Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | ash/accelerators/accelerator_controller_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 // help page when the notification is clicked. 98 // help page when the notification is clicked.
99 class DeprecatedAcceleratorNotificationDelegate 99 class DeprecatedAcceleratorNotificationDelegate
100 : public message_center::NotificationDelegate { 100 : public message_center::NotificationDelegate {
101 public: 101 public:
102 DeprecatedAcceleratorNotificationDelegate() {} 102 DeprecatedAcceleratorNotificationDelegate() {}
103 103
104 // message_center::NotificationDelegate: 104 // message_center::NotificationDelegate:
105 bool HasClickedListener() override { return true; } 105 bool HasClickedListener() override { return true; }
106 106
107 void Click() override { 107 void Click() override {
108 if (!Shell::GetInstance()->session_state_delegate()->IsUserSessionBlocked()) 108 if (!WmShell::Get()->GetSessionStateDelegate()->IsUserSessionBlocked())
109 Shell::GetInstance()->delegate()->OpenKeyboardShortcutHelpPage(); 109 Shell::GetInstance()->delegate()->OpenKeyboardShortcutHelpPage();
110 } 110 }
111 111
112 private: 112 private:
113 // Private destructor since NotificationDelegate is ref-counted. 113 // Private destructor since NotificationDelegate is ref-counted.
114 ~DeprecatedAcceleratorNotificationDelegate() override {} 114 ~DeprecatedAcceleratorNotificationDelegate() override {}
115 115
116 DISALLOW_COPY_AND_ASSIGN(DeprecatedAcceleratorNotificationDelegate); 116 DISALLOW_COPY_AND_ASSIGN(DeprecatedAcceleratorNotificationDelegate);
117 }; 117 };
118 118
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 } 238 }
239 239
240 bool CanHandleMagnifyScreen() { 240 bool CanHandleMagnifyScreen() {
241 Shell* shell = Shell::GetInstance(); 241 Shell* shell = Shell::GetInstance();
242 return shell->magnification_controller()->IsEnabled() || 242 return shell->magnification_controller()->IsEnabled() ||
243 shell->partial_magnification_controller()->is_enabled(); 243 shell->partial_magnification_controller()->is_enabled();
244 } 244 }
245 245
246 // Magnify the screen 246 // Magnify the screen
247 void HandleMagnifyScreen(int delta_index) { 247 void HandleMagnifyScreen(int delta_index) {
248 if (ash::Shell::GetInstance()->magnification_controller()->IsEnabled()) { 248 if (Shell::GetInstance()->magnification_controller()->IsEnabled()) {
249 // TODO(yoshiki): Move the following logic to MagnificationController. 249 // TODO(yoshiki): Move the following logic to MagnificationController.
250 float scale = 250 float scale = Shell::GetInstance()->magnification_controller()->GetScale();
251 ash::Shell::GetInstance()->magnification_controller()->GetScale();
252 // Calculate rounded logarithm (base kMagnificationScaleFactor) of scale. 251 // Calculate rounded logarithm (base kMagnificationScaleFactor) of scale.
253 int scale_index = 252 int scale_index =
254 std::floor(std::log(scale) / std::log(kMagnificationScaleFactor) + 0.5); 253 std::floor(std::log(scale) / std::log(kMagnificationScaleFactor) + 0.5);
255 254
256 int new_scale_index = std::max(0, std::min(8, scale_index + delta_index)); 255 int new_scale_index = std::max(0, std::min(8, scale_index + delta_index));
257 256
258 ash::Shell::GetInstance()->magnification_controller()->SetScale( 257 Shell::GetInstance()->magnification_controller()->SetScale(
259 std::pow(kMagnificationScaleFactor, new_scale_index), true); 258 std::pow(kMagnificationScaleFactor, new_scale_index), true);
260 } else if (ash::Shell::GetInstance() 259 } else if (Shell::GetInstance()
261 ->partial_magnification_controller() 260 ->partial_magnification_controller()
262 ->is_enabled()) { 261 ->is_enabled()) {
263 float scale = delta_index > 0 ? kDefaultPartialMagnifiedScale : 1; 262 float scale = delta_index > 0 ? kDefaultPartialMagnifiedScale : 1;
264 ash::Shell::GetInstance()->partial_magnification_controller()->SetScale( 263 Shell::GetInstance()->partial_magnification_controller()->SetScale(scale);
265 scale);
266 } 264 }
267 } 265 }
268 266
269 void HandleMediaNextTrack() { 267 void HandleMediaNextTrack() {
270 Shell::GetInstance()->media_delegate()->HandleMediaNextTrack(); 268 Shell::GetInstance()->media_delegate()->HandleMediaNextTrack();
271 } 269 }
272 270
273 void HandleMediaPlayPause() { 271 void HandleMediaPlayPause() {
274 Shell::GetInstance()->media_delegate()->HandleMediaPlayPause(); 272 Shell::GetInstance()->media_delegate()->HandleMediaPlayPause();
275 } 273 }
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 } 322 }
325 } 323 }
326 324
327 void HandleNextIme(ImeControlDelegate* ime_control_delegate) { 325 void HandleNextIme(ImeControlDelegate* ime_control_delegate) {
328 base::RecordAction(UserMetricsAction("Accel_Next_Ime")); 326 base::RecordAction(UserMetricsAction("Accel_Next_Ime"));
329 ime_control_delegate->HandleNextIme(); 327 ime_control_delegate->HandleNextIme();
330 } 328 }
331 329
332 void HandleOpenFeedbackPage() { 330 void HandleOpenFeedbackPage() {
333 base::RecordAction(UserMetricsAction("Accel_Open_Feedback_Page")); 331 base::RecordAction(UserMetricsAction("Accel_Open_Feedback_Page"));
334 ash::Shell::GetInstance()->new_window_delegate()->OpenFeedbackPage(); 332 Shell::GetInstance()->new_window_delegate()->OpenFeedbackPage();
335 } 333 }
336 334
337 bool CanHandlePreviousIme(ImeControlDelegate* ime_control_delegate) { 335 bool CanHandlePreviousIme(ImeControlDelegate* ime_control_delegate) {
338 return ime_control_delegate && ime_control_delegate->CanCycleIme(); 336 return ime_control_delegate && ime_control_delegate->CanCycleIme();
339 } 337 }
340 338
341 void HandlePreviousIme(ImeControlDelegate* ime_control_delegate, 339 void HandlePreviousIme(ImeControlDelegate* ime_control_delegate,
342 const ui::Accelerator& accelerator) { 340 const ui::Accelerator& accelerator) {
343 base::RecordAction(UserMetricsAction("Accel_Previous_Ime")); 341 base::RecordAction(UserMetricsAction("Accel_Previous_Ime"));
344 if (accelerator.type() == ui::ET_KEY_PRESSED) 342 if (accelerator.type() == ui::ET_KEY_PRESSED)
(...skipping 25 matching lines...) Expand all
370 void HandleRotateScreen() { 368 void HandleRotateScreen() {
371 if (Shell::GetInstance()->display_manager()->IsInUnifiedMode()) 369 if (Shell::GetInstance()->display_manager()->IsInUnifiedMode())
372 return; 370 return;
373 371
374 base::RecordAction(UserMetricsAction("Accel_Rotate_Window")); 372 base::RecordAction(UserMetricsAction("Accel_Rotate_Window"));
375 gfx::Point point = display::Screen::GetScreen()->GetCursorScreenPoint(); 373 gfx::Point point = display::Screen::GetScreen()->GetCursorScreenPoint();
376 display::Display display = 374 display::Display display =
377 display::Screen::GetScreen()->GetDisplayNearestPoint(point); 375 display::Screen::GetScreen()->GetDisplayNearestPoint(point);
378 const DisplayInfo& display_info = 376 const DisplayInfo& display_info =
379 Shell::GetInstance()->display_manager()->GetDisplayInfo(display.id()); 377 Shell::GetInstance()->display_manager()->GetDisplayInfo(display.id());
380 ash::ScreenRotationAnimator(display.id()) 378 ScreenRotationAnimator(display.id())
381 .Rotate(GetNextRotation(display_info.GetActiveRotation()), 379 .Rotate(GetNextRotation(display_info.GetActiveRotation()),
382 display::Display::ROTATION_SOURCE_USER); 380 display::Display::ROTATION_SOURCE_USER);
383 } 381 }
384 382
385 // Rotate the active window. 383 // Rotate the active window.
386 void HandleRotateActiveWindow() { 384 void HandleRotateActiveWindow() {
387 base::RecordAction(UserMetricsAction("Accel_Rotate_Window")); 385 base::RecordAction(UserMetricsAction("Accel_Rotate_Window"));
388 aura::Window* active_window = wm::GetActiveWindow(); 386 aura::Window* active_window = wm::GetActiveWindow();
389 if (active_window) { 387 if (active_window) {
390 // The rotation animation bases its target transform on the current 388 // The rotation animation bases its target transform on the current
391 // rotation and position. Since there could be an animation in progress 389 // rotation and position. Since there could be an animation in progress
392 // right now, queue this animation so when it starts it picks up a neutral 390 // right now, queue this animation so when it starts it picks up a neutral
393 // rotation and position. Use replace so we only enqueue one at a time. 391 // rotation and position. Use replace so we only enqueue one at a time.
394 active_window->layer()->GetAnimator()->set_preemption_strategy( 392 active_window->layer()->GetAnimator()->set_preemption_strategy(
395 ui::LayerAnimator::REPLACE_QUEUED_ANIMATIONS); 393 ui::LayerAnimator::REPLACE_QUEUED_ANIMATIONS);
396 active_window->layer()->GetAnimator()->StartAnimation( 394 active_window->layer()->GetAnimator()->StartAnimation(
397 new ui::LayerAnimationSequence( 395 new ui::LayerAnimationSequence(
398 new ash::WindowRotation(360, active_window->layer()))); 396 new WindowRotation(360, active_window->layer())));
399 } 397 }
400 } 398 }
401 399
402 void HandleShowKeyboardOverlay() { 400 void HandleShowKeyboardOverlay() {
403 base::RecordAction(UserMetricsAction("Accel_Show_Keyboard_Overlay")); 401 base::RecordAction(UserMetricsAction("Accel_Show_Keyboard_Overlay"));
404 ash::Shell::GetInstance()->new_window_delegate()->ShowKeyboardOverlay(); 402 Shell::GetInstance()->new_window_delegate()->ShowKeyboardOverlay();
405 } 403 }
406 404
407 bool CanHandleShowMessageCenterBubble() { 405 bool CanHandleShowMessageCenterBubble() {
408 RootWindowController* controller = 406 RootWindowController* controller =
409 RootWindowController::ForTargetRootWindow(); 407 RootWindowController::ForTargetRootWindow();
410 StatusAreaWidget* status_area_widget = 408 StatusAreaWidget* status_area_widget =
411 controller->shelf_widget()->status_area_widget(); 409 controller->shelf_widget()->status_area_widget();
412 return status_area_widget && 410 return status_area_widget &&
413 status_area_widget->web_notification_tray()->visible(); 411 status_area_widget->web_notification_tray()->visible();
414 } 412 }
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 // being pressed and released, then ignore the release of the 478 // being pressed and released, then ignore the release of the
481 // Search key. 479 // Search key.
482 if (previous_accelerator.type() != ui::ET_KEY_PRESSED || 480 if (previous_accelerator.type() != ui::ET_KEY_PRESSED ||
483 previous_accelerator.key_code() != ui::VKEY_LWIN) { 481 previous_accelerator.key_code() != ui::VKEY_LWIN) {
484 return false; 482 return false;
485 } 483 }
486 484
487 // When spoken feedback is enabled, we should neither toggle the list nor 485 // When spoken feedback is enabled, we should neither toggle the list nor
488 // consume the key since Search+Shift is one of the shortcuts the a11y 486 // consume the key since Search+Shift is one of the shortcuts the a11y
489 // feature uses. crbug.com/132296 487 // feature uses. crbug.com/132296
490 if (Shell::GetInstance() 488 if (WmShell::Get()->GetAccessibilityDelegate()->IsSpokenFeedbackEnabled())
491 ->accessibility_delegate()
492 ->IsSpokenFeedbackEnabled()) {
493 return false; 489 return false;
494 }
495 } 490 }
496 return true; 491 return true;
497 } 492 }
498 493
499 void HandleToggleAppList(const ui::Accelerator& accelerator) { 494 void HandleToggleAppList(const ui::Accelerator& accelerator) {
500 if (accelerator.key_code() == ui::VKEY_LWIN) 495 if (accelerator.key_code() == ui::VKEY_LWIN)
501 base::RecordAction(base::UserMetricsAction("Accel_Search_LWin")); 496 base::RecordAction(base::UserMetricsAction("Accel_Search_LWin"));
502 ash::Shell::GetInstance()->ToggleAppList(NULL); 497 Shell::GetInstance()->ToggleAppList(NULL);
503 } 498 }
504 499
505 void HandleToggleFullscreen(const ui::Accelerator& accelerator) { 500 void HandleToggleFullscreen(const ui::Accelerator& accelerator) {
506 if (accelerator.key_code() == ui::VKEY_MEDIA_LAUNCH_APP2) 501 if (accelerator.key_code() == ui::VKEY_MEDIA_LAUNCH_APP2)
507 base::RecordAction(UserMetricsAction("Accel_Fullscreen_F4")); 502 base::RecordAction(UserMetricsAction("Accel_Fullscreen_F4"));
508 accelerators::ToggleFullscreen(); 503 accelerators::ToggleFullscreen();
509 } 504 }
510 505
511 void HandleToggleOverview() { 506 void HandleToggleOverview() {
512 base::RecordAction(base::UserMetricsAction("Accel_Overview_F5")); 507 base::RecordAction(base::UserMetricsAction("Accel_Overview_F5"));
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 delegate->HandleKeyboardBrightnessDown(accelerator); 596 delegate->HandleKeyboardBrightnessDown(accelerator);
602 } 597 }
603 598
604 void HandleKeyboardBrightnessUp(KeyboardBrightnessControlDelegate* delegate, 599 void HandleKeyboardBrightnessUp(KeyboardBrightnessControlDelegate* delegate,
605 const ui::Accelerator& accelerator) { 600 const ui::Accelerator& accelerator) {
606 if (delegate) 601 if (delegate)
607 delegate->HandleKeyboardBrightnessUp(accelerator); 602 delegate->HandleKeyboardBrightnessUp(accelerator);
608 } 603 }
609 604
610 bool CanHandleLock() { 605 bool CanHandleLock() {
611 return Shell::GetInstance()->session_state_delegate()->CanLockScreen(); 606 return WmShell::Get()->GetSessionStateDelegate()->CanLockScreen();
612 } 607 }
613 608
614 void HandleLock() { 609 void HandleLock() {
615 base::RecordAction(UserMetricsAction("Accel_LockScreen_L")); 610 base::RecordAction(UserMetricsAction("Accel_LockScreen_L"));
616 Shell::GetInstance()->session_state_delegate()->LockScreen(); 611 WmShell::Get()->GetSessionStateDelegate()->LockScreen();
617 } 612 }
618 613
619 void HandleSuspend() { 614 void HandleSuspend() {
620 base::RecordAction(UserMetricsAction("Accel_Suspend")); 615 base::RecordAction(UserMetricsAction("Accel_Suspend"));
621 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestSuspend(); 616 chromeos::DBusThreadManager::Get()->GetPowerManagerClient()->RequestSuspend();
622 } 617 }
623 618
624 void HandleCrosh() { 619 void HandleCrosh() {
625 base::RecordAction(UserMetricsAction("Accel_Open_Crosh")); 620 base::RecordAction(UserMetricsAction("Accel_Open_Crosh"));
626 621
(...skipping 12 matching lines...) Expand all
639 634
640 void HandleSwapPrimaryDisplay() { 635 void HandleSwapPrimaryDisplay() {
641 base::RecordAction(UserMetricsAction("Accel_Swap_Primary_Display")); 636 base::RecordAction(UserMetricsAction("Accel_Swap_Primary_Display"));
642 Shell::GetInstance()->display_configuration_controller()->SetPrimaryDisplayId( 637 Shell::GetInstance()->display_configuration_controller()->SetPrimaryDisplayId(
643 ScreenUtil::GetSecondaryDisplay().id(), true /* user_action */); 638 ScreenUtil::GetSecondaryDisplay().id(), true /* user_action */);
644 } 639 }
645 640
646 bool CanHandleCycleUser() { 641 bool CanHandleCycleUser() {
647 Shell* shell = Shell::GetInstance(); 642 Shell* shell = Shell::GetInstance();
648 return shell->delegate()->IsMultiProfilesEnabled() && 643 return shell->delegate()->IsMultiProfilesEnabled() &&
649 shell->session_state_delegate()->NumberOfLoggedInUsers() > 1; 644 WmShell::Get()->GetSessionStateDelegate()->NumberOfLoggedInUsers() > 1;
650 } 645 }
651 646
652 void HandleCycleUser(SessionStateDelegate::CycleUser cycle_user) { 647 void HandleCycleUser(SessionStateDelegate::CycleUser cycle_user) {
653 MultiProfileUMA::RecordSwitchActiveUser( 648 MultiProfileUMA::RecordSwitchActiveUser(
654 MultiProfileUMA::SWITCH_ACTIVE_USER_BY_ACCELERATOR); 649 MultiProfileUMA::SWITCH_ACTIVE_USER_BY_ACCELERATOR);
655 switch (cycle_user) { 650 switch (cycle_user) {
656 case SessionStateDelegate::CYCLE_TO_NEXT_USER: 651 case SessionStateDelegate::CYCLE_TO_NEXT_USER:
657 base::RecordAction(UserMetricsAction("Accel_Switch_To_Next_User")); 652 base::RecordAction(UserMetricsAction("Accel_Switch_To_Next_User"));
658 break; 653 break;
659 case SessionStateDelegate::CYCLE_TO_PREVIOUS_USER: 654 case SessionStateDelegate::CYCLE_TO_PREVIOUS_USER:
660 base::RecordAction(UserMetricsAction("Accel_Switch_To_Previous_User")); 655 base::RecordAction(UserMetricsAction("Accel_Switch_To_Previous_User"));
661 break; 656 break;
662 } 657 }
663 Shell::GetInstance()->session_state_delegate()->CycleActiveUser(cycle_user); 658 WmShell::Get()->GetSessionStateDelegate()->CycleActiveUser(cycle_user);
664 } 659 }
665 660
666 bool CanHandleToggleCapsLock(const ui::Accelerator& accelerator, 661 bool CanHandleToggleCapsLock(const ui::Accelerator& accelerator,
667 const ui::Accelerator& previous_accelerator) { 662 const ui::Accelerator& previous_accelerator) {
668 if (accelerator.key_code() == ui::VKEY_LWIN) { 663 if (accelerator.key_code() == ui::VKEY_LWIN) {
669 // If something else was pressed between the Search key (LWIN) 664 // If something else was pressed between the Search key (LWIN)
670 // being pressed and released, then ignore the release of the 665 // being pressed and released, then ignore the release of the
671 // Search key. 666 // Search key.
672 // TODO(danakj): Releasing Alt first breaks this: crbug.com/166495 667 // TODO(danakj): Releasing Alt first breaks this: crbug.com/166495
673 if (previous_accelerator.type() == ui::ET_KEY_RELEASED || 668 if (previous_accelerator.type() == ui::ET_KEY_RELEASED ||
(...skipping 16 matching lines...) Expand all
690 void HandleToggleMirrorMode() { 685 void HandleToggleMirrorMode() {
691 base::RecordAction(UserMetricsAction("Accel_Toggle_Mirror_Mode")); 686 base::RecordAction(UserMetricsAction("Accel_Toggle_Mirror_Mode"));
692 bool mirror = !Shell::GetInstance()->display_manager()->IsInMirrorMode(); 687 bool mirror = !Shell::GetInstance()->display_manager()->IsInMirrorMode();
693 Shell::GetInstance()->display_configuration_controller()->SetMirrorMode( 688 Shell::GetInstance()->display_configuration_controller()->SetMirrorMode(
694 mirror, true /* user_action */); 689 mirror, true /* user_action */);
695 } 690 }
696 691
697 void HandleToggleSpokenFeedback() { 692 void HandleToggleSpokenFeedback() {
698 base::RecordAction(UserMetricsAction("Accel_Toggle_Spoken_Feedback")); 693 base::RecordAction(UserMetricsAction("Accel_Toggle_Spoken_Feedback"));
699 694
700 Shell::GetInstance()->accessibility_delegate()->ToggleSpokenFeedback( 695 WmShell::Get()->GetAccessibilityDelegate()->ToggleSpokenFeedback(
701 A11Y_NOTIFICATION_SHOW); 696 A11Y_NOTIFICATION_SHOW);
702 } 697 }
703 698
704 bool CanHandleTouchHud() { 699 bool CanHandleTouchHud() {
705 return RootWindowController::ForTargetRootWindow()->touch_hud_debug(); 700 return RootWindowController::ForTargetRootWindow()->touch_hud_debug();
706 } 701 }
707 702
708 void HandleTouchHudClear() { 703 void HandleTouchHudClear() {
709 RootWindowController::ForTargetRootWindow()->touch_hud_debug()->Clear(); 704 RootWindowController::ForTargetRootWindow()->touch_hud_debug()->Clear();
710 } 705 }
(...skipping 691 matching lines...) Expand 10 before | Expand all | Expand 10 after
1402 return true; 1397 return true;
1403 } 1398 }
1404 1399
1405 AcceleratorController::AcceleratorProcessingRestriction 1400 AcceleratorController::AcceleratorProcessingRestriction
1406 AcceleratorController::GetAcceleratorProcessingRestriction(int action) { 1401 AcceleratorController::GetAcceleratorProcessingRestriction(int action) {
1407 if (WmShell::Get()->IsPinned() && 1402 if (WmShell::Get()->IsPinned() &&
1408 actions_allowed_in_pinned_mode_.find(action) == 1403 actions_allowed_in_pinned_mode_.find(action) ==
1409 actions_allowed_in_pinned_mode_.end()) { 1404 actions_allowed_in_pinned_mode_.end()) {
1410 return RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION; 1405 return RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION;
1411 } 1406 }
1412 ash::Shell* shell = ash::Shell::GetInstance(); 1407 Shell* shell = Shell::GetInstance();
1413 if (!shell->session_state_delegate()->IsActiveUserSessionStarted() && 1408 WmShell* wm_shell = WmShell::Get();
1409 if (!wm_shell->GetSessionStateDelegate()->IsActiveUserSessionStarted() &&
1414 actions_allowed_at_login_screen_.find(action) == 1410 actions_allowed_at_login_screen_.find(action) ==
1415 actions_allowed_at_login_screen_.end()) { 1411 actions_allowed_at_login_screen_.end()) {
1416 return RESTRICTION_PREVENT_PROCESSING; 1412 return RESTRICTION_PREVENT_PROCESSING;
1417 } 1413 }
1418 if (shell->session_state_delegate()->IsScreenLocked() && 1414 if (wm_shell->GetSessionStateDelegate()->IsScreenLocked() &&
1419 actions_allowed_at_lock_screen_.find(action) == 1415 actions_allowed_at_lock_screen_.find(action) ==
1420 actions_allowed_at_lock_screen_.end()) { 1416 actions_allowed_at_lock_screen_.end()) {
1421 return RESTRICTION_PREVENT_PROCESSING; 1417 return RESTRICTION_PREVENT_PROCESSING;
1422 } 1418 }
1423 if (shell->delegate()->IsRunningInForcedAppMode() && 1419 if (shell->delegate()->IsRunningInForcedAppMode() &&
1424 actions_allowed_in_app_mode_.find(action) == 1420 actions_allowed_in_app_mode_.find(action) ==
1425 actions_allowed_in_app_mode_.end()) { 1421 actions_allowed_in_app_mode_.end()) {
1426 return RESTRICTION_PREVENT_PROCESSING; 1422 return RESTRICTION_PREVENT_PROCESSING;
1427 } 1423 }
1428 if (WmShell::Get()->IsSystemModalWindowOpen() && 1424 if (WmShell::Get()->IsSystemModalWindowOpen() &&
1429 actions_allowed_at_modal_window_.find(action) == 1425 actions_allowed_at_modal_window_.find(action) ==
1430 actions_allowed_at_modal_window_.end()) { 1426 actions_allowed_at_modal_window_.end()) {
1431 // Note we prevent the shortcut from propagating so it will not 1427 // Note we prevent the shortcut from propagating so it will not
1432 // be passed to the modal window. This is important for things like 1428 // be passed to the modal window. This is important for things like
1433 // Alt+Tab that would cause an undesired effect in the modal window by 1429 // Alt+Tab that would cause an undesired effect in the modal window by
1434 // cycling through its window elements. 1430 // cycling through its window elements.
1435 return RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION; 1431 return RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION;
1436 } 1432 }
1437 if (shell->mru_window_tracker()->BuildMruWindowList().empty() && 1433 if (shell->mru_window_tracker()->BuildMruWindowList().empty() &&
1438 actions_needing_window_.find(action) != actions_needing_window_.end()) { 1434 actions_needing_window_.find(action) != actions_needing_window_.end()) {
1439 Shell::GetInstance()->accessibility_delegate()->TriggerAccessibilityAlert( 1435 wm_shell->GetAccessibilityDelegate()->TriggerAccessibilityAlert(
1440 A11Y_ALERT_WINDOW_NEEDED); 1436 A11Y_ALERT_WINDOW_NEEDED);
1441 return RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION; 1437 return RESTRICTION_PREVENT_PROCESSING_AND_PROPAGATION;
1442 } 1438 }
1443 return RESTRICTION_NONE; 1439 return RESTRICTION_NONE;
1444 } 1440 }
1445 1441
1446 void AcceleratorController::SetKeyboardBrightnessControlDelegate( 1442 void AcceleratorController::SetKeyboardBrightnessControlDelegate(
1447 std::unique_ptr<KeyboardBrightnessControlDelegate> 1443 std::unique_ptr<KeyboardBrightnessControlDelegate>
1448 keyboard_brightness_control_delegate) { 1444 keyboard_brightness_control_delegate) {
1449 keyboard_brightness_control_delegate_ = 1445 keyboard_brightness_control_delegate_ =
1450 std::move(keyboard_brightness_control_delegate); 1446 std::move(keyboard_brightness_control_delegate);
1451 } 1447 }
1452 1448
1453 } // namespace ash 1449 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | ash/accelerators/accelerator_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698