Closed Bug 1151875 Opened 10 years ago Closed 10 years ago

Some IME text updates are not handled

Categories

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

All
Android
defect
Not set
normal

Tracking

(firefox40 fixed)

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
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: