| Index: ash/accelerators/accelerator_delegate.cc
|
| diff --git a/ash/accelerators/accelerator_delegate.cc b/ash/accelerators/accelerator_delegate.cc
|
| index e7a38e6f99b9881719f6d552fd98ffa246747060..6809148639c13e4892f45b9f8dade72453b1b487 100644
|
| --- a/ash/accelerators/accelerator_delegate.cc
|
| +++ b/ash/accelerators/accelerator_delegate.cc
|
| @@ -14,17 +14,42 @@
|
|
|
| namespace ash {
|
|
|
| +namespace {
|
| +
|
| +// Returns true if |key_code| is a key usually handled directly by the shell.
|
| +bool IsSystemKey(ui::KeyboardCode key_code) {
|
| +#if defined(OS_CHROMEOS)
|
| + switch (key_code) {
|
| + case ui::VKEY_MEDIA_LAUNCH_APP2: // Fullscreen button.
|
| + case ui::VKEY_MEDIA_LAUNCH_APP1: // Overview button.
|
| + case ui::VKEY_BRIGHTNESS_DOWN:
|
| + case ui::VKEY_BRIGHTNESS_UP:
|
| + case ui::VKEY_KBD_BRIGHTNESS_DOWN:
|
| + case ui::VKEY_KBD_BRIGHTNESS_UP:
|
| + case ui::VKEY_VOLUME_MUTE:
|
| + case ui::VKEY_VOLUME_DOWN:
|
| + case ui::VKEY_VOLUME_UP:
|
| + case ui::VKEY_POWER:
|
| + return true;
|
| + default:
|
| + return false;
|
| + }
|
| +#endif // defined(OS_CHROMEOS)
|
| + return false;
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| AcceleratorDelegate::AcceleratorDelegate() {}
|
| AcceleratorDelegate::~AcceleratorDelegate() {}
|
|
|
| bool AcceleratorDelegate::ProcessAccelerator(const ui::KeyEvent& key_event,
|
| - const ui::Accelerator& accelerator,
|
| - KeyType key_type) {
|
| + const ui::Accelerator& accelerator) {
|
| // Special hardware keys like brightness and volume are handled in
|
| // special way. However, some windows can override this behavior
|
| // (e.g. Chrome v1 apps by default and Chrome v2 apps with
|
| // permission) by setting a window property.
|
| - if (key_type == KEY_TYPE_SYSTEM && !CanConsumeSystemKeys(key_event)) {
|
| + if (IsSystemKey(key_event.key_code()) && !CanConsumeSystemKeys(key_event)) {
|
| // System keys are always consumed regardless of whether they trigger an
|
| // accelerator to prevent windows from seeing unexpected key up events.
|
| Shell::GetInstance()->accelerator_controller()->Process(accelerator);
|
|
|