Closed Bug 1891335 Opened 1 year ago Closed 1 year ago

[fission] Twitter embeds load slowly again (fission)

Categories

(Core :: Layout, defect)

defect

Tracking

()

VERIFIED FIXED
132 Branch
Tracking Status
firefox132 --- verified

People

(Reporter: jonydiz, Assigned: emilio, NeedInfo)

References

Details

Attachments

(1 file)

Since I can't reopen this https://bugzilla.mozilla.org/show_bug.cgi?id=1745869 I'm cloning it, because it still hapens in last version (124.0.2) ->

Steps to reproduce:

  1. Make sure fission is enabled (fission.autostart = true).
  2. Open up the attached website (contains 10 Twitter embeds) in https://bugzilla.mozilla.org/attachment.cgi?id=9255177
  3. Notice how slowly everything loads.
  4. Disable fission (fission.autostart = false) and restart the browser.
  5. Open the website again.
  6. Notice how fast everything loads.

Actual results:

Each embed loads extremely slowly. On pages with even more Twitter embeds, it can take minutes before everything loads.

Expected results:

Twitter embeds should have loaded quickly.

Please, feel free to close this and reopen the original thread.

Hmm, so we removed that 1s grace period because I made throttling consistent on fission and non-fission in bug 1847929 and bug 1847584.

Depends on: 1745869
Flags: needinfo?(emilio)
See Also: → 1847929
Summary: Twitter embeds load slowly (fission)(clone) → [fission] Twitter embeds load slowly again (fission)

Hmm... The fission iframes there should be 0 width and 0 height, and I'm pretty sure I tested that page when working on bug 1847929... Will look at it further tho.

What goes on here is that there's a couple of unfortunate style change
sequences which end up making us not do the EffectsInfo dance correctly.

Twitter uses (maybe didn't use to, which would explain the regression) a
visibility: hidden, out-of-flow iframe for a bit (which we correctly
throttle). But then they switch to an in-flow, visible, zero-height
iframe. That we should not throttle. However, we end up not getting to
the display list code at all, because nsBlockFrame decides that we don't
need to descend into an empty line1.

It seems less error prone to re-use the IntersectionObserver timing and
computation to determine whether the iframe is visible. That completely
matches in-process iframes, too.

Assignee: nobody → emilio
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: needinfo?(emilio)
Severity: -- → S3
Flags: needinfo?(emilio)
Flags: needinfo?(emilio)

Any more feedback in the patch? Otherwise I want to get it landed sooner rather than later, then make progress on https://github.com/whatwg/html/issues/10333 and co.

Flags: needinfo?(tnikkel)

Sorry, I will take a look later today.

Flags: needinfo?(emilio)
Flags: needinfo?(emilio)
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/80db8b7ff2af Compute EffectInfo updates at IntersectionObserver time. r=smaug,hiro

Backed out for causing mochitests failures in test_bug1639328.html.

Flags: needinfo?(emilio)
See Also: → 1917297
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5f96e847e742 Compute EffectInfo updates at IntersectionObserver time. r=smaug,hiro
Flags: needinfo?(emilio)
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 132 Branch
Regressions: 1917361

I've replicated this issue using Nightly 126.0a1 (2024-04-13) on macOS 13 following the STR from Comment 0.
Verified as fixed in the latest Firefox 132.0b8 version on Windows 10 x64, macOS 13, and Ubuntu 22.04, as the issue no longer occurs.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
Regressions: 1926171
Regressions: 1927255
Regressions: 1984635
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: