mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Hoist the style parts of sequential.rs into style/.
This commit is contained in:
parent
57d2a0b0db
commit
136c0938a2
3 changed files with 30 additions and 18 deletions
|
@ -18,24 +18,7 @@ use traversal::{AssignBSizesAndStoreOverflow, AssignISizes};
|
||||||
use traversal::{BubbleISizes, BuildDisplayList, ComputeAbsolutePositions, PostorderNodeMutTraversal};
|
use traversal::{BubbleISizes, BuildDisplayList, ComputeAbsolutePositions, PostorderNodeMutTraversal};
|
||||||
use util::opts;
|
use util::opts;
|
||||||
|
|
||||||
pub fn traverse_dom_preorder<'ln, N, C>(root: N,
|
pub use style::sequential::traverse_dom_preorder;
|
||||||
shared: &C::SharedContext)
|
|
||||||
where N: TNode<'ln>,
|
|
||||||
C: DomTraversalContext<'ln, N> {
|
|
||||||
fn doit<'a, 'ln, N, C>(context: &'a C, node: N)
|
|
||||||
where N: TNode<'ln>, C: DomTraversalContext<'ln, N> {
|
|
||||||
context.process_preorder(node);
|
|
||||||
|
|
||||||
for kid in node.children() {
|
|
||||||
doit::<N, C>(context, kid);
|
|
||||||
}
|
|
||||||
|
|
||||||
context.process_postorder(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
let context = C::new(shared, root.opaque());
|
|
||||||
doit::<N, C>(&context, root);
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn resolve_generated_content(root: &mut FlowRef, shared_layout_context: &SharedLayoutContext) {
|
pub fn resolve_generated_content(root: &mut FlowRef, shared_layout_context: &SharedLayoutContext) {
|
||||||
fn doit(flow: &mut Flow, level: u32, traversal: &mut ResolveGeneratedContent) {
|
fn doit(flow: &mut Flow, level: u32, traversal: &mut ResolveGeneratedContent) {
|
||||||
|
|
|
@ -57,6 +57,7 @@ pub mod parallel;
|
||||||
pub mod parser;
|
pub mod parser;
|
||||||
pub mod restyle_hints;
|
pub mod restyle_hints;
|
||||||
pub mod selector_matching;
|
pub mod selector_matching;
|
||||||
|
pub mod sequential;
|
||||||
pub mod stylesheets;
|
pub mod stylesheets;
|
||||||
pub mod traversal;
|
pub mod traversal;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
|
|
28
components/style/sequential.rs
Normal file
28
components/style/sequential.rs
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
//! Implements sequential traversal over the DOM tree.
|
||||||
|
|
||||||
|
use dom::TNode;
|
||||||
|
use traversal::DomTraversalContext;
|
||||||
|
|
||||||
|
pub fn traverse_dom_preorder<'ln, N, C>(root: N,
|
||||||
|
shared: &C::SharedContext)
|
||||||
|
where N: TNode<'ln>,
|
||||||
|
C: DomTraversalContext<'ln, N> {
|
||||||
|
fn doit<'a, 'ln, N, C>(context: &'a C, node: N)
|
||||||
|
where N: TNode<'ln>, C: DomTraversalContext<'ln, N> {
|
||||||
|
context.process_preorder(node);
|
||||||
|
|
||||||
|
for kid in node.children() {
|
||||||
|
doit::<N, C>(context, kid);
|
||||||
|
}
|
||||||
|
|
||||||
|
context.process_postorder(node);
|
||||||
|
}
|
||||||
|
|
||||||
|
let context = C::new(shared, root.opaque());
|
||||||
|
doit::<N, C>(&context, root);
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue