nsDOMWindowUtils::ZoomToFocusedInput pans and zooms even if the input is already visible.
Categories
(Core :: Panning and Zooming, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox76 | --- | fixed |
People
(Reporter: emilio, Assigned: emilio)
References
Details
Attachments
(3 files)
Also, it pans to the top-left of the viewport, which is not great. Chrome pans to the nearest side.
Also, when you're in a big textarea (like the one in bugzilla), and you tap inside the cursor, it zooms out of it when you tap over it, which is again really annoying.
Though that may be a thing Geckoview should fix by not sending the message if the element was already focused / the focus didn't change... :)
https://crisal.io/tmp/input-text-number-pattern.html is a very simple test-case for the first issue.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 1•5 years ago
|
||
This should not have any behavior change, but avoids keeping nsIFrame pointers
across calls to ScrollContentIntoView(), which can flush layout and thus is
unsafe.
Updated•5 years ago
|
Assignee | ||
Comment 2•5 years ago
|
||
When you're zoomed inside a large text-area in GeckoView, we are zooming out
right now which is very disruptive and clearly not what the code intended.
Depends on D67220
Assignee | ||
Comment 3•5 years ago
|
||
When you type in a textarea, and zoom to position the caret, then click, we'll
scroll all the way to the top of the textarea, via:
IMEStateManager::OnClickInEditor -> SetIMEState -> SetInputContext -> mEditable->NotifyIME(EditableListener::NOTIFY_IME_OPEN_VKB);
Even if the keyboard was already displayed. In this case, we're not moving
focus, and panning to the start causes more issues than it fixes. Prevent
zooming to the start of the input in this case, but still do it if we get the
resize event (and thus toggle the keyboard).
Depends on D67221
Comment 6•5 years ago
|
||
Making P2 since this impacts Fenix user experience and is subjectively quite annoying when it happens. Thanks for tracking this down!
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c8150539058d Refactor a bit nsDOMWindowUtils::ZoomToFocusedInput. r=botond https://hg.mozilla.org/integration/autoland/rev/b50bdc37f8f2 Really prevent to zoom out when ZoomToRect is called with DISABLE_ZOOM_OUT. r=botond https://hg.mozilla.org/integration/autoland/rev/041c310f2bf7 Don't force-focus the input when we're force-showing the virtual keyboard. r=m_kato
Comment 8•5 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c8150539058d
https://hg.mozilla.org/mozilla-central/rev/b50bdc37f8f2
https://hg.mozilla.org/mozilla-central/rev/041c310f2bf7
Description
•