|
9 | 9 |
|
10 | 10 | // The tree builder rules, as a single, enormous nested match expression. |
11 | 11 |
|
12 | | -use {ExpandedName, QualName}; |
13 | | -use interface::{Attribute, TreeSink, Quirks, AppendNode, create_element}; |
14 | 12 | use tree_builder::types::*; |
15 | 13 | use tree_builder::tag_sets::*; |
16 | | -use tree_builder::{NoPush, Push, html_elem}; |
17 | | -use tokenizer::{EndTag, StartTag, Tag}; |
18 | 14 | use tokenizer::states::{Rcdata, Rawtext, ScriptData, Plaintext}; |
19 | | -use util::str::is_ascii_whitespace; |
20 | 15 |
|
21 | | -use std::ascii::AsciiExt; |
22 | | -use std::mem::replace; |
23 | | -use std::borrow::Cow::Borrowed; |
24 | 16 | use std::borrow::ToOwned; |
25 | 17 |
|
26 | | -use tendril::{StrTendril, SliceExt}; |
| 18 | +use tendril::SliceExt; |
27 | 19 |
|
28 | 20 | fn any_not_whitespace(x: &StrTendril) -> bool { |
29 | 21 | // FIXME: this might be much faster as a byte scan |
30 | 22 | x.chars().any(|c| !is_ascii_whitespace(c)) |
31 | 23 | } |
32 | 24 |
|
33 | | -// This goes in a trait so that we can control visibility. |
34 | | -pub trait TreeBuilderStep<Handle> { |
35 | | - fn step(&mut self, mode: InsertionMode, token: Token) -> ProcessResult<Handle>; |
36 | | - fn step_foreign(&mut self, token: Token) -> ProcessResult<Handle>; |
37 | | -} |
38 | | - |
39 | 25 | fn current_node<Handle>(open_elems: &[Handle]) -> &Handle { |
40 | 26 | open_elems.last().expect("no current element") |
41 | 27 | } |
42 | 28 |
|
43 | 29 | #[doc(hidden)] |
44 | | -impl<Handle, Sink> TreeBuilderStep<Handle> |
45 | | - for super::TreeBuilder<Handle, Sink> |
| 30 | +impl<Handle, Sink> TreeBuilder<Handle, Sink> |
46 | 31 | where Handle: Clone, |
47 | 32 | Sink: TreeSink<Handle=Handle>, |
48 | 33 | { |
|
0 commit comments