summaryrefslogtreecommitdiffstats
path: root/editor/libeditor/crashtests/448329-3.html
diff options
context:
space:
mode:
Diffstat (limited to 'editor/libeditor/crashtests/448329-3.html')
-rw-r--r--editor/libeditor/crashtests/448329-3.html112
1 files changed, 112 insertions, 0 deletions
diff --git a/editor/libeditor/crashtests/448329-3.html b/editor/libeditor/crashtests/448329-3.html
new file mode 100644
index 0000000000..0a48c1818c
--- /dev/null
+++ b/editor/libeditor/crashtests/448329-3.html
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML>
+<html><head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Testcase #3 for bug 448329</title>
+</head>
+<body>
+
+<iframe id="frame448329"></iframe>
+
+<script>
+
+function test448329(id,cmd,val) {
+
+ var elm = document.getElementById(id);
+ var doc = elm.contentDocument;
+ doc.designMode = "On";
+
+ // Work around getSelection depending on a presshell but not flushing to get
+ // one.
+ doc.body.offsetWidth;
+ var s = doc.defaultView.getSelection();
+
+ // Test document node
+ if (s.rangeCount > 0)
+ s.removeAllRanges();
+ var range = doc.createRange();
+ range.setStart(doc, 0);
+ range.setEnd(doc, 0);
+ s.addRange(range);
+ doc.execCommand(cmd,false,val);
+
+ // Test HTML node
+ if (s.rangeCount > 0)
+ s.removeAllRanges();
+ range = doc.createRange();
+ range.setStart(doc.documentElement, 0);
+ range.setEnd(doc.documentElement, 0);
+ s.addRange(range);
+ doc.execCommand(cmd,false,val);
+
+ // Test BODY node
+ if (s.rangeCount > 0)
+ s.removeAllRanges();
+ range = doc.createRange();
+ var body = doc.documentElement.childNodes[1];
+ range.setStart(body, 0);
+ range.setEnd(body, 0);
+ s.addRange(range);
+ doc.execCommand(cmd,false,val);
+
+ var text = doc.createTextNode("Hello Kitty");
+ body.insertBefore(text, null)
+
+ // Test TEXT node
+ if (s.rangeCount > 0)
+ s.removeAllRanges();
+ range = doc.createRange();
+ range.setStart(text, 0);
+ range.setEnd(text, 1);
+ s.addRange(range);
+ doc.execCommand(cmd,false,val);
+
+ // Test BODY[0,0] + TEXT node
+ if (s.rangeCount > 0)
+ s.removeAllRanges();
+ range = doc.createRange();
+ range.setStart(body, 0);
+ range.setEnd(body, 0);
+ s.addRange(range);
+ range = doc.createRange();
+ range.setStart(text, 0);
+ range.setEnd(text, 1);
+ s.addRange(range);
+ doc.execCommand(cmd,false,val);
+
+ // Test BODY[0,1] + TEXT node
+ if (s.rangeCount > 0)
+ s.removeAllRanges();
+ range = doc.createRange();
+ range.setStart(body, 0);
+ range.setEnd(body, 1);
+ s.addRange(range);
+ range = doc.createRange();
+ range.setStart(text, 0);
+ range.setEnd(text, 1);
+ s.addRange(range);
+ doc.execCommand(cmd,false,val);
+
+ // Test BODY[0,1] + TEXT node without a parent
+ if (s.rangeCount > 0)
+ s.removeAllRanges();
+ range = doc.createRange();
+ range.setStart(body, 0);
+ range.setEnd(body, 1);
+ s.addRange(range);
+ range = doc.createRange();
+ text = doc.createTextNode("Hello Kitty"); // not in doc
+ range.setStart(text, 0);
+ range.setEnd(text, 1);
+ s.addRange(range);
+ doc.execCommand(cmd,false,val);
+
+}
+
+test448329("frame448329", "backcolor", "green")
+test448329("frame448329", "hilitecolor", "green")
+
+</script>
+
+
+</body>
+</html>