Index: chrome/browser/ui/views/frame/browser_view.cc |
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc |
index 9823d93ee2fb1ab78bd643f04c977fb4b1747170..f3e473ade16ba65957da56cd591b2eec3b21416f 100644 |
--- a/chrome/browser/ui/views/frame/browser_view.cc |
+++ b/chrome/browser/ui/views/frame/browser_view.cc |
@@ -41,6 +41,7 @@ |
#include "chrome/browser/themes/theme_properties.h" |
#include "chrome/browser/themes/theme_service_factory.h" |
#include "chrome/browser/translate/chrome_translate_client.h" |
+#include "chrome/browser/ui/ash/ash_util.h" |
#include "chrome/browser/ui/bookmarks/bookmark_bar_constants.h" |
#include "chrome/browser/ui/bookmarks/bookmark_bubble_delegate.h" |
#include "chrome/browser/ui/bookmarks/bookmark_bubble_sign_in_delegate.h" |
@@ -1428,6 +1429,8 @@ bool BrowserView::PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, |
// What we have to do here is as follows: |
// - If the |browser_| is for an app, do nothing. |
+ // - On CrOS if |accelerator| is deprecated, we allow web contents to consume |
+ // it if needed. |
// - If the |browser_| is not for an app, and the |accelerator| is not |
// associated with the browser (e.g. an Ash shortcut), process it. |
// - If the |browser_| is not for an app, and the |accelerator| is associated |
@@ -1443,6 +1446,14 @@ bool BrowserView::PreHandleKeyboardEvent(const NativeWebKeyboardEvent& event, |
return false; |
} |
+#if defined(OS_CHROMEOS) |
+ if (chrome::IsAcceleratorDeprecated(accelerator)) { |
+ if (event.type == blink::WebInputEvent::RawKeyDown) |
+ *is_keyboard_shortcut = true; |
+ return false; |
+ } |
+#endif // defined(OS_CHROMEOS) |
+ |
chrome::BrowserCommandController* controller = browser_->command_controller(); |
// Here we need to retrieve the command id (if any) associated to the |