diff options
-rw-r--r-- | chrome/browser/cocoa/base_view.mm | 4 | ||||
-rw-r--r-- | webkit/glue/webview_impl.cc | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/base_view.mm b/chrome/browser/cocoa/base_view.mm index 5d4d563..e5ed3a2 100644 --- a/chrome/browser/cocoa/base_view.mm +++ b/chrome/browser/cocoa/base_view.mm @@ -92,6 +92,10 @@ [self keyEvent:theEvent]; } +- (void)flagsChanged:(NSEvent *)theEvent { + [self keyEvent:theEvent]; +} + - (gfx::Rect)NSRectToRect:(NSRect)rect { gfx::Rect new_rect(NSRectToCGRect(rect)); new_rect.set_y([self bounds].size.height - new_rect.y() - new_rect.height()); diff --git a/webkit/glue/webview_impl.cc b/webkit/glue/webview_impl.cc index 04c18ef..89af941 100644 --- a/webkit/glue/webview_impl.cc +++ b/webkit/glue/webview_impl.cc @@ -622,6 +622,14 @@ bool WebViewImpl::KeyEvent(const WebKeyboardEvent& event) { } #endif + // It's not clear if we should continue after detecting a capslock keypress. + // I'll err on the side of continuing, which is the pre-existing behaviour. + if (event.windowsKeyCode == base::VKEY_CAPITAL && + (event.type == WebInputEvent::KeyUp || + event.type == WebInputEvent::KeyDown)) { + handler->capsLockStateMayHaveChanged(); + } + MakePlatformKeyboardEvent evt(event); if (WebInputEvent::RawKeyDown == event.type) { |