aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/servoparser
diff options
context:
space:
mode:
authorCorey Farwell <coreyf@rwell.org>2017-06-24 18:51:50 -0400
committerCorey Farwell <coreyf@rwell.org>2017-06-25 00:29:08 -0400
commit011ff28aee34f59eb1e788de2666062c7b6dbff4 (patch)
tree7bfeb1a11067cf2a0a54242fa25585f7cc747650 /components/script/dom/servoparser
parenta29261dec196ab5c887655e479e503ca6cbb9229 (diff)
downloadservo-011ff28aee34f59eb1e788de2666062c7b6dbff4.tar.gz
servo-011ff28aee34f59eb1e788de2666062c7b6dbff4.zip
Merge explicit node iterator structures into single generic structure.
Diffstat (limited to 'components/script/dom/servoparser')
-rw-r--r--components/script/dom/servoparser/mod.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/components/script/dom/servoparser/mod.rs b/components/script/dom/servoparser/mod.rs
index 6d6edb6d7a8..f6e1efc5977 100644
--- a/components/script/dom/servoparser/mod.rs
+++ b/components/script/dom/servoparser/mod.rs
@@ -24,7 +24,7 @@ use dom::htmlformelement::{FormControlElementHelpers, HTMLFormElement};
use dom::htmlimageelement::HTMLImageElement;
use dom::htmlscriptelement::{HTMLScriptElement, ScriptResult};
use dom::htmltemplateelement::HTMLTemplateElement;
-use dom::node::{Node, NodeSiblingIterator};
+use dom::node::Node;
use dom::processinginstruction::ProcessingInstruction;
use dom::text::Text;
use dom::virtualmethods::vtable_for;
@@ -119,7 +119,7 @@ impl ServoParser {
}
// https://html.spec.whatwg.org/multipage/#parsing-html-fragments
- pub fn parse_html_fragment(context: &Element, input: DOMString) -> FragmentParsingResult {
+ pub fn parse_html_fragment(context: &Element, input: DOMString) -> impl Iterator<Item=Root<Node>> {
let context_node = context.upcast::<Node>();
let context_document = context_node.owner_doc();
let window = context_document.window();
@@ -468,11 +468,15 @@ impl ServoParser {
}
}
-pub struct FragmentParsingResult {
- inner: NodeSiblingIterator,
+struct FragmentParsingResult<I>
+ where I: Iterator<Item=Root<Node>>
+{
+ inner: I,
}
-impl Iterator for FragmentParsingResult {
+impl<I> Iterator for FragmentParsingResult<I>
+ where I: Iterator<Item=Root<Node>>
+{
type Item = Root<Node>;
fn next(&mut self) -> Option<Root<Node>> {