aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <release+servo@mozilla.com>2014-02-26 08:01:42 -0500
committerbors-servo <release+servo@mozilla.com>2014-02-26 08:01:42 -0500
commit7ff35c0abedf6a339b9a0117aad85e06dc86555f (patch)
tree3d6082f2f4be08fd85cab8a63030ce81721e2dc4
parent61e499c6785dc856933e009cb2b138fda80cb3f4 (diff)
parent2d5051e9aa5940b5de3b613f1a65b6b58824df4e (diff)
downloadservo-7ff35c0abedf6a339b9a0117aad85e06dc86555f.tar.gz
servo-7ff35c0abedf6a339b9a0117aad85e06dc86555f.zip
auto merge of #1759 : lpy/servo/issue1743, r=Ms2ger
see #1743
-rw-r--r--src/components/script/dom/htmlserializer.rs2
-rw-r--r--src/test/html/content/test_innerHTML.html11
2 files changed, 12 insertions, 1 deletions
diff --git a/src/components/script/dom/htmlserializer.rs b/src/components/script/dom/htmlserializer.rs
index 482c724666b..e6822e79215 100644
--- a/src/components/script/dom/htmlserializer.rs
+++ b/src/components/script/dom/htmlserializer.rs
@@ -104,7 +104,7 @@ fn serialize_elem(elem: &JS<Element>, open_elements: &mut ~[~str]) -> ~str {
match elem.get().node.first_child {
Some(ref child) if child.is_text() => {
let text: JS<CharacterData> = CharacterDataCast::to(child);
- if text.get().data[0] == 0x0A as u8 {
+ if text.get().data.len() > 0 && text.get().data[0] == 0x0A as u8 {
rv.push_str("\x0A");
}
},
diff --git a/src/test/html/content/test_innerHTML.html b/src/test/html/content/test_innerHTML.html
new file mode 100644
index 00000000000..1f0cf235526
--- /dev/null
+++ b/src/test/html/content/test_innerHTML.html
@@ -0,0 +1,11 @@
+<html>
+ <head>
+ <script src="harness.js"></script>
+ <script>
+ var a = document.createElement("div");
+ a.appendChild(document.createElement("pre")).appendChild(new Text(""));
+ is(a.innerHTML, "<pre></pre>");
+ finish();
+ </script>
+ </head>
+</html>