Open Bug 1459070 Opened 7 years ago Updated 2 years ago

Merged display items within an inactive layer tree don't get their visibility computed

Categories

(Core :: Web Painting, enhancement, P3)

enhancement

Tracking

()

Tracking Status
firefox61 --- affected

People

(Reporter: mattwoodrow, Unassigned)

Details

The outer inactive items gets RecomputeVisibility called on it from RecomputeVisibilityForItems on the ClientPaintedLayer. That recurses into the child list for that item, and computes visibility for all child items, but those are the unmerged items, not the temporary merged item that replaces them. When we do painting of the inactive layer, we skip RecomputeVisibilityForItems (assuming the outer Layer has handled it all), and trust that the visible rects on the items are valid. The merged items will have will still have their initial visible rect (the display list builders building rect), so we'll always attempt to paint them. The actual leaf display items under that should have correct visibility, so no actual painting will be done, but going through the merged item painting has a lot of overhead, including maybe creating temporary surfaces.
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.