summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/cocoa/base_view.mm4
-rw-r--r--webkit/glue/webview_impl.cc8
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) {