scryfall.com - Unable to type
Categories
(GeckoView :: General, defect, P3)
Tracking
(Webcompat Priority:?, firefox75 wontfix, firefox76 wontfix, firefox77 wontfix, firefox78 wontfix, firefox79 fixed, firefox80 fixed)
People
(Reporter: karlcow, Assigned: m_kato)
References
()
Details
(Whiteboard: [geckoview:m79][geckoview:m80])
Attachments
(1 file)
47 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
Steps to Reproduce:
- On the advanced search page, https://scryfall.com/advanced scroll down to the "Sets" section.
- Tap on the first input that says "Enter the set name or choose from the list". A list of the available sets sppears - these work fine; ignore these.
- Tap on the input again to allow searching via text.
- Attempt to enter a phrase (e.g. "Secret"). The letters either do not appear, or appear in the wrong order.
Notes:
- This issue seems to apply to all instances of this "text input / dropdown hybrid" component on the page.
- This component works in Chrome, although it is worth noting that you can't type quickly to search; you must pause between typing each letter - if you don't, some of the letters do not appear and appear to be being "skipped" (however, they do not appear in the wrong order).
Screenshot
Browser Versions:
- Fennec Nightly (68.0a1) with no Add-ons
- Fenix Nightly (74.0, Thursday 1/23)
see a log of the events
https://github.com/webcompat/web-bugs/issues/47822#issuecomment-619770448
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Comment 1•4 years ago
|
||
Emily, Makoto, could we have an update on this bug wrt our upcoming releases? Thanks
Assignee | ||
Comment 2•4 years ago
|
||
(In reply to Pascal Chevrel:pascalc from comment #1)
Emily, Makoto, could we have an update on this bug wrt our upcoming releases? Thanks
I am working this for GV79. This is a kind of web compat issue.
Assignee | ||
Comment 3•4 years ago
•
|
||
This issue is that web site wants to commit IME/predict string per input. They seem to use blur()
and focus()
to commit it. Even using Chrome, input is too slow due to it. GeckoView cannot remove/clear internal predict string by it. But I need investigate why.
But this approach of this site isn't good since software keyboard can have multiple state by tap count (1 tap is a, 2 tap is b and etc). When using its keyboard, user cannot input expected character well.
Assignee | ||
Comment 4•4 years ago
|
||
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 5•4 years ago
|
||
If client script wants to commit composition string per input, it sometimes
use the following script.
let input = document.getElementById('input');
input.addEventListener('input', () => {
input.blur();
input.focus();
});
Since blur
will commit composition string, this script can commit text. But
since Gecko has an optimization for this situation, focus won't be lost
completely.
Although GeckoView synchronizes Java text and selection with Gecko text when
getting focus, this sample may be failed due to timing issue. blur
tries to
commit string, but result is never returned since focus is lost as temporary
(although text is finally committed in Gecko.). Then, GeckoView are waiting
for result that is never returned forever, So this synchronization is failed.
When getting focus again, we should synchronize it at force.
Updated•4 years ago
|
Pushed by m_kato@ga2.so-net.ne.jp: https://hg.mozilla.org/integration/autoland/rev/7ec6ab6d8056 Synchronize Java text and Gecko text at force when getting focus. r=geckoview-reviewers,agi
Comment 7•4 years ago
|
||
bugherder |
Comment 8•4 years ago
|
||
Please nominate this for Beta approval when you get a chance.
Assignee | ||
Comment 9•4 years ago
|
||
Comment on attachment 9157556 [details]
Bug 1633621 - Synchronize Java text and Gecko text at force when getting focus.
Beta/Release Uplift Approval Request
- User impact if declined: Web developer often use a hack to commit composition string per input like the following script.
let input = document.getElementById('input');
input.addEventListener('input', () => {
input.blur();
input.focus();
});
When web site uses this script, Fenix (GeckoView) cannot input expected text. (ex. caret position is always reset at head per input).
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: Yes
- If yes, steps to reproduce: 1. On the advanced search page, https://scryfall.com/advanced scroll down to the "Sets" section.
- Tap on the first input that says "Enter the set name or choose from the list". A list of the available sets sppears - these work fine; ignore these.
- Tap on the input again to allow searching via text.
- Attempt to enter a phrase (e.g. "Secret"). The letters either do not appear, or appear in the wrong order.
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): When getting focus (calling
element.focus()
), we always reset and re-initialize all input data and caret position. - String changes made/needed: No
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Comment 10•4 years ago
|
||
Comment on attachment 9157556 [details]
Bug 1633621 - Synchronize Java text and Gecko text at force when getting focus.
Approved for 79.0b8/GV79.
Comment 11•4 years ago
|
||
bugherder uplift |
Comment 12•1 year ago
|
||
Verified as fixed on the latest Nightly 109.0a1 from 22/11 with Sony Xperia (Android 6.0.1). The letters appear correctly.
Description
•