Every node and flow tree element (Flows and Fragments) have a bitflag which tracks the type of damage caused by restyling and DOM manipulation. This flag is used during incremental layout to only repair parts of the tree that actually need it. There is a class of bugs where damage is applied too liberally. This doesn't break layout, but it means that too much work is done during reflow. These type of bugs become even more important when display lists can be repaired without doing reflows.
I would like to have a way to test against these kind of regressions, but I'm a bit stumped on what sort of testing infrastructure to use. Here are some ideas that I had: 1. Paint "dirty" regions of the page. We could create special reftests that verify that only certain parts of the page are reflowed or repaired. 2. Textual dumps of the flow tree. It would be tricky to make this resilient enough not to break all the time. 3. Simple assertions about what nodes are dirty and what aren't. This could break when the internal structure of the flow tree changes. I'm certainly open to completely different ideas, because I have a lot of reluctance about the three ideas that I mentioned. They all have some significant drawbacks. --Martin _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo