Chromium Code Reviews| 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 204a9e0ae81a9c136fe25fc634ac8aabc99f4232..f6573f02671e6a188d1b721b84de39d552829308 100644 |
| --- a/chrome/renderer/resources/extensions/input.ime_custom_bindings.js |
| +++ b/chrome/renderer/resources/extensions/input.ime_custom_bindings.js |
| @@ -18,6 +18,26 @@ chromeHidden.registerCustomHook('input.ime', function() { |
| } catch (e) { |
| console.error('Error in event handler for onKeyEvent: ' + e.stack); |
| } |
| - chrome.input.ime.eventHandled(keyData.requestId, result); |
| + if (!chrome.input.ime.onKeyEvent.async) |
| + chrome.input.ime.keyEventHandled(keyData.requestId, result); |
| + }; |
| + |
| + chrome.input.ime.onKeyEvent.addListener = function(cb, opt_extraInfo) { |
| + if (!this.eventOptions_.supportsListeners) |
|
Matt Perry
2012/11/30 20:31:59
Rather than cut+pasting, you can call the original
Zachary Kuznia
2012/12/03 05:54:45
Done.
|
| + throw new Error("This event does not support listeners."); |
| + if (this.eventOptions_.maxListeners && |
| + this.getListenerCount() >= this.eventOptions_.maxListeners) |
| + throw new Error("Too many listeners for " + this.eventName_); |
| + chrome.input.ime.onKeyEvent.async = false; |
| + if (opt_extraInfo instanceof Array) { |
| + for (var i = 0; i < opt_extraInfo.length; ++i) { |
| + if (opt_extraInfo[i] == "async") { |
| + chrome.input.ime.onKeyEvent.async = true; |
| + } |
| + } |
| + } |
| + var listener = {callback: cb, filters: null}; |
| + this.attach_(listener); |
| + this.listeners_.push(listener); |
| }; |
| }); |