layout: Move overflow calculation to be a separate, sequential,

bottom-up pass.

Right now, the only reason that overflow calculation works is that we
rely on script inducing extra reflows that are sent for display. This
was preventing #10021 from landing.

This change regresses layout performance by about 1% in my tests.

Fixes #7797 properly.
This commit is contained in:
Patrick Walton 2016-03-17 14:28:37 -07:00
parent 2d6283c64b
commit 5ea8c34276
7 changed files with 60 additions and 17 deletions

View file

@ -210,7 +210,6 @@ impl<'a> PreorderFlowTraversal for ComputeAbsolutePositions<'a> {
#[inline]
fn process(&self, flow: &mut Flow) {
flow.compute_absolute_position(self.layout_context);
flow.store_overflow(self.layout_context);
}
}