Open Bug 1562720 Opened 6 years ago Updated 10 months ago

CrossProcessPaint should capture the clipped rect of an OOP-iframe

Categories

(Core :: Graphics, task, P3)

task

Tracking

()

Fission Milestone Future

People

(Reporter: rhunt, Unassigned)

References

Details

No description provided.

Tentatively moving all bugs whose summaries mention "Fission" (or other Fission-related keywords) but are not assigned to a Fission Milestone to the "?" triage milestone.

This will generate a lot of bugmail, so you can filter your bugmail for the following UUID and delete them en masse:

0ee3c76a-bc79-4eb2-8d12-05dc0b68e732

Fission Milestone: --- → ?

Ryan, can you provide more details on why CrossProcessPaint should capture the clipped rect of an OOP-iframe?

Should this bug block enabling Fission in Nightly (Fission milestone M6) or shipping to the Release channel? Fission will require WebRender, so we don't care about non-WebRender issues, if that matters for this bug.

Flags: needinfo?(rhunt)

CrossProcessPaint is used for taking screenshots and IIUC drawing thumbnails of tabs. It performs the work of requesting multiple content processes (one for the tab, and then recursively for OOP-iframes) to perform paints and compositing the results into a single image.

Currently this code will paint an OOP-iframe at its layout size [1]. This is conservative, but there's no limit to the layout size of an iframe and so a 100000px tall iframe will try to paint itself into a 100000px tall image and most likely OOM. We should instead only paint the region that is visible so that things are sized proportional to the screen, which is a reasonable size.

I don't think this needs to block enabling in Nightly, but it may need to block shipping to Release. Matt Woodrow, or someone on the graphics team would be able to give a final call.

[1] https://searchfox.org/mozilla-central/rev/c61720a7d0c094d772059f9d6a7844eb7619f107/gfx/ipc/CrossProcessPaint.cpp#65

Flags: needinfo?(rhunt)

Tracking for Fission riding the trains to Beta (M7)

This bug could improve memory usage and stability (by reducing OOMs), but doesn't need to block Fission Nightly (M6).

Fission Milestone: ? → M7

Jim, could you please find an assignee for this Fission M7 bugs?

Flags: needinfo?(jmathies)
Blocks: gfx-triage
Flags: needinfo?(jmathies)

We're clearing this out of Fission M7. Currently there are no cases of this happening and the graphics team, feels it's pretty low priority.

No longer blocks: gfx-triage
Fission Milestone: M7 → ---

Jim mentioned to me on slack "Nothing broken there and there's no evidence that ooms as a result are actually happening. We triaged it and the graphics team agreed that at this point there's no need to do anything about it. The code works as it does currently in non-Fission builds, and we've never had any issues."
Moving to M-Future.

Blocks: gfx-triage
Fission Milestone: --- → Future
No longer blocks: gfx-triage

This is still incorrect behavior and should be fixed before release, instead of just getting ignored and forgotten about.

Fission Milestone: Future → MVP

We aim to fix all known issues before going to release (M8) - Fx92. Jim, please assign appropriately.

Fission Milestone: MVP → M8
Flags: needinfo?(jmathies)
Blocks: gfx-triage
Flags: needinfo?(jmathies)
No longer blocks: gfx-triage

Jim said that the Graphics team has reviewed this and really don't think this needs to get fixed for Fission.

Fission Milestone: M8 → Future
See Also: → 1716436
Severity: normal normal → S3 S3
You need to log in before you can comment on or make changes to this bug.