Closed Bug 1918178 Opened 2 months ago Closed 9 days ago

Blank space between fixed-position footer and keyboard, when dynamic toolbar (address bar) has been scrolled out of view, with "resizes-visual" configuration

Categories

(Fenix :: Toolbar, defect, P2)

All
Android
defect

Tracking

(firefox130 unaffected, firefox131 disabled, firefox132 wontfix, firefox133 wontfix, firefox134 fixed)

RESOLVED FIXED
134 Branch
Tracking Status
firefox130 --- unaffected
firefox131 --- disabled
firefox132 --- wontfix
firefox133 --- wontfix
firefox134 --- fixed

People

(Reporter: dholbert, Assigned: hiro)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: regression, Whiteboard: [fxdroid][group3])

Attachments

(6 files)

Attached file testcase 1

Steps to reproduce

  1. Load attached testcase.
  2. Focus the textfield (so the keyboard appears)
  3. Scroll to the end of the document (keeping the keyboard in view)

Expected behavior

  • There shouldn't be any space beyond the cyan footer.
  • In particular, no red should be visible.

Actual behavior

  • There is some blank space beyond the cyan footer.
  • ...which means red shows up in that blank space when you scroll to the end.

Device information

  • Firefox version: 132.0a1
  • Android device model: Pixel 6a
  • Android OS version: 15

Any additional information?

This is sort of a version of bug 1908249, but this version is just specific to the fixed-position viewport, I think.
This bug is responsible for the still-reproducible part of an issue on the website for Zoom (zoom.us), in bug 1909872 comment 2.

Severity: -- → S3
Priority: -- → P2

Any recommendation on how to approach this while not impacting bug 1916154?
Seems like if from Fenix we update what the height of the toolbar can be we'd regress 1916154, if not we have this kind of issues.
If merging the patches proposed from bug 1916154 we'd still allow for either of these problems to show.

Maybe you know better how big this issues are in real life, how many websites would be affected
But seems to me more and more like we need to prioritize fixing both general issues either

  • with new APIs from Gecko
  • with product/UX deciding to allow showing also the navbar when the keyboard is opened.

Thoughts?

Flags: needinfo?(hikezoe.birchill)
Flags: needinfo?(dholbert)

I'll defer to hiro on suggestions for comment 1, since he's got more context about the internal details of the various viewports and the internals/implications of toolbar-hiding than I am.

But I'll note one thing that I'm observing when retesting this today, which probably impacts the way we think about this: this bug actually reproduces regardless of whether the navbar is enabled. (I confirmed that in Nightly now that I know how to disable the navbar in secret-settings menu.) I had initially assumed this was navbar-related due to the similar feel to bug 1908249 (which is navbar-related), but it seems that this bug here may be a distinct issue.

Two notes though:

Maybe you know better how big this issues are in real life, how many websites would be affected

Any website that has bottom:0 fixedpos content (whether for a small footer or a full-screen overlay) and also has textfields would hit this. Probably not in a way that would prevent the site from being usable, but in a way that looks broken at least.

This is reasonably common; plenty of sites have bottom-bars or overlays of some sort.

with product/UX deciding to allow showing also the navbar when the keyboard is opened.

