[Bug] Typing an email to sign into Firefox Sync removes what you typed
Categories
(GeckoView :: General, defect, P1)
Tracking
(firefox91 fixed)
Tracking | Status | |
---|---|---|
firefox91 | --- | fixed |
People
(Reporter: kbrosnan, Assigned: m_kato)
Details
Attachments
(1 file)
From github: https://github.com/mozilla-mobile/fenix/issues/19704.
Steps to reproduce
- Go to Settings > Turn on Sync
- Start typing an email address until you reach the
@
: "example@"- Observe when typing the email hosting: "example@hosting.com"
Expected behavior
- You can type your full email address.
Actual behavior
- When pressing "h", for the example above, the current text is highlighted and removed.
Device information
- Device vendor / model and Android version: Android 11, Pixel 3
- Firefox for Android version: Firefox Nightly (27/05)
https://user-images.githubusercontent.com/1370580/120014516-2a507f80-bfb0-11eb-8622-dd643c8bc5cd.mp4
Change performed by the Move to Bugzilla add-on.
Reporter | ||
Comment 1•3 years ago
|
||
I can reproduce this bug without a custom tab (navigating to accounts.firefox.com) in Nightly and Reference Browser.
I cannot reproduce this on:
- Chrome Canary (93) with/without Custom Tabs.
- DuckDuckGo with/without Custom Tabs.
- Focus (8.15.4 with GV 88)
- Focus (
main
branch with GV 90)
Assignee | ||
Comment 3•3 years ago
|
||
Kevin, I cannot reproduce this. But I would like to look for accounts.firefox.com's JS code since this script modifies HTML when inputting "@" and any character, do you know where is this code?
Assignee | ||
Comment 4•3 years ago
|
||
Hmm, this script is unexpected behavior for each browsers when having IME's composing string...
Assignee | ||
Comment 5•3 years ago
|
||
One of reasons of this hack seems to be bug 1474137.
Assignee | ||
Comment 6•3 years ago
|
||
https://accounts.firefox.com runs the following script.
input.addEventListener("keyup", () => {
// Update <datalist>
temporaryElement.focus();
input.focus();
}
Since input.focus()
is called, GeckoViewSupport
sends current value of
focused <input>
element to GeckoEditable
, but we don't cancel previous
text transaction unfortunately. Then it may cause unexpected behaviours such
as reported issue.
So we should dispose previous text transaction when getting new focus.
Also it is difficult to write unit test for this. Because,
- Mochitest cannot test this since this issue is native IME behaviour.
- No way to create this timing on geckoview-junit.
Updated•3 years ago
|
Comment 8•3 years ago
|
||
bugherder |
Description
•