layout_thread: perform_post_main_layout_passes is always called with a root flow.

This commit is contained in:
Emilio Cobos Álvarez 2017-10-01 21:24:23 +02:00
parent a2403c5cd6
commit dd27ec1fa2
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C

View file

@ -1596,6 +1596,7 @@ impl LayoutThread {
}); });
self.perform_post_main_layout_passes(data, self.perform_post_main_layout_passes(data,
root_flow,
reflow_goal, reflow_goal,
document, document,
rw_data, rw_data,
@ -1604,30 +1605,30 @@ impl LayoutThread {
fn perform_post_main_layout_passes(&self, fn perform_post_main_layout_passes(&self,
data: &Reflow, data: &Reflow,
mut root_flow: &mut FlowRef,
reflow_goal: &ReflowGoal, reflow_goal: &ReflowGoal,
document: Option<&ServoLayoutDocument>, document: Option<&ServoLayoutDocument>,
rw_data: &mut LayoutThreadData, rw_data: &mut LayoutThreadData,
layout_context: &mut LayoutContext) { layout_context: &mut LayoutContext) {
// Build the display list if necessary, and send it to the painter. // Build the display list if necessary, and send it to the painter.
if let Some(mut root_flow) = self.root_flow.borrow().clone() { self.compute_abs_pos_and_build_display_list(data,
self.compute_abs_pos_and_build_display_list(data, reflow_goal,
reflow_goal, document,
document, FlowRef::deref_mut(&mut root_flow),
FlowRef::deref_mut(&mut root_flow), &mut *layout_context,
&mut *layout_context, rw_data);
rw_data);
self.first_reflow.set(false);
if opts::get().trace_layout { self.first_reflow.set(false);
layout_debug::end_trace(self.generation.get());
}
if opts::get().dump_flow_tree { if opts::get().trace_layout {
root_flow.print("Post layout flow tree".to_owned()); layout_debug::end_trace(self.generation.get());
}
self.generation.set(self.generation.get() + 1);
} }
if opts::get().dump_flow_tree {
root_flow.print("Post layout flow tree".to_owned());
}
self.generation.set(self.generation.get() + 1);
} }
fn reflow_all_nodes(flow: &mut Flow) { fn reflow_all_nodes(flow: &mut Flow) {