Index: chrome/browser/ui/panels/panel_browser_window_cocoa.mm |
diff --git a/chrome/browser/ui/panels/panel_browser_window_cocoa.mm b/chrome/browser/ui/panels/panel_browser_window_cocoa.mm |
index 3e7521ff0212634ad53a81756e7cd01c30d99695..d3fba0d5550ad229dd090d561c478f05165e7ce8 100644 |
--- a/chrome/browser/ui/panels/panel_browser_window_cocoa.mm |
+++ b/chrome/browser/ui/panels/panel_browser_window_cocoa.mm |
@@ -7,6 +7,7 @@ |
#include "base/logging.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/browser/ui/cocoa/find_bar/find_bar_bridge.h" |
+#import "chrome/browser/ui/cocoa/browser_window_utils.h" |
#include "chrome/browser/ui/panels/panel.h" |
#include "chrome/browser/ui/panels/panel_manager.h" |
#import "chrome/browser/ui/panels/panel_window_controller_cocoa.h" |
@@ -156,13 +157,29 @@ bool PanelBrowserWindowCocoa::IsDrawingAttention() const { |
bool PanelBrowserWindowCocoa::PreHandlePanelKeyboardEvent( |
const NativeWebKeyboardEvent& event, bool* is_keyboard_shortcut) { |
- NOTIMPLEMENTED(); |
+ if (![BrowserWindowUtils shouldHandleKeyboardEvent:event]) |
+ return false; |
+ |
+ int id = [BrowserWindowUtils getCommandId:event]; |
+ if (id == -1) |
+ return false; |
+ |
+ if (browser()->IsReservedCommandOrKey(id, event)) { |
+ return [BrowserWindowUtils handleKeyboardEvent:event.os_event |
+ inWindow:GetNativePanelHandle()]; |
+ } |
+ |
+ DCHECK(is_keyboard_shortcut); |
+ *is_keyboard_shortcut = true; |
return false; |
} |
void PanelBrowserWindowCocoa::HandlePanelKeyboardEvent( |
const NativeWebKeyboardEvent& event) { |
- NOTIMPLEMENTED(); |
+ if ([BrowserWindowUtils shouldHandleKeyboardEvent:event]) { |
+ [BrowserWindowUtils handleKeyboardEvent:event.os_event |
+ inWindow:GetNativePanelHandle()]; |
+ } |
} |
Browser* PanelBrowserWindowCocoa::GetPanelBrowser() const { |