(I'm not a product/UX person, but I suspect this decision is unlikely -- screen real-estate is quite constrained and limited when the keyboard is up, particularly for small phone screens, so any UI that we show needs a strong justification to be there. The address bar has some security/anti-phishing value from a sec perspective, to confirm site-identity as you begin typing a password, for example; but the navbar has no strong reason to be present when the user is typing into a textfield, that I can think of.)

Flags: needinfo?(dholbert)

(In reply to Daniel Holbert [:dholbert] from comment #2)

But I'll note one thing that I'm observing when retesting this today, which probably impacts the way we think about this: this bug actually reproduces regardless of whether the navbar is enabled.

There were actually several distinct regressions here.
("good" = expected-results, "bad" = actual results, after performing the STR from comment 0. w/ = with, w/o = without.)

Regardless, though: in contrast to my initial assumptions in comment 0, this bug is not navbar-specific, and instead, this bug is specific to the "resizes-visual" configuration. This bug goes away if I toggle dom.interactive_widget_default_resizes_visual to false.

--> clarifying bug summary to better-reflect what seems to really be going on (and that this is related to resizes-visual and not really related to navbar)

Summary: [toolbar redesign] Navbar still steals space from *fixed-position* viewport when keyboard appears (even though navbar is hidden) → Blank space between fixed-position footer and keyboard, when dynamic toolbar (address bar) has been scrolled out of view, with "resizes-visual" configuration
Keywords: regression
Regressed by: 1884807

Set release status flags based on info from the regressing bug 1884807

Tracking+ for 132 since bug 1916002 is making resizes-visual ride the trains.

The bug is marked as tracked for firefox132 (nightly). However, the bug still isn't assigned and has low severity.

:royang, could you please find an assignee and increase the severity for this tracked bug? Given that it is a regression and we know the cause, we could also simply backout the regressor. If you disagree with the tracking decision, please talk with the release managers.

For more information, please visit BugBot documentation.

Flags: needinfo?(royang)

Set release status flags based on info from the regressing bug 1884807

Flags: needinfo?(royang)

We discussed this bug during today's APZ meeting.

  • It's unclear whether we can fix this for 132.
    • A proper fix may require bug 1921339 which is planned but a larger piece of work likely several months out.
    • A more targeted fix is under investigation but we're not sure about its risk level / suitability for uplift to 132 at this point.
  • Given the number and severity of the webcompat problems that resizes-visual fixes, we would prefer to avoid delaying its release.
    • When we moved up the release schedule of resizes-visual (cc @jrmuizel on this topic), we did it with the awareness that we may have to temporarily accept some regressions which are less severe than the webcompat problems it's fixing. Bug 1915508 and bug 1915509 were known bugs in this category, and we feel this bug is in a similar boat.

Given the above, could we reconsider the tracking status of this bug, and make it fix-optional instead?

Flags: needinfo?(ryanvm)

I conferred with Daniel and he agrees with your assessment. Thanks for the ping.

Flags: needinfo?(ryanvm)

I did over-restrict this change in bug 1831649 when I implemented interactive-widget.

The code is to trigger a reflow on position:fixed frames to render the position:fixed frames at the proper position when the dynamic toolbar is completely hidden or fully visible. In bug 1831649 I overlooked such cases happen only interactive-widget=resizes-content cases or cases where the software keyboard is NOT visible. But as you can see this bug, such cases also happen with interactive-widget=resizes-visual.

A patch is coming.

Flags: needinfo?(hikezoe.birchill)

Unfortunately we can't write any automated tests for this bug as of now since

a) GeckoView test runnner doesn't support dynamic toolbars, thus we can't use
reftest or mochitest here.
b) JUnit test can handle dynamic toolbar movements, but the software keyboardu
doesn't appear in JUnit test for some reasons.

Assignee: nobody → hikezoe.birchill
Status: NEW → ASSIGNED
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5e9bb01911e6 Flush position:fixed elements' frames unconditionally when the dynamic toolbar is completely hidden or fully visible. r=botond
Status: ASSIGNED → RESOLVED
Closed: 1 month ago
Resolution: --- → FIXED
Target Milestone: --- → 133 Branch

The patch landed in nightly and beta is affected.
:hiro, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval.
  • If no, please set status-firefox132 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(hikezoe.birchill)

Looks like the patch didn't fix the issue completely. I might have dropped some important parts of the change. :/

Status: RESOLVED → REOPENED
Flags: needinfo?(hikezoe.birchill)
Resolution: FIXED → ---
Target Milestone: 133 Branch → ---
Whiteboard: [fxdroid][group3]

On non resizes-content modes while the software keyboard is shown, the layout
viewport is unchanged, thus any position:fixed or sitcky elements which are
stuck the root scroller don't need to be moved in response to the dynamic
toolbar movement.

Attachment #9431426 - Attachment description: Bug 1918178 - Expand the layout viewport and set the animation id to position:fixed/sticky items only if it's necessary. r?botond!,#geckoview-reviewers → Bug 1918178 - Expand the layout viewport and shift position:fixed/sticky items in APZ only if it's necessary. r?botond!,#geckoview-reviewers
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/6ddee03f785a Factor out assertScreenshotResult. r=geckoview-reviewers,m_kato https://hg.mozilla.org/integration/autoland/rev/746bb1a3e20d Propagate interactive-widget mode and the software keyboard state to APZ. r=botond https://hg.mozilla.org/integration/autoland/rev/a71e6ad57971 Expand the layout viewport and shift position:fixed/sticky items in APZ only if it's necessary. r=botond,geckoview-reviewers,owlish

It is likely there are some reftests which open the software keyboard and the keyboard keeps opening there. :/

Flags: needinfo?(hikezoe.birchill)
See Also: → 1918577
Pushed by hikezoe.birchill@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d3506f6cff62 Factor out assertScreenshotResult. r=geckoview-reviewers,m_kato https://hg.mozilla.org/integration/autoland/rev/5a51de3207b4 Propagate interactive-widget mode and the software keyboard state to APZ. r=botond https://hg.mozilla.org/integration/autoland/rev/e6bd5ecd1169 Expand the layout viewport and shift position:fixed/sticky items in APZ only if it's necessary. r=botond,geckoview-reviewers,owlish https://hg.mozilla.org/integration/autoland/rev/df19e86f5cd1 Set inputmode="none" to avoid opening the software keybaord in selection.html and selection-ref.html. r=masayuki

Hiro, given the size of the change, it looks like this should ride the trains with Fx134? i.e. wontfix for Fx132 and Fx133.
Please let me know if you think otherwise?

Flags: needinfo?(hikezoe.birchill)

Yep.

Flags: needinfo?(hikezoe.birchill)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: