servo: Merge #5019 - The HTML serializer depth can change on each iteration (from jdm:serializerfix); r=Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 0ea9dafa639d153f6f064192f8f378c0b482540f
This commit is contained in:
Josh Matthews 2015-02-22 13:51:45 -07:00
parent 56b7bb7f35
commit 4671d7cb11
2 changed files with 5 additions and 3 deletions

View File

@ -21,8 +21,8 @@ use std::borrow::ToOwned;
pub fn serialize(iterator: &mut NodeIterator) -> String {
let mut html = String::new();
let mut open_elements: Vec<String> = vec!();
let depth = iterator.depth;
for node in iterator {
while let Some(node) = iterator.next() {
let depth = iterator.depth;
while open_elements.len() > depth {
html.push_str("</");
html.push_str(open_elements.pop().unwrap().as_slice());

View File

@ -4,7 +4,9 @@
<script>
var a = document.createElement("div");
a.appendChild(document.createElement("pre")).appendChild(new Text(""));
is(a.innerHTML, "<pre></pre>");
var b = document.createElement("div");
b.appendChild(a);
is(b.innerHTML, "<div><pre></pre></div>");
</script>
</head>
</html>