Index: third_party/google_input_tools/third_party/closure_library/closure/goog/events/keyhandler.js |
diff --git a/third_party/google_input_tools/third_party/closure_library/closure/goog/events/keyhandler.js b/third_party/google_input_tools/third_party/closure_library/closure/goog/events/keyhandler.js |
index 6a7662f539e47110194045f8571b80e76a23eefc..6d7fd3f0982909fbb4e9b7729080afa21fa4a009 100644 |
--- a/third_party/google_input_tools/third_party/closure_library/closure/goog/events/keyhandler.js |
+++ b/third_party/google_input_tools/third_party/closure_library/closure/goog/events/keyhandler.js |
@@ -280,6 +280,7 @@ goog.events.KeyHandler.keyIdentifier_ = { |
* @private |
*/ |
goog.events.KeyHandler.USES_KEYDOWN_ = goog.userAgent.IE || |
+ goog.userAgent.EDGE || |
goog.userAgent.WEBKIT && goog.userAgent.isVersionOrHigher('525'); |
@@ -305,13 +306,12 @@ goog.events.KeyHandler.prototype.handleKeyDown_ = function(e) { |
// Ctrl-Tab and Alt-Tab can cause the focus to be moved to another window |
// before we've caught a key-up event. If the last-key was one of these we |
// reset the state. |
- if (goog.userAgent.WEBKIT) { |
+ if (goog.userAgent.WEBKIT || goog.userAgent.EDGE) { |
if (this.lastKey_ == goog.events.KeyCodes.CTRL && !e.ctrlKey || |
this.lastKey_ == goog.events.KeyCodes.ALT && !e.altKey || |
goog.userAgent.MAC && |
this.lastKey_ == goog.events.KeyCodes.META && !e.metaKey) { |
- this.lastKey_ = -1; |
- this.keyCode_ = -1; |
+ this.resetState(); |
} |
} |
@@ -382,7 +382,7 @@ goog.events.KeyHandler.prototype.handleEvent = function(e) { |
// Safari reports the character code in the keyCode field for keypress |
// events but also has a charCode field. |
- } else if (goog.userAgent.WEBKIT && |
+ } else if ((goog.userAgent.WEBKIT || goog.userAgent.EDGE) && |
e.type == goog.events.EventType.KEYPRESS) { |
keyCode = this.keyCode_; |
charCode = be.charCode >= 0 && be.charCode < 63232 && |
@@ -390,7 +390,7 @@ goog.events.KeyHandler.prototype.handleEvent = function(e) { |
be.charCode : 0; |
// Opera reports the keycode or the character code in the keyCode field. |
- } else if (goog.userAgent.OPERA) { |
+ } else if (goog.userAgent.OPERA && !goog.userAgent.WEBKIT) { |
keyCode = this.keyCode_; |
charCode = goog.events.KeyCodes.isCharacterKey(keyCode) ? |
be.keyCode : 0; |