Closed Bug 1598782 Opened 6 years ago Closed 6 years ago

Text entry is broken with certain input fields

Categories

(GeckoView :: IME, defect, P1)

72 Branch
ARM64
Android
defect

Tracking

(firefox73 fixed)

RESOLVED FIXED
mozilla73
Tracking Status
firefox73 --- fixed

People

(Reporter: rbarker, Assigned: m_kato)

References

(Blocks 1 open bug)

Details

(Whiteboard: [geckoview:m1912])

Attachments

(1 file)

Can be reproduced in GVE, Fenix Nightly, and FxR v7 builds.
STR:

  1. Got to google.com
  2. click sign in buggon
  3. Try to enter text into Email or phone text field

Actual results:

  • No text is entered

Expected results:

  • Text is entered into the text field.

See FxR issue: https://github.com/MozillaReality/FirefoxReality/issues/2350

Assignee: nobody → imanol

I've done some research in FxR and GVE. This problem only happens with multiprocess enabled.

In GVE, restartInput seems to be called multiple times consecutively (about 4-5) when the issue is reproduced. Flow example:

  • restartInput reason: RESTART_REASON_FOCUS toggleSoftInput:true
  • restartInput reason: RESTART_REASON_CONTENT_CHANGE toggleSoftInput:false
  • restartInput reason: RESTART_REASON_BLUR toggleSoftInput:false
  • restartInput reason: RESTART_REASON_FOCUS toggleSoftInput:true

After that flow GeckoEditable doesn't receive IME_REPLY_EVENTevents anymore and mActions is never cleaned

Assignee: imanol → nobody

IME issue.

Whiteboard: [geckoview:m1912]
Assignee: nobody → m_kato
Rank: 1
Priority: -- → P2

It seems JNI issue and may be race condition. When calling onImeSynchronize() and OnNatvieCall is called, but runnable is failure (maybe this->lambda.GetNativeObject() is null in Run(). It means that GeckoEditableSupport will be died.)

GeckoEditableSupport::TransferParent might destroy own if dispatcher is nothing... But I guess that dispatcher's initialization is delayed...

NOTIFY_IME_OF_FOCUS performs lazy initialization for text dispatcher. When
GeckoViewSupport attaches GeckoEditable during initialization,
GeckoEditableSupport destroys myself.

So we should use lazy task to check whether this attach is temporary.

See Also: → 1471692
Pushed by m_kato@ga2.so-net.ne.jp: https://hg.mozilla.org/integration/autoland/rev/2571d0598f42 Don't destroy GeckoEditableSupport when getting focus. r=geckoview-reviewers,rbarker
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla73
Blocks: 1658529

Moving some input bugs to the new GeckoView::IME component.

Component: General → IME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: