Open Bug 1728710 Opened 4 years ago Updated 4 years ago

Remove mBuildingRect

Categories

(Core :: Web Painting, task, P2)

task

Tracking

()

People

(Reporter: mattwoodrow, Unassigned)

References

(Depends on 1 open bug, Blocks 1 open bug)

Details

We shouldn't really need this for WebRender, and hopefully we can find ways around needing it for fallback painting.

Removing this will make items a fair bit smaller.

Depends on: 1729236
Depends on: 1729237

Aside from the filed dependencies, there's a few smaller usages we need to get rid of:

nsDisplayRemote::CreateWebRenderCommands
- We may want to store a rect on nsDisplayRemote, since this is passed to the child process to restrict painting.
RetainedDisplayListBuilder call GetBuildingRectForChildren
- I think this just wants the (untransformed) bounds.
GetPartialPrerenderData calls GetUntransformedPaintRect
- This is only ever called for nsDisplayTransform, and the virtual override doesn't use mBuildingRect, so we can access that directly.
nsDisplayTransform::GetOpaqueRegion
- I think we can just determine if the list is opaque within the bounds, not just the visible region. The caller should be checking against the area it cares about already.
nsDisplayList::Paint
- This just reduces the size of the building rect to include the clip, but all consumers of this value should be gone now, so it doesn't matter.

Severity: -- → S3
Priority: -- → P2
You need to log in before you can comment on or make changes to this bug.