Closed Bug 1384616 Opened 7 years ago Closed 7 years ago

Make WebRenderScrollData hold a more tree-like set of layers in layers-free transactions

Categories

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

Other Branch
enhancement

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: kats, Assigned: kats)

References

Details

(Whiteboard: [gfx-noted])

Attachments

(5 files)

Building on bug 1384181, the next step is to add support for things like nsDisplayTransform and nsDisplayFixedPosition. What these have in common is that the display items are wrappers for other display items, forming a tree-like structure. i.e. nsDisplayFixedPosition wraps a bunch of display items that all comprise the fixed-position item.

Right now the layers-free WebRenderScrollData doesn't handle this, it just builds a flat list of WebRenderLayerScrollData items (with a synthetic root). However we need make this more tree-like so that APZ knows which items are subject to a transform or are fixed-position and so on.
The patches I have successfully make the structure more tree-like and so nsDisplayFixedPosition and scrollbar items can be handled. However nsDisplayTransform is a little more tricky because of perspective items so I'll punt that to the next bug. Also scrollbar animation ids need to be hooked up still, I'll punt that to another bug as well.
Comment on attachment 8891065 [details]
Bug 1384616 - Fix indentation.

https://reviewboard.mozilla.org/r/162246/#review168320
Attachment #8891065 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8891066 [details]
Bug 1384616 - Change how display items put their APZ-relevant info into the WebRenderScrollData.

https://reviewboard.mozilla.org/r/162248/#review168384
Attachment #8891066 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8891067 [details]
Bug 1384616 - Allow building a tree structure in WebRenderScrollData for layers-free transactions.

https://reviewboard.mozilla.org/r/162250/#review168386
Attachment #8891067 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8891068 [details]
Bug 1384616 - Save APZ-relevant data from fixed-pos items in the WR scroll data for layers-free transactions.

https://reviewboard.mozilla.org/r/162252/#review168388
Attachment #8891068 - Flags: review?(jmuizelaar) → review+
Comment on attachment 8891069 [details]
Bug 1384616 - Save APZ-relevant scrollbar data into the WR scroll data for layers-free transactions.

https://reviewboard.mozilla.org/r/162254/#review168390
Attachment #8891069 - Flags: review?(jmuizelaar) → review+
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/19ee1751ecc3
Fix indentation. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/509e1cc89fb5
Change how display items put their APZ-relevant info into the WebRenderScrollData. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/9e863293355e
Allow building a tree structure in WebRenderScrollData for layers-free transactions. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/279250114444
Save APZ-relevant data from fixed-pos items in the WR scroll data for layers-free transactions. r=jrmuizel
https://hg.mozilla.org/integration/autoland/rev/236acd7a61fc
Save APZ-relevant scrollbar data into the WR scroll data for layers-free transactions. r=jrmuizel
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #2)
> Also scrollbar animation ids need to be
> hooked up still, I'll punt that to another bug as well.

This is in bug 1386747.
Blocks: 1386747
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: