Open Bug 1938303 Opened 2 months ago Updated 3 days ago

Web content clipped on Android 15 with edge to edge enabled

Categories

(Core :: Panning and Zooming, defect, P3)

defect

Tracking

()

REOPENED

People

(Reporter: petru, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Currently Fenix opts out of the default edge-to-edge app layout on Android 15 but this is just temporary - see bug 1916695.
After adding support for edge-to-edge plus extending this down to Android 10 to get other improvements in bug 1911042 we saw reports about the web content being clipped - bug 1933488.
So for the meantime supporting edge-to-edge in Fenix is disabled but we need support for that (being able to opt-out for this is just a temporary API offered by Android).

Trying to overcome from Fenix the issue with clipped web content and testing more I see that only enabling edge-to-edge with enableEdgeToEdge() inside main activity's onCreate or removing the edge-to-edge opt-out from it's manifest results in clipped web content at both the top and the bottom of the webpage when the keyboard is opened so this looks like it needs to be solved engine view's side.

What's interesting is that the scrollbar is visible.
Would be great to ensure the content is visible also.

Looking at this more it probably happens because GeckoView assumes the systemBars insets are applied to the container app which is a reasonable expectancy given that otherwise there would be interactive web content under the interactive content of the systemBars.

Status: NEW → RESOLVED
Closed: 2 months ago
Resolution: --- → INVALID

Reopening this since after more investigation I do think there's an issue in the compositor but don't know enough about it to investigate more.
Testing on an Pixel4 with API 29 emulator and using window.setupPersistentInsets() around here then the issue described above reproduces.

Status: RESOLVED → REOPENED
Resolution: INVALID → ---

Using git bisect locally I got this as being the offender

0e14bafac1c2e024d0098151264d87782885b420 is the first bad commit
commit 0e14bafac1c2e024d0098151264d87782885b420 (HEAD)
Author: Otto Länd <bind-autoland@mozilla.com>
Date: Tue Oct 29 03:24:23 2024 +0000

which probably coincides with when the gecko changes were available in a new version consumed by Fenix.
Seems like around that date the patches for bug 1918178 were landed which were already seen causing similar issues in bug 1937785.

The severity field is not set for this bug.
:botond, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(botond)
See Also: → 1933227
See Also: → 1933488

We are tracking this in FFXP-3198 as well. Marking P3/S3 for now as this affects a configuration that is not yet shipping.

Severity: -- → S3
Flags: needinfo?(botond)
Priority: -- → P3

Thanks!
Please note that we'd need this issue fixed soon as edge-to-edge is a feature Android imposes for apps targetting Android 15+ - https://developer.android.com/develop/ui/views/layout/edge-to-edge so we'd to support it also.
That support can currently be postponed with opting out using windowOptOutEdgeToEdgeEnforcement but this seems like just a temporary API that we'd need to move off soon - we would've already if not for these issues.

Whiteboard: [apz-needsdiagnosis]

Small update: I think this issue might have been fixed also after the patches from bug 1937785 (thank you Hiro!).
I don't see related issues anymore.
Asked QA to retest enabling edge to edge in Fenix here.

That's great to hear!

And indeed, QA confirmed that in a test build with edge-to-edge enabled there are no more issues - bug 1946404 comment 2.
And that other similar glitches (without edge-to-edge enabled) also don't reproduce anymore - bug 1933227 comment 9.

I propose to keep this ticket open just a bit more until a patch to enable edge-to-edge in Fenix is merged and QA can verify in an official Nightly that these kind of issues don't reproduce anymore.

Whiteboard: [apz-needsdiagnosis]

QA didn't get to test us enabling edge-to-edge in Nightly (through bug 1946404) but we got a report from a user - bug 1934443 comment 11 of this issue still reproducing.
Seems like disabling dom.interactive_widget_default_resizes_visual makes the issue disappear.
Is this a temporary route we could take?

I will back out the patches from bug 1946404 pending more investigation.
But Android 16 which is set to launch publicly in Q2 will not allow to opt-out of edge-to-edge anymore so we need a fix for this issue before that.

Blocks: 1946404
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: