Closed Bug 1151875 Opened 5 years ago Closed 5 years ago

Some IME text updates are not handled

Categories

(Firefox for Android :: Keyboards and IME, defect)

All
Android
defect
Not set

Tracking

()

RESOLVED FIXED
Firefox 40
Tracking Status
firefox40 --- fixed

People

(Reporter: jchen, Assigned: jchen)

Details

Attachments

(2 files)

We reply on IME text updates from nsWindow to GeckoEditable to keep the Java version of the text in-sync with the Gecko version of the text. However, we have a "text update mask" in nsWindow that could sometimes prevent updates from propagating, leading to discrepancy between the Java text and Gecko text.
Make GeckoEditable.ActionQueue.peek() able to return null, so that a separate isEmpty() check is not necessary before calling peek().
Attachment #8589124 - Flags: review?(esawin)
Get rid of the mask-text-updates flag. This may cause extra text updates to be sent, so we do an extra check inside GeckoEditable.onTextChange to ignore meaningless changes (i.e. changes that contain the same text as before).
Attachment #8589129 - Flags: review?(esawin)
Attachment #8589124 - Flags: review?(esawin) → review+
Comment on attachment 8589129 [details] [diff] [review]
Never mask text updates in nsWindow (v1)

Review of attachment 8589129 [details] [diff] [review]:
-----------------------------------------------------------------

I assume there is no way to fix this in nsWindow without removing text update masking?
This patch will pass some redundant text updates to Java and trigger text comparisons on those, which could be a noticeable regression on huge texts.
Attachment #8589129 - Flags: review?(esawin) → review+
(In reply to Eugen Sawin [:esawin] from comment #3)
> Comment on attachment 8589129 [details] [diff] [review]
> Never mask text updates in nsWindow (v1)
> 
> Review of attachment 8589129 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> I assume there is no way to fix this in nsWindow without removing text
> update masking?
> This patch will pass some redundant text updates to Java and trigger text
> comparisons on those, which could be a noticeable regression on huge texts.

Yeah I couldn't think of a better way. We only send text diffs so hopefully the perf impact won't be as bad.


https://hg.mozilla.org/integration/fx-team/rev/5a5d9b3747cd
https://hg.mozilla.org/integration/fx-team/rev/baa7fca08c45
You need to log in before you can comment on or make changes to this bug.