Compute damage even when incremental layout is disabled

This fixes traversals that use the damage flags to decide which nodes to
process, such as `resolve_generated_content`, which was broken in
non-incremental mode.
This commit is contained in:
Matt Brubeck 2016-03-10 15:52:47 -08:00
parent 740965e39f
commit ae5cfc31e3

View file

@ -1291,9 +1291,11 @@ impl LayoutThread {
self.profiler_metadata(), self.profiler_metadata(),
self.time_profiler_chan.clone(), self.time_profiler_chan.clone(),
|| { || {
if opts::get().nonincremental_layout || // Call `compute_layout_damage` even in non-incremental mode, because it sets flags
flow_ref::deref_mut(&mut root_flow).compute_layout_damage() // that are needed in both incremental and non-incremental traversals.
.contains(REFLOW_ENTIRE_DOCUMENT) { let damage = flow_ref::deref_mut(&mut root_flow).compute_layout_damage();
if opts::get().nonincremental_layout || damage.contains(REFLOW_ENTIRE_DOCUMENT) {
flow_ref::deref_mut(&mut root_flow).reflow_entire_document() flow_ref::deref_mut(&mut root_flow).reflow_entire_document()
} }
}); });