diff options
Diffstat (limited to 'components/layout')
-rw-r--r-- | components/layout/layout_thread.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/components/layout/layout_thread.rs b/components/layout/layout_thread.rs index 5c6afdbcfff..e31d9f236e1 100644 --- a/components/layout/layout_thread.rs +++ b/components/layout/layout_thread.rs @@ -1302,9 +1302,11 @@ impl LayoutThread { self.profiler_metadata(), self.time_profiler_chan.clone(), || { - if opts::get().nonincremental_layout || - flow_ref::deref_mut(&mut root_flow).compute_layout_damage() - .contains(REFLOW_ENTIRE_DOCUMENT) { + // Call `compute_layout_damage` even in non-incremental mode, because it sets flags + // that are needed in both incremental and non-incremental traversals. + 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() } }); |