Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 <!DOCTYPE HTML>
2 <html><head>
3 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
4 <title>Testcase #3 for bug 448329</title>
5 </head>
6 <body>
8 <iframe id="frame448329"></iframe>
10 <script>
12 function test448329(id,cmd,val) {
14 var elm = document.getElementById(id);
15 var doc = elm.contentDocument;
16 doc.designMode = "On";
18 // Work around getSelection depending on a presshell but not flushing to get
19 // one.
20 doc.body.offsetWidth;
21 var s = doc.defaultView.getSelection();
23 // Test document node
24 if (s.rangeCount > 0)
25 s.removeAllRanges();
26 var range = doc.createRange();
27 range.setStart(doc, 0);
28 range.setEnd(doc, 0);
29 s.addRange(range);
30 doc.execCommand(cmd,false,val);
32 // Test HTML node
33 if (s.rangeCount > 0)
34 s.removeAllRanges();
35 range = doc.createRange();
36 range.setStart(doc.documentElement, 0);
37 range.setEnd(doc.documentElement, 0);
38 s.addRange(range);
39 doc.execCommand(cmd,false,val);
41 // Test BODY node
42 if (s.rangeCount > 0)
43 s.removeAllRanges();
44 range = doc.createRange();
45 var body = doc.documentElement.childNodes[1];
46 range.setStart(body, 0);
47 range.setEnd(body, 0);
48 s.addRange(range);
49 doc.execCommand(cmd,false,val);
51 var text = doc.createTextNode("Hello Kitty");
52 body.insertBefore(text, null)
54 // Test TEXT node
55 if (s.rangeCount > 0)
56 s.removeAllRanges();
57 range = doc.createRange();
58 range.setStart(text, 0);
59 range.setEnd(text, 1);
60 s.addRange(range);
61 doc.execCommand(cmd,false,val);
63 // Test BODY[0,0] + TEXT node
64 if (s.rangeCount > 0)
65 s.removeAllRanges();
66 range = doc.createRange();
67 range.setStart(body, 0);
68 range.setEnd(body, 0);
69 s.addRange(range);
70 range = doc.createRange();
71 range.setStart(text, 0);
72 range.setEnd(text, 1);
73 s.addRange(range);
74 doc.execCommand(cmd,false,val);
76 // Test BODY[0,1] + TEXT node
77 if (s.rangeCount > 0)
78 s.removeAllRanges();
79 range = doc.createRange();
80 range.setStart(body, 0);
81 range.setEnd(body, 1);
82 s.addRange(range);
83 range = doc.createRange();
84 range.setStart(text, 0);
85 range.setEnd(text, 1);
86 s.addRange(range);
87 doc.execCommand(cmd,false,val);
89 // Test BODY[0,1] + TEXT node without a parent
90 if (s.rangeCount > 0)
91 s.removeAllRanges();
92 range = doc.createRange();
93 range.setStart(body, 0);
94 range.setEnd(body, 1);
95 s.addRange(range);
96 range = doc.createRange();
97 text = doc.createTextNode("Hello Kitty"); // not in doc
98 range.setStart(text, 0);
99 range.setEnd(text, 1);
100 s.addRange(range);
101 doc.execCommand(cmd,false,val);
103 }
105 test448329("frame448329", "backcolor", "green")
106 test448329("frame448329", "hilitecolor", "green")
108 </script>
111 </body>
112 </html>