Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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_delegate_aura.h" | 5 #include "ash/accelerators/accelerator_controller_delegate_aura.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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 61 #include "ui/display/screen.h" | 61 #include "ui/display/screen.h" |
| 62 #include "ui/events/event.h" | 62 #include "ui/events/event.h" |
| 63 #include "ui/events/keycodes/keyboard_codes.h" | 63 #include "ui/events/keycodes/keyboard_codes.h" |
| 64 #include "ui/gfx/canvas.h" | 64 #include "ui/gfx/canvas.h" |
| 65 #include "ui/gfx/image/image_skia.h" | 65 #include "ui/gfx/image/image_skia.h" |
| 66 #include "ui/message_center/message_center.h" | 66 #include "ui/message_center/message_center.h" |
| 67 #include "ui/message_center/notification.h" | 67 #include "ui/message_center/notification.h" |
| 68 #include "ui/message_center/notifier_settings.h" | 68 #include "ui/message_center/notifier_settings.h" |
| 69 | 69 |
| 70 #if defined(OS_CHROMEOS) | 70 #if defined(OS_CHROMEOS) |
| 71 #include "ash/common/palette_delegate.h" | |
|
James Cook
2016/08/26 01:05:51
Since this code is in ash/common you should be abl
jdufault
2016/08/26 02:44:56
Done.
| |
| 72 #include "ash/common/system/chromeos/palette/palette_tray.h" | |
| 73 #include "ash/common/system/chromeos/palette/palette_utils.h" | |
| 71 #include "ash/display/display_configuration_controller.h" | 74 #include "ash/display/display_configuration_controller.h" |
| 72 #include "base/sys_info.h" | 75 #include "base/sys_info.h" |
| 73 #endif // defined(OS_CHROMEOS) | 76 #endif // defined(OS_CHROMEOS) |
| 74 | 77 |
| 75 namespace ash { | 78 namespace ash { |
| 76 namespace { | 79 namespace { |
| 77 | 80 |
| 78 using base::UserMetricsAction; | 81 using base::UserMetricsAction; |
| 79 | 82 |
| 80 // The notification delegate that will be used to open the keyboard shortcut | 83 // The notification delegate that will be used to open the keyboard shortcut |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 314 break; | 317 break; |
| 315 } | 318 } |
| 316 } | 319 } |
| 317 | 320 |
| 318 bool CanHandleUnpin() { | 321 bool CanHandleUnpin() { |
| 319 wm::WindowState* window_state = wm::GetActiveWindowState(); | 322 wm::WindowState* window_state = wm::GetActiveWindowState(); |
| 320 return window_state && window_state->IsPinned(); | 323 return window_state && window_state->IsPinned(); |
| 321 } | 324 } |
| 322 | 325 |
| 323 #if defined(OS_CHROMEOS) | 326 #if defined(OS_CHROMEOS) |
| 327 bool CanHandleShowStylusTools() { | |
| 328 RootWindowController* controller = | |
| 329 RootWindowController::ForTargetRootWindow(); | |
| 330 StatusAreaWidget* status_area_widget = | |
| 331 controller->shelf_widget()->status_area_widget(); | |
| 332 return status_area_widget && ash::IsPaletteFeatureEnabled() && | |
|
James Cook
2016/08/26 01:05:51
nit: StatusAreaWidget is created in the SHelfWidge
jdufault
2016/08/26 02:44:56
Done.
| |
| 333 WmShell::Get()->palette_delegate()->ShouldShowPalette(); | |
| 334 } | |
| 335 | |
| 336 void HandleShowStylusTools() { | |
| 337 base::RecordAction(UserMetricsAction("Accel_Show_Stylus_Tools")); | |
| 338 RootWindowController* controller = | |
| 339 RootWindowController::ForTargetRootWindow(); | |
| 340 StatusAreaWidget* status_area_widget = | |
| 341 controller->shelf_widget()->status_area_widget(); | |
| 342 if (status_area_widget) { | |
|
James Cook
2016/08/26 01:05:51
ditto
jdufault
2016/08/26 02:44:56
Done.
| |
| 343 PaletteTray* palette_tray = status_area_widget->palette_tray(); | |
| 344 palette_tray->OpenBubble(); | |
| 345 } | |
| 346 } | |
| 347 | |
| 324 void HandleSwapPrimaryDisplay() { | 348 void HandleSwapPrimaryDisplay() { |
| 325 base::RecordAction(UserMetricsAction("Accel_Swap_Primary_Display")); | 349 base::RecordAction(UserMetricsAction("Accel_Swap_Primary_Display")); |
| 326 Shell::GetInstance()->display_configuration_controller()->SetPrimaryDisplayId( | 350 Shell::GetInstance()->display_configuration_controller()->SetPrimaryDisplayId( |
| 327 ScreenUtil::GetSecondaryDisplay().id(), true /* user_action */); | 351 ScreenUtil::GetSecondaryDisplay().id(), true /* user_action */); |
| 328 } | 352 } |
| 329 | 353 |
| 330 void HandleToggleMirrorMode() { | 354 void HandleToggleMirrorMode() { |
| 331 base::RecordAction(UserMetricsAction("Accel_Toggle_Mirror_Mode")); | 355 base::RecordAction(UserMetricsAction("Accel_Toggle_Mirror_Mode")); |
| 332 bool mirror = !Shell::GetInstance()->display_manager()->IsInMirrorMode(); | 356 bool mirror = !Shell::GetInstance()->display_manager()->IsInMirrorMode(); |
| 333 Shell::GetInstance()->display_configuration_controller()->SetMirrorMode( | 357 Shell::GetInstance()->display_configuration_controller()->SetMirrorMode( |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 396 return true; | 420 return true; |
| 397 | 421 |
| 398 #if defined(OS_CHROMEOS) | 422 #if defined(OS_CHROMEOS) |
| 399 case DEBUG_ADD_REMOVE_DISPLAY: | 423 case DEBUG_ADD_REMOVE_DISPLAY: |
| 400 case DEBUG_TOGGLE_UNIFIED_DESKTOP: | 424 case DEBUG_TOGGLE_UNIFIED_DESKTOP: |
| 401 case DISABLE_GPU_WATCHDOG: | 425 case DISABLE_GPU_WATCHDOG: |
| 402 case LOCK_PRESSED: | 426 case LOCK_PRESSED: |
| 403 case LOCK_RELEASED: | 427 case LOCK_RELEASED: |
| 404 case POWER_PRESSED: | 428 case POWER_PRESSED: |
| 405 case POWER_RELEASED: | 429 case POWER_RELEASED: |
| 430 case SHOW_STYLUS_TOOLS: | |
| 406 case SWAP_PRIMARY_DISPLAY: | 431 case SWAP_PRIMARY_DISPLAY: |
| 407 case TOGGLE_MIRROR_MODE: | 432 case TOGGLE_MIRROR_MODE: |
| 408 case TOUCH_HUD_CLEAR: | 433 case TOUCH_HUD_CLEAR: |
| 409 case TOUCH_HUD_MODE_CHANGE: | 434 case TOUCH_HUD_MODE_CHANGE: |
| 410 case TOUCH_HUD_PROJECTION_TOGGLE: | 435 case TOUCH_HUD_PROJECTION_TOGGLE: |
| 411 return true; | 436 return true; |
| 412 #endif | 437 #endif |
| 413 | 438 |
| 414 default: | 439 default: |
| 415 break; | 440 break; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 458 case TAKE_PARTIAL_SCREENSHOT: | 483 case TAKE_PARTIAL_SCREENSHOT: |
| 459 case TAKE_SCREENSHOT: | 484 case TAKE_SCREENSHOT: |
| 460 case TAKE_WINDOW_SCREENSHOT: | 485 case TAKE_WINDOW_SCREENSHOT: |
| 461 return true; | 486 return true; |
| 462 | 487 |
| 463 #if defined(OS_CHROMEOS) | 488 #if defined(OS_CHROMEOS) |
| 464 case DEBUG_ADD_REMOVE_DISPLAY: | 489 case DEBUG_ADD_REMOVE_DISPLAY: |
| 465 case DEBUG_TOGGLE_UNIFIED_DESKTOP: | 490 case DEBUG_TOGGLE_UNIFIED_DESKTOP: |
| 466 return debug::DebugAcceleratorsEnabled(); | 491 return debug::DebugAcceleratorsEnabled(); |
| 467 | 492 |
| 493 case SHOW_STYLUS_TOOLS: | |
| 494 return CanHandleShowStylusTools(); | |
| 468 case SWAP_PRIMARY_DISPLAY: | 495 case SWAP_PRIMARY_DISPLAY: |
| 469 return display::Screen::GetScreen()->GetNumDisplays() > 1; | 496 return display::Screen::GetScreen()->GetNumDisplays() > 1; |
| 470 case TOUCH_HUD_CLEAR: | 497 case TOUCH_HUD_CLEAR: |
| 471 case TOUCH_HUD_MODE_CHANGE: | 498 case TOUCH_HUD_MODE_CHANGE: |
| 472 return CanHandleTouchHud(); | 499 return CanHandleTouchHud(); |
| 473 | 500 |
| 474 // Following are always enabled. | 501 // Following are always enabled. |
| 475 case DISABLE_GPU_WATCHDOG: | 502 case DISABLE_GPU_WATCHDOG: |
| 476 case LOCK_PRESSED: | 503 case LOCK_PRESSED: |
| 477 case LOCK_RELEASED: | 504 case LOCK_RELEASED: |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 602 // There is no powerd, the Chrome OS power manager, in linux desktop, | 629 // There is no powerd, the Chrome OS power manager, in linux desktop, |
| 603 // so call the PowerButtonController here. | 630 // so call the PowerButtonController here. |
| 604 Shell::GetInstance()->power_button_controller()->OnPowerButtonEvent( | 631 Shell::GetInstance()->power_button_controller()->OnPowerButtonEvent( |
| 605 action == POWER_PRESSED, base::TimeTicks()); | 632 action == POWER_PRESSED, base::TimeTicks()); |
| 606 } | 633 } |
| 607 // We don't do anything with these at present on the device, | 634 // We don't do anything with these at present on the device, |
| 608 // (power button events are reported to us from powerm via | 635 // (power button events are reported to us from powerm via |
| 609 // D-BUS), but we consume them to prevent them from getting | 636 // D-BUS), but we consume them to prevent them from getting |
| 610 // passed to apps -- see http://crbug.com/146609. | 637 // passed to apps -- see http://crbug.com/146609. |
| 611 break; | 638 break; |
| 639 case SHOW_STYLUS_TOOLS: | |
| 640 HandleShowStylusTools(); | |
| 641 break; | |
| 612 case SWAP_PRIMARY_DISPLAY: | 642 case SWAP_PRIMARY_DISPLAY: |
| 613 HandleSwapPrimaryDisplay(); | 643 HandleSwapPrimaryDisplay(); |
| 614 break; | 644 break; |
| 615 case TOGGLE_MIRROR_MODE: | 645 case TOGGLE_MIRROR_MODE: |
| 616 HandleToggleMirrorMode(); | 646 HandleToggleMirrorMode(); |
| 617 break; | 647 break; |
| 618 case TOUCH_HUD_CLEAR: | 648 case TOUCH_HUD_CLEAR: |
| 619 HandleTouchHudClear(); | 649 HandleTouchHudClear(); |
| 620 break; | 650 break; |
| 621 case TOUCH_HUD_MODE_CHANGE: | 651 case TOUCH_HUD_MODE_CHANGE: |
| (...skipping 24 matching lines...) Expand all Loading... | |
| 646 message_center::NotifierId( | 676 message_center::NotifierId( |
| 647 message_center::NotifierId::SYSTEM_COMPONENT, | 677 message_center::NotifierId::SYSTEM_COMPONENT, |
| 648 system_notifier::kNotifierDeprecatedAccelerator), | 678 system_notifier::kNotifierDeprecatedAccelerator), |
| 649 message_center::RichNotificationData(), | 679 message_center::RichNotificationData(), |
| 650 new DeprecatedAcceleratorNotificationDelegate)); | 680 new DeprecatedAcceleratorNotificationDelegate)); |
| 651 message_center::MessageCenter::Get()->AddNotification( | 681 message_center::MessageCenter::Get()->AddNotification( |
| 652 std::move(notification)); | 682 std::move(notification)); |
| 653 } | 683 } |
| 654 | 684 |
| 655 } // namespace ash | 685 } // namespace ash |
| OLD | NEW |