Auto merge of #18747 - jdm:serializing-childrenonly, r=jdm

Serializing childrenonly

Rebased from #17896.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #14975 (github issue number if applicable).
- [x] There are tests for these changes

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18747)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-10-09 11:12:53 -05:00 committed by GitHub
commit e3624e62a4
14 changed files with 38 additions and 56 deletions

View file

@ -2050,7 +2050,10 @@ impl ElementMethods for Element {
/// https://w3c.github.io/DOM-Parsing/#widl-Element-innerHTML
fn GetInnerHTML(&self) -> Fallible<DOMString> {
// XXX TODO: XML case
self.serialize(ChildrenOnly)
let qname = QualName::new(self.prefix().clone(),
self.namespace().clone(),
self.local_name().clone());
self.serialize(ChildrenOnly(Some(qname)))
}
/// https://w3c.github.io/DOM-Parsing/#widl-Element-innerHTML

View file

@ -21,7 +21,7 @@ use html5ever::QualName;
use html5ever::buffer_queue::BufferQueue;
use html5ever::serialize::{AttrRef, Serialize, Serializer};
use html5ever::serialize::TraversalScope;
use html5ever::serialize::TraversalScope::ChildrenOnly;
use html5ever::serialize::TraversalScope::IncludeNode;
use html5ever::tokenizer::{Tokenizer as HtmlTokenizer, TokenizerOpts, TokenizerResult};
use html5ever::tree_builder::{Tracer as HtmlTracer, TreeBuilder, TreeBuilderOpts};
use js::jsapi::JSTracer;
@ -202,7 +202,7 @@ impl<'a> Serialize for &'a Node {
let node = *self;
let iter = SerializationIterator::new(node, traversal_scope == ChildrenOnly);
let iter = SerializationIterator::new(node, traversal_scope != IncludeNode);
for cmd in iter {
match cmd {