aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/sequential.rs
diff options
context:
space:
mode:
authorMatt Brubeck <mbrubeck@limpet.net>2017-08-07 12:40:21 -0700
committerMatt Brubeck <mbrubeck@limpet.net>2017-08-07 17:06:38 -0700
commit0d36930727e6de009ceef81cf5e1dd98afab9011 (patch)
tree62ebeaac452d52ee47043a7f3e1a15fd0b1f912e /components/layout/sequential.rs
parenta624496cc485e4eebe82860ca241cb651d91f54a (diff)
downloadservo-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.rs16
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) {