Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serializing childrenonly #18747

Merged
merged 1 commit into from Oct 9, 2017
Merged
Changes from all commits
Commits
File filter...
Filter file types
Jump to…
Jump to file
Failed to load files.

Always

Just for now

Some generated files are not rendered by default. Learn more.

@@ -55,7 +55,7 @@ freetype = "0.3"
servo-fontconfig = "0.2.1"

[target.'cfg(target_os = "android")'.dependencies]
xml5ever = {version = "0.9"}
xml5ever = {version = "0.10"}

[target.'cfg(any(target_feature = "sse2", target_feature = "neon"))'.dependencies]
simd = "0.2.0"
@@ -19,7 +19,7 @@ fnv = "1.0"
gfx = {path = "../gfx"}
gfx_traits = {path = "../gfx_traits"}
heapsize = "0.4"
html5ever = "0.19"
html5ever = "0.20.0"
ipc-channel = "0.8"
libc = "0.2"
log = "0.3.5"
@@ -17,7 +17,7 @@ fnv = "1.0"
gfx = {path = "../gfx"}
gfx_traits = {path = "../gfx_traits"}
heapsize = "0.4"
html5ever = "0.19"
html5ever = "0.20.0"
ipc-channel = "0.8"
layout = {path = "../layout"}
layout_traits = {path = "../layout_traits"}
@@ -45,7 +45,7 @@ gleam = "0.4"
half = "1.0"
heapsize = "0.4"
heapsize_derive = "0.1"
html5ever = {version = "0.19", features = ["heap_size"]}
html5ever = {version = "0.20", features = ["heap_size"]}
hyper = "0.10"
hyper_serde = "0.7"
image = "0.14"
@@ -90,7 +90,7 @@ unicode-segmentation = "1.1.0"
url = {version = "1.2", features = ["heap_size", "query_encoding"]}
utf-8 = "0.7"
uuid = {version = "0.5", features = ["v4"]}
xml5ever = {version = "0.9"}
xml5ever = {version = "0.10"}
webrender_api = {git = "https://github.com/servo/webrender", features = ["ipc"]}
webvr_traits = {path = "../webvr_traits"}

@@ -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
@@ -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 {
@@ -18,7 +18,7 @@ euclid = "0.15"
gfx_traits = {path = "../gfx_traits"}
heapsize = "0.4"
heapsize_derive = "0.1"
html5ever = "0.19"
html5ever = "0.20.0"
ipc-channel = "0.8"
libc = "0.2"
log = "0.3.5"
@@ -46,7 +46,7 @@ heapsize = {version = "0.4", optional = true}
heapsize_derive = {version = "0.1", optional = true}
itertools = "0.5"
itoa = "0.3"
html5ever = {version = "0.19", optional = true}
html5ever = {version = "0.20", optional = true}
lazy_static = "0.2"
lru_cache = { path = "../lru_cache" }
log = "0.3"
@@ -14,7 +14,7 @@ byteorder = "1.0"
app_units = "0.5"
cssparser = "0.21.1"
euclid = "0.15"
html5ever = "0.19"
html5ever = "0.20"
parking_lot = "0.4"
rayon = "0.8"
rustc-serialize = "0.3"
"testharness"
],
"html/syntax/serializing-html-fragments/serializing.html": [
"cd9e3b8412231aa393081a6234efc7476e00c48e",
"37b4cbb9a06e43943847be64ece1881c45d3684f",
"testharness"
],
"html/syntax/serializing-xml-fragments/outerHTML.html": [
@@ -6,6 +6,10 @@
[innerHTML in XHTML 1]
expected: FAIL

[innerHTML in XHTML 2]
expected: FAIL
bug: https://github.com/servo/servo/issues/18776

[innerHTML in XHTML 3]
expected: FAIL

@@ -6,33 +6,6 @@
[outerHTML Attribute in non-standard namespace]
expected: FAIL

[innerHTML <pre> non-context starting with U+000A]
expected: FAIL

[innerHTML <textarea> non-context starting with U+000A]
expected: FAIL

[innerHTML <listing> non-context starting with U+000A]
expected: FAIL

[outerHTML <pre> context starting with U+000A]
expected: FAIL

[outerHTML <textarea> context starting with U+000A]
expected: FAIL

[outerHTML <listing> context starting with U+000A]
expected: FAIL

[outerHTML <pre> non-context starting with U+000A]
expected: FAIL

[outerHTML <textarea> non-context starting with U+000A]
expected: FAIL

[outerHTML <listing> non-context starting with U+000A]
expected: FAIL

[innerHTML Void context node area]
expected: FAIL

@@ -25,6 +25,7 @@
<span>&quot;</span>
<span><style><&></style></span>
<span><script type="test"><&></script></span>
<script type="test"><&></script>
<span><xmp><&></xmp></span>
<span><iframe><&></iframe></span>
<span><noembed><&></noembed></span>
@@ -37,7 +38,7 @@
<!-- TODO: template element -->
<script>

var test_data = document.getElementById("test").getElementsByTagName("span");
var test_data = document.getElementById("test").children;
var expected = [
["", "<span></span>"],
["<a></a>", "<span><a></a></span>"],
@@ -58,6 +59,7 @@
["\"", "<span>\"</span>"],
["<style><&></style>", "<span><style><&></style></span>"],
["<script type=\"test\"><&><\/script>", "<span><script type=\"test\"><&><\/script></span>"],
["<&>", "<script type=\"test\"><&><\/script>"],
["<xmp><&></xmp>", "<span><xmp><&></xmp></span>"],
["<iframe><&></iframe>", "<span><iframe><&></iframe></span>"],
["<noembed><&></noembed>", "<span><noembed><&></noembed></span>"],
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.