Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2924)

Unified Diff: chrome/renderer/resources/extensions/input.ime_custom_bindings.js

Issue 10704073: Plumb listenerIDs correctly for events that clobber chrome.Event.prototype.dispatch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix tts Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/renderer/resources/extensions/input.ime_custom_bindings.js
diff --git a/chrome/renderer/resources/extensions/input.ime_custom_bindings.js b/chrome/renderer/resources/extensions/input.ime_custom_bindings.js
index 7a64e9dcf736b1a880e9dfcf2bc400702041e657..204a9e0ae81a9c136fe25fc634ac8aabc99f4232 100644
--- a/chrome/renderer/resources/extensions/input.ime_custom_bindings.js
+++ b/chrome/renderer/resources/extensions/input.ime_custom_bindings.js
@@ -8,29 +8,16 @@
var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();
chromeHidden.registerCustomHook('input.ime', function() {
- chrome.input.ime.onKeyEvent.dispatch = function(engineID, keyData) {
- var args = Array.prototype.slice.call(arguments);
- if (this.validate_) {
- var validationErrors = this.validate_(args);
- if (validationErrors) {
- chrome.input.ime.eventHandled(requestId, false);
- return validationErrors;
- }
- }
- if (this.listeners_.length > 1) {
- console.error('Too many listeners for onKeyEvent: ' + e.stack);
- chrome.input.ime.eventHandled(requestId, false);
- return;
- }
- for (var i = 0; i < this.listeners_.length; i++) {
- try {
- var requestId = keyData.requestId;
- var result = this.listeners_[i].callback.apply(null, args);
- chrome.input.ime.eventHandled(requestId, result);
- } catch (e) {
- console.error('Error in event handler for onKeyEvent: ' + e.stack);
- chrome.input.ime.eventHandled(requestId, false);
- }
+ chrome.input.ime.onKeyEvent.dispatchToListener = function(callback, args) {
+ var engineID = args[0];
+ var keyData = args[1];
+
+ var result = false;
+ try {
+ result = chrome.Event.prototype.dispatchToListener(callback, args);
+ } catch (e) {
+ console.error('Error in event handler for onKeyEvent: ' + e.stack);
}
+ chrome.input.ime.eventHandled(keyData.requestId, result);
};
});

Powered by Google App Engine
This is Rietveld 408576698