diff options
author | Matt Brubeck <mbrubeck@limpet.net> | 2017-08-07 12:40:21 -0700 |
---|---|---|
committer | Matt Brubeck <mbrubeck@limpet.net> | 2017-08-07 17:06:38 -0700 |
commit | 0d36930727e6de009ceef81cf5e1dd98afab9011 (patch) | |
tree | 62ebeaac452d52ee47043a7f3e1a15fd0b1f912e /components/layout/sequential.rs | |
parent | a624496cc485e4eebe82860ca241cb651d91f54a (diff) | |
download | servo-0d36930727e6de009ceef81cf5e1dd98afab9011.tar.gz servo-0d36930727e6de009ceef81cf5e1dd98afab9011.zip |
Add a generic inorder traversal method
Diffstat (limited to 'components/layout/sequential.rs')
-rw-r--r-- | components/layout/sequential.rs | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/components/layout/sequential.rs b/components/layout/sequential.rs index f6f8ce429e4..b97f0a4d357 100644 --- a/components/layout/sequential.rs +++ b/components/layout/sequential.rs @@ -9,7 +9,7 @@ use context::LayoutContext; use display_list_builder::DisplayListBuildState; use euclid::{Point2D, Vector2D}; use floats::SpeculatedFloatPlacement; -use flow::{self, Flow, ImmutableFlowUtils, InorderFlowTraversal, MutableFlowUtils}; +use flow::{self, Flow, ImmutableFlowUtils, MutableFlowUtils}; use flow::{PostorderFlowTraversal, PreorderFlowTraversal}; use flow::IS_ABSOLUTELY_POSITIONED; use fragment::{FragmentBorderBoxIterator, CoordinateSystem}; @@ -22,20 +22,8 @@ use traversal::{AssignBSizes, AssignISizes, BubbleISizes, BuildDisplayList}; pub use style::sequential::traverse_dom; pub fn resolve_generated_content(root: &mut Flow, layout_context: &LayoutContext) { - fn doit(flow: &mut Flow, level: u32, traversal: &mut ResolveGeneratedContent) { - if !traversal.should_process(flow) { - return; - } - - traversal.process(flow, level); - - for kid in flow::mut_base(flow).children.iter_mut() { - doit(kid, level + 1, traversal) - } - } - let mut traversal = ResolveGeneratedContent::new(&layout_context); - doit(root, 0, &mut traversal) + root.traverse_inorder(&mut traversal, 0); } pub fn traverse_flow_tree_preorder(root: &mut Flow, layout_context: &LayoutContext, relayout_mode: RelayoutMode) { |