Viewport resizes with `overlays-content` result in rendering issues on Android 10
Categories
(Core :: Panning and Zooming, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr128 | --- | unaffected |
firefox133 | --- | unaffected |
firefox134 | --- | wontfix |
firefox135 | --- | wontfix |
firefox136 | --- | fixed |
People
(Reporter: petru, Assigned: hiro)
References
(Regression)
Details
(Keywords: regression)
Attachments
(8 files)
5.30 MB,
video/mp4
|
Details | |
7.09 MB,
video/mp4
|
Details | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Steps to reproduce:
- Oppo A15s device with Android 10
- access https://viewport-resize-behavior.netlify.app/interactive-widget/overlays-content/
- Tap on the input element
Expected result:
- No update for the viewport or what is being rendered
Actual result:
- The rendered content is smaller than the available viewport
- The scrollbars do extend to the full viewport
✱ This assumes dom.interactive_widget_default_resizes_visual
preference is enabled
✱ No issues observed when using other viewport resize modes.
Reporter | ||
Comment 1•2 months ago
|
||
Another note about the issue being even worse with dom.interactive_widget_default_resizes_visual
disabled: it doesn't even need the keyboard to be showing.
Updated•2 months ago
|
Reporter | ||
Comment 2•2 months ago
|
||
And another note that the issue might be device specific.
I was looking into this because of some user reported issues on Fenix - bug 1933488 which seemed related to this functionality.
Assignee | ||
Comment 3•2 months ago
|
||
I haven't looked yet, but if it's specific to Android 10, it's probably related to bug 1920755, which means the way we use to deduce the keyboard height is somewhat broken.
Assignee | ||
Comment 4•2 months ago
|
||
This isn't specific to Android 10, I can see the blank area on Android emulator 7.0.
On chrome with overlays-content
mode the dynamic toolbar doesn't move. That kinda makes sense since moving the dynamic toolbar basically changes the visual viewport.
Though I haven't yet found out where the underlying problem is, we need to tweak while moving the toolbar.
Assignee | ||
Comment 5•2 months ago
|
||
I wondered why I didn't realize this issue when I was working on bug 1831649. That's because this is a regression.
The regression range I could get is;
Bug 1918178 looks very likely the casue.
Comment 6•2 months ago
|
||
Set release status flags based on info from the regressing bug 1918178
Assignee | ||
Comment 7•2 months ago
|
||
Updated•2 months ago
|
Assignee | ||
Comment 8•2 months ago
|
||
Assignee | ||
Comment 9•2 months ago
|
||
Comment 10•2 months ago
|
||
The severity field is not set for this bug.
:botond, could you have a look please?
For more information, please visit BugBot documentation.
Updated•2 months ago
|
Comment 11•2 months ago
|
||
We are tracking this in FFXP-3198. I'm marking this as an S3 for now since overlays-content
is a non-default interactive-widget mode that websites need to opt into and we're not yet aware of production websites impacted by this bug. (If anyone does know such websites, please mention them in a comment.)
Updated•2 months ago
|
Assignee | ||
Comment 12•1 months ago
|
||
Assignee | ||
Comment 13•1 months ago
|
||
There's a race condition where the keyboard height change notification
has arrived but nsDocumentViewer size change hasn't yet arrived.
MobileViewportManager::mPendingKeyboardHeight is introduced to fix the race.
Assignee | ||
Comment 14•1 month ago
|
||
Though I don't yet have any idea how the bad rendering happens, I've narrowed down and reached to a point where the undesirable composition bounds from UpdateCompositionBoundsForRCDRSF is used.
On the content side, the call site is this ComputeScrollMetadata in WebRenderLayerScrollData::Initialize, it's propagated to APZ.
Then on the APZ side, the problematic use site of the composition bounds is this RecalculateLayoutViewportOffset in AsyncPanZoomController::SetVisualScrollOffset. And it calls KeepLayoutViewportEnclosingVisualViewport.
The layout viewport mLayoutViewport
value is NOT including the dynamic toolbar, whereas the visual viewport IS including the dynamic toolbar because it calculated based on the composition bounds.
So, this inconsistency is the culprit. The layout viewport is correct, while the keyboard is shown on overlays-content
mode it doesn't need to care about the dynamic toolbar.
Comment 15•1 month ago
|
||
Comment 16•1 month ago
|
||
Comment 17•1 month ago
|
||
Backed out for causing Android reftests failures in retained-dl-async-scrolled-1.html.
- Backout link
- Push with failures
- Failure Log
- Failure line: REFTEST TEST-UNEXPECTED-FAIL | layout/reftests/display-list/retained-dl-async-scrolled-1.html == layout/reftests/display-list/retained-dl-async-scrolled-1-ref.html | image comparison, max difference: 54, number of differing pixels: 3000
Assignee | ||
Comment 18•1 month ago
|
||
I haven't been able to reproduce the failures locally nor on try serves. It's very likely that the failures are caused by bug 1918577, i.e. the software keyboard keeps opening there once a reftest has opened it.
Assignee | ||
Comment 19•1 month ago
|
||
The opened keyboard keeps there, and it makes subsequent tests fail
unfortunately.
Assignee | ||
Comment 20•1 month ago
|
||
I am not 100% sure that D235092 fixes the all failure, it's quite hard to tell it on try runs.
Comment 21•1 month ago
|
||
Comment 22•1 month ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/ec7b41129a2e
https://hg.mozilla.org/mozilla-central/rev/cda233815bc4
https://hg.mozilla.org/mozilla-central/rev/f7e8b3a12560
https://hg.mozilla.org/mozilla-central/rev/a468ba3d2722
https://hg.mozilla.org/mozilla-central/rev/d47c3cbb83ff
https://hg.mozilla.org/mozilla-central/rev/b822c75c402f
https://hg.mozilla.org/mozilla-central/rev/909971314e65
Comment 23•1 month ago
|
||
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-firefox135
towontfix
.
For more information, please visit BugBot documentation.
Updated•1 month ago
|
Description
•