summaryrefslogtreecommitdiffstats
path: root/win8
diff options
context:
space:
mode:
Diffstat (limited to 'win8')
-rw-r--r--win8/metro_driver/chrome_app_view_ash.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/win8/metro_driver/chrome_app_view_ash.cc b/win8/metro_driver/chrome_app_view_ash.cc
index dcc7e0f..0560e73 100644
--- a/win8/metro_driver/chrome_app_view_ash.cc
+++ b/win8/metro_driver/chrome_app_view_ash.cc
@@ -1236,6 +1236,13 @@ HRESULT ChromeAppViewAsh::OnAcceleratorKeyDown(
if ((virtual_key == VK_F4) && ((keyboard_flags & ui::EF_ALT_DOWN) &&
!(keyboard_flags & ui::EF_CONTROL_DOWN)))
return S_OK;
+ // Don't send the EF_ALT_DOWN modifier along with the IPC message for
+ // the Alt or F10 key. The accelerator for VKEY_MENU is registered
+ // without modifiers in Chrome for historical reasons. Not sending the
+ // EF_ALT_DOWN modifier ensures that the accelerator is processed
+ // correctly.
+ if (virtual_key == winsys::VirtualKey_Menu)
+ keyboard_flags &= ~ui::EF_ALT_DOWN;
ui_channel_->Send(new MetroViewerHostMsg_KeyDown(virtual_key,
status.RepeatCount,
status.ScanCode,