We're now managing only one key event during keydown events. However, IME might send two or more keydown events when we call interpretKeyEvents. So, we should manage the processing key events by an array.
Created attachment 562990 [details] [diff] [review] Patch part.1 Manage nested key events for IME I don't find actual problem of this issue. But current implementation is actually wrong and this isn't risky change. I think we should take this.
Created attachment 562991 [details] [diff] [review] Patch part.2 Consume key event which causes nested key event If an interpretKeyEvents call causes multiple key events, newer event should be consume the older events because the older events shouldn't be processed by our editor or web applications.
Created attachment 562993 [details] [diff] [review] Patch part.1 Manage nested key events for IME fix a nit in comment and outputs 8 lines around each change.
Comment on attachment 562993 [details] [diff] [review] Patch part.1 Manage nested key events for IME This looks fine to me.
Comment on attachment 562991 [details] [diff] [review] Patch part.2 Consume key event which causes nested key event This makes sense ... though any change of this nature is at least a little risky. All the better to land it early in the release cycle and see if it causes trouble.
https://hg.mozilla.org/integration/mozilla-inbound/rev/e734bd300268 https://hg.mozilla.org/integration/mozilla-inbound/rev/9c0aad93edc4 try: https://tbpl.mozilla.org/?tree=Try&usebuildbot=1&rev=42637a15103b
backedout due to random crash of mochitest-chrome. https://hg.mozilla.org/integration/mozilla-inbound/rev/e734bd300268 https://hg.mozilla.org/integration/mozilla-inbound/rev/9c0aad93edc4
merged backout to central.
Ah, note that I changed only TextInputHandler.h from the previous patch. So, you don't need to check the other part again.