Crash test for bug 421839.
authorMats Palmgren <mats.palmgren@bredband.net>
Mon, 08 Dec 2008 00:11:48 +0100
changeset 22474 7effc03f2f4586df79152b1cbab9cb907443e666
parent 22473 f7d4bb87cda0cc93ab1f263817427568a5c922d3
child 22475 e437dc52b966f62ac10fdb1f94c22ef0dd9657d5
push idunknown
push userunknown
push dateunknown
bugs421839
milestone1.9.2a1pre
Crash test for bug 421839.
layout/generic/test/Makefile.in
layout/generic/test/bug421839-1-iframe.html
layout/generic/test/bug421839-2-iframe.html
layout/generic/test/test_bug421839-1.html
layout/generic/test/test_bug421839-2.html
--- a/layout/generic/test/Makefile.in
+++ b/layout/generic/test/Makefile.in
@@ -57,16 +57,20 @@ include $(topsrcdir)/config/rules.mk
 		test_bug392923.html \
 		test_bug394173.html \
 		test_bug394239.html \
 		test_bug402380.html \
 		test_bug404872.html \
 		test_bug405178.html \
 		test_bug416168.html \
 		test_bug421436.html \
+		bug421839-1-iframe.html \
+		test_bug421839-1.html \
+		bug421839-2-iframe.html \
+		test_bug421839-2.html \
 		test_bug448860.html \
 		test_bug460532.html \
 		test_bug468167.html \
 		test_character_movement.html \
 		test_word_movement.html \
 		test_backspace_delete.html \
 		$(NULL)
 
new file mode 100644
--- /dev/null
+++ b/layout/generic/test/bug421839-1-iframe.html
@@ -0,0 +1,43 @@
+<html>
+<head>
+<title>Crash [@ nsTypedSelection::ScrollPointIntoClipView] with toggling iframe, mousedown and mousemove</title>
+</head>
+<body>
+Moving with you mouse from above to below and back a few times across the iframe, shouldn't crash Mozilla<br>
+<iframe id="content" src="data:text/html;charset=utf-8,text%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%0A%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3Etext%3Cbr%3E"></iframe>
+<script>
+var doc = document;
+if (document.getElementById('content'))
+  doc = document.getElementById('content').contentDocument;
+
+function toggleIframe(){
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect UniversalBrowserRead");
+var x=top.document.getElementById('content');
+x.style.display = x.style.display == 'none' ? x.style.display = '' : x.style.display = 'none';
+setTimeout(toggleIframe,100);
+}
+setTimeout(toggleIframe,100);
+
+function ctrlclick(i){
+netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+var wu =  doc.defaultView.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
+                .getInterface(Components.interfaces.nsIDOMWindowUtils);
+
+var wu2 =  top.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
+                .getInterface(Components.interfaces.nsIDOMWindowUtils);
+
+try{
+wu.sendMouseEvent('mousedown',  2*i, 2*i, 0, 1, 0);
+wu2.sendMouseEvent('mousemove',  500*i, 500*i, 0, 0, 0);
+//wu.sendMouseEvent('mouseup',  2*i, 2*i, 0, 1, 2);
+
+} catch(e) {}
+i+=1;
+if (i>50)
+ i =0;
+setTimeout(ctrlclick,20,i);
+}
+setTimeout(ctrlclick,20,0);
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/generic/test/bug421839-2-iframe.html
@@ -0,0 +1,57 @@
+<html>
+<head>
+</head>
+<body style="position: absolute;">
+<iframe id="a"></iframe>
+<iframe></iframe>
+<script>
+function tripleclick(){
+netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
+var wu =  window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
+                .getInterface(Components.interfaces.nsIDOMWindowUtils);
+wu.sendMouseEvent('mousedown',  100, 100, 0, 1, 0);
+setTimeout(tripleclick,20);
+}
+setTimeout(tripleclick,200,0, 0);
+
+function doe2() {
+document.body.setAttribute('style', 'position: absolute;');
+document.body.offsetHeight;
+document.getElementById('a').setAttribute('style', 'position: absolute; direction: rtl; ');
+setTimeout(doe3,200);
+}
+
+function doe3() {
+document.getElementsByTagName('*')[2].setAttribute('style', 'unicode-bidi: inherit; ime-mode: disabled; font-family: Al Bayan; ');
+}
+setTimeout(doe2,500,0);
+
+setTimeout(function(){window.location.reload()}, 1000);
+
+
+function designmodes(i){
+if (i>=0)
+  {
+try {
+window.frames[i].document.designMode='on';
+window.frames[i].document.execCommand('inserthtml', false, 'tesxt ');
+window.frames[i].document.designMode='off';
+}
+catch(e) {}
+}
+else { 
+i = window.frames.length-1;
+ }
+  i--;
+setTimeout(designmodes,50,i);
+}
+setTimeout(designmodes,500,window.frames.length-1);
+
+function doe2(i) {
+document.body.style.position == 'absolute' ? document.body.style.position = '' : document.body.style.position = 'absolute';
+setTimeout(doe2,200,i);
+}
+setTimeout(doe2,500,0);
+</script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/generic/test/test_bug421839-1.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=421839
+-->
+<head>
+  <title>Test for Bug 421839</title>
+  <script type="application/javascript" src="/MochiKit/MochiKit.js"></script>
+  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=421839">Mozilla Bug 421839</a>
+<p id="display"><iframe src="bug421839-2-iframe.html"></iframe></p>
+<div id="content" style="display: none">
+  
+</div>
+<pre id="test">
+<script type="application/javascript">
+
+/** Test for Bug 421839 **/
+
+function finish_421839() {
+  ok(true, "pass");
+  SimpleTest.finish();
+}
+
+setTimeout(finish_421839,2000)
+SimpleTest.waitForExplicitFinish()
+
+
+</script>
+</pre>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/generic/test/test_bug421839-2.html
@@ -0,0 +1,35 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=421839
+-->
+<head>
+  <title>Test for Bug 421839</title>
+  <script type="application/javascript" src="/MochiKit/MochiKit.js"></script>
+  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=421839">Mozilla Bug 421839</a>
+<p id="display"><iframe src="bug421839-1-iframe.html"></iframe></p>
+<div id="content" style="display: none">
+  
+</div>
+<pre id="test">
+<script type="application/javascript">
+
+/** Test for Bug 421839 **/
+
+function finish_421839() {
+  ok(true, "pass");
+  SimpleTest.finish();
+}
+
+setTimeout(finish_421839,2000)
+SimpleTest.waitForExplicitFinish()
+
+
+</script>
+</pre>
+</body>
+</html>