mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Bug 1325734 - Parameterize the style traversal on TElement instead of TNode. r=emilio
This works around the issue described in https://github.com/rust-lang/rust/issues/38917
This commit is contained in:
parent
962a4a79bb
commit
3060865577
6 changed files with 62 additions and 59 deletions
|
@ -10,18 +10,18 @@ use dom::{TElement, TNode};
|
|||
use traversal::{DomTraversal, PerLevelTraversalData, PreTraverseToken};
|
||||
|
||||
/// Do a sequential DOM traversal for layout or styling, generic over `D`.
|
||||
pub fn traverse_dom<N, D>(traversal: &D,
|
||||
root: N::ConcreteElement,
|
||||
pub fn traverse_dom<E, D>(traversal: &D,
|
||||
root: E,
|
||||
token: PreTraverseToken)
|
||||
where N: TNode,
|
||||
D: DomTraversal<N>,
|
||||
where E: TElement,
|
||||
D: DomTraversal<E>,
|
||||
{
|
||||
debug_assert!(token.should_traverse());
|
||||
|
||||
fn doit<N, D>(traversal: &D, traversal_data: &mut PerLevelTraversalData,
|
||||
thread_local: &mut D::ThreadLocalContext, node: N)
|
||||
where N: TNode,
|
||||
D: DomTraversal<N>
|
||||
fn doit<E, D>(traversal: &D, traversal_data: &mut PerLevelTraversalData,
|
||||
thread_local: &mut D::ThreadLocalContext, node: E::ConcreteNode)
|
||||
where E: TElement,
|
||||
D: DomTraversal<E>
|
||||
{
|
||||
traversal.process_preorder(traversal_data, thread_local, node);
|
||||
if let Some(el) = node.as_element() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue