Don't create wrap lists for positioned frames that don't have any children
Categories
(Core :: Web Painting, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox67 | --- | fixed |
People
(Reporter: mattwoodrow, Assigned: mattwoodrow)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
We currently create a wrap list for positioned items, so that they get a single entry in the display list for sorting.
We used to skip this if there only was a single item (and owned by the same frame). We had to stop doing this for RDL, since partial builds can have different results to full builds, and we can't have containers appearing without an invalidation.
The current exception is when the positioned frame is also a stacking context, since we know that the item in that case is already a container, and can't change when doing a partial build.
I think we can also detect the case where the positioned frame doesn't have any children frame, and also skip the wrap list in this. If there are no children, then a partial build is the same as a full build (as far as the current frame is concerned), so we can skip the wrap list.
Assignee | ||
Comment 1•6 years ago
|
||
This takes maze solver from 7.1 seconds to 5.4 seconds for me locally, with the default 30x30 maze.
Assignee | ||
Comment 2•6 years ago
|
||
Comment 4•6 years ago
|
||
Backed out changeset 65294fe0c614 (bug 1529831) for wpt failures in /html/rendering/replaced-elements/svg-embedded-sizing/svg-in-img-auto.html
Log:
https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=230186145&repo=autoland&lineNumber=27688
Push with failures:
https://treeherder.mozilla.org/#/jobs?repo=autoland&searchStr=wpt&revision=65294fe0c614644692640a01497539533aa13b63
Backout:
https://hg.mozilla.org/integration/autoland/rev/3a2ced4fbd98b75c1dbe0a9521335cfa6f55e05c
Assignee | ||
Comment 5•6 years ago
|
||
Missed that one, and it exposes a rather large bug :(
If we remove the last child from a frame, then the frame itself isn't marked modified (and probably shouldn't be), but we can then change whether we have a wrap list or not.
Comment 7•6 years ago
|
||
bugherder |
Description
•