Force reflow in the sequential fallback of block format context

When reflowing a block format context during the inorder traversal,
propagate restyle damage manually to its children since they were
already reflowed.
This commit is contained in:
Pu Xingyu 2017-04-14 23:44:20 +08:00
parent 56435db820
commit 68f74d5cbe
6 changed files with 25 additions and 14 deletions

View file

@ -60,7 +60,7 @@ use layout::context::heap_size_of_persistent_local_context;
use layout::display_list_builder::ToGfxColor;
use layout::flow::{self, Flow, ImmutableFlowUtils, MutableFlowUtils, MutableOwnedFlowUtils};
use layout::flow_ref::FlowRef;
use layout::incremental::{LayoutDamageComputation, REFLOW_ENTIRE_DOCUMENT};
use layout::incremental::{LayoutDamageComputation, REFLOW_ENTIRE_DOCUMENT, RelayoutMode};
use layout::layout_debug;
use layout::opaque_node::OpaqueNodeMethods;
use layout::parallel;
@ -810,7 +810,7 @@ impl LayoutThread {
fn solve_constraints(layout_root: &mut Flow,
layout_context: &LayoutContext) {
let _scope = layout_debug_scope!("solve_constraints");
sequential::traverse_flow_tree_preorder(layout_root, layout_context);
sequential::traverse_flow_tree_preorder(layout_root, layout_context, RelayoutMode::Incremental);
}
/// Performs layout constraint solving in parallel.