Closed Bug 1698353 Opened 5 years ago Closed 5 years ago

[fission] Some content gets clipped when navigating in an iframe, with e.g. Yahoo Mail and w3.org, with fission enabled

Categories

(Core :: Layout: Scrolling and Overflow, defect, P1)

defect

Tracking

()

RESOLVED FIXED
88 Branch
Fission Milestone M7
Tracking Status
firefox-esr78 --- unaffected
firefox86 --- unaffected
firefox87 --- disabled
firefox88 --- fixed

People

(Reporter: kernp25, Assigned: tnikkel)

References

(Regression)

Details

(Keywords: regression)

Attachments

(7 files)

Attached video 7udh6AB0TF.mp4

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0

Steps to reproduce:

  1. Install https://addons.mozilla.org/firefox/addon/yahoo-mail-notifier-we/
  2. Go to options page and check "Show mail preview window"
  3. Click on the mail icon in the toolbar menu

Actual results:

See attached video.

Expected results:

Should load normal.

Flags: needinfo?(dholbert)

I have the latest nightly version (88.0a1 (2021-03-14) (64-Bit)).

You get the same bug when loading: data:text/html,<iframe src="https://www.w3.org/" style="width:800px">

Note: I'm using width:800px and not width:500px

I found a way to temporary fix this bug. Move the mouse cursor over the scrollbar so the rest of the page will be painted/visible.

It maybe has something to do with the scrollbar?

Attached video J3CCosLchE.mp4
Attached video H4rZs7kQAV.mp4

Tested with layout.scrollbar.side 3

Thanks for reporting this. I don't seem to be able to reproduce, can you attach your about:support to the bug?

Or, can you maybe run mozregression to see what caused this? Looking at it it seems more likely to be a graphics / APZ issue.

Flags: needinfo?(kernp25)
Attached video 0XzdmR6YKG.mp4

Can you look at the video?

Note: fission.autostart true

Flags: needinfo?(kernp25) → needinfo?(emilio)

I did see the video, but I still can't reproduce, so the about:support information could be useful to determine what might be different. Does it work if you turn off fission? What is your WebRender status?

Flags: needinfo?(emilio)

Yes, with fission turned off everything works as expected.

It does not matter, if i set gfx.webrender.all to true or not. The bug still occurs.

(In reply to kernp25 from comment #2)

You get the same bug when loading: data:text/html,<iframe src="https://www.w3.org/" style="width:800px">

Could you clarify what the steps-to-reproduce are with this URL? (Do you see graphical issues right away when you load it, or do you have to interact with the frame somehow?)

This one's nicer than Yahoo as a testcase here (if it reproduces as reliably), since it doesn't require any account/login.

Flags: needinfo?(dholbert) → needinfo?(kernp25)

Oh, I missed the video in comment 8. It looks like the STR for w3.org are to click the "participate" / "membership" / etc. tabs. [Probably just any sort of navigation at all.]

I am able to reproduce temporarily with that example, using latest Nightly with fission on my mac laptop, with my regular web-browsing profile. In my case, the issue seems to correct itself after a few seconds.

Flags: needinfo?(kernp25)

I can reproduce in a fresh profile, too (with fission enabled).

Regression range:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=42791e22621d1dab5fff576448eccb45f6b3ca6a&tochange=175a61c35c21f15581df58371c45221f31f36aed

--> regression from bug 1687928

tnikkel, would you mind taking a look?

Status: UNCONFIRMED → NEW
Component: Layout → Layout: Scrolling and Overflow
Ever confirmed: true
Flags: needinfo?(tnikkel)
Regressed by: 1687928
Has Regression Range: --- → yes
Summary: Strange bug when loading yahoo mail in iframe → [fission] Some content gets clipped when navigating in an iframe, with e.g. Yahoo Mail and w3.org, with fission enabled
Fission Milestone: --- → ?

Thanks for the regression range and testcase, I can reproduce. Glad I landed that changeset which was not supposed to change anything separately!

Weird, our displayport base rect (as set in DecideScrollableLayer) starts too small and then grows over several steps (in appunits): 11520, 23040, 38400, 47100. APZ callback helper sets an almost final value of 46200 in the middle of that sequence, but DecideScrollableLayer squashes it.

Ah, because we call RestrictToRootDisplayPort, which tries to restrict to itself (because the code assumes that something that is a root scroll frame but that isn't in a root content doc and isn't a root chrome doc is necessarily not the root scroll frame of a process, which fails with fission) which doesn't make sense and it gets confused.

Timothy, is this reproducible without Fission but with WR enabled?

If this does not fail without Fission (with any WR setting) and only fails when Fission is enabled, then this will most definitely be a Fission Beta blocker (M7)

This bug only happens with fission. I should be able to get a patch up today, and hopefully with a test too.

Assigning to tnikkel since he's already fixing this bug. This regression is a high priority for Fission.

Assignee: nobody → tnikkel
Fission Milestone: ? → M7
Severity: -- → S2
Status: NEW → ASSIGNED
Priority: -- → P1
Flags: needinfo?(tnikkel)
Pushed by tnikkel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/929c04cc6396 Don't try to restrict the display port base rect of a scroll frame with the display port of the same scroll frame because that doesn't make sense. r=botond
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: