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

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: respond to commens 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 8f400c780fd3502184137a6a32262de32ff0a27b..4b4050fd3876aa387b495ff9405fbd8d31cf1ae9 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].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 = callback.apply(null, args);
benwells 2012/07/06 06:25:56 Nit: use chrome.Event.prototype.dispathToListener,
koz (OOO until 15th September) 2012/07/06 07:31:20 Done.
+ } 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