Closed Bug 1425871 Opened 7 years ago Closed 5 years ago

Support resizing blob images

Categories

(Core :: Graphics: WebRender, enhancement, P3)

enhancement

Tracking

()

RESOLVED DUPLICATE of bug 1570081

People

(Reporter: jrmuizel, Assigned: nical)

References

Details

Currently our blob image invalidation system doesn't support resizing blob images. It's pretty important to be able to do this efficiently because we don't have a good way of choosing a specific size. i.e. the SVGWrapList bounds are the bounds of its children not the bounds of the <svg> element. This support will also help with scrolling. e.g. imagine a very large svg that is being scrolled diagonally. We want to avoid invalidating a large area in this case. The information we need to make this work are the invalid rect, the old bounds rect and the new bounds rect. A number of the checks need to be updated to handle this new information. - When constructing the invalid rect we need to intersect with the old bounds - When deciding whether to paint a nsDisplayItem we check whether it intersects with invalid rect. That will need to be changed to: if item bounds intersects invalid rect or intersection of item bounds and new bounds not contained in old bounds. (this test should be equivalent to testing whether the new item is in the new exposed area) - When merging an item is a sequence point if it intersects the invalid region but is not contained by the invalid region. I still have to figure out what the rules are for this case...
Merging: - Intersect item bounds with new bounds. - if intersection intersects with old bounds: sequence point - else if intersection empty: drop item - else: new item
Markus, do these adjustments make sense to you?
Flags: needinfo?(mstange)
Flags: needinfo?(mstange) → needinfo?(jmuizelaar)
Priority: P2 → P3
Depends on: blob-recoord
Flags: needinfo?(jmuizelaar)
Assignee: nobody → a.beingessner
Priority: P3 → P2
Assignee: a.beingessner → nical.bugzilla
I think we could probably ship without this.
Priority: P2 → P4
Blocks: wr-68
No longer blocks: stage-wr-trains
Priority: P4 → P2
Priority: P2 → P3
Blocks: wr-70
No longer blocks: wr-68
Blocks: wr-71
No longer blocks: wr-70
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.