Closed Bug 1529698 Opened 1 year ago Closed 1 year ago

Split nsDisplayWrapList for different use cases

Categories

(Core :: Web Painting, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: miko, Assigned: miko)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

Currently nsDisplayWrapList is used

  1. as a baseclass for container items
  2. as a baseclass for items that can be merged during painting
  3. for sorting display item groups during display list building

This makes it big and unnecessarily slow, especially for sorting, where we only use it as a thin grouping wrapper.

The 3rd use case doesn't need most of the members in nsDisplayItem, so it might be worth making the sorting wrapper not inherit from that.

See Also: → 1533367
Depends on: 1540785
Assignee: nobody → mikokm
Status: NEW → ASSIGNED
Blocks: 1540785
No longer depends on: 1540785
Pushed by mikokm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/7db30b209d7e
Part 1: Make LayerState enum class r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/5d245d6070e0
Part 2: Move BuildLayer() to nsPaintedDisplayItem r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/40280b1c2aff
Part 3: Move DisplayItemData to nsPaintedDisplayItem r=mattwoodrow
https://hg.mozilla.org/integration/autoland/rev/e37407909f92
Part 4: Add nsDisplayContainer r=mattwoodrow
Regressions: 1608028
No longer regressions: 1608028
You need to log in before you can comment on or make changes to this bug.