summaryrefslogtreecommitdiffstats
path: root/layout/xul/grid/crashtests
diff options
context:
space:
mode:
Diffstat (limited to 'layout/xul/grid/crashtests')
-rw-r--r--layout/xul/grid/crashtests/306911-crash.xul4
-rw-r--r--layout/xul/grid/crashtests/306911-grid-testcases.xul99
-rw-r--r--layout/xul/grid/crashtests/306911-grid-testcases2.xul98
-rw-r--r--layout/xul/grid/crashtests/311710-1.xul22
-rw-r--r--layout/xul/grid/crashtests/312784-1.xul29
-rw-r--r--layout/xul/grid/crashtests/313173-1-inner.xul41
-rw-r--r--layout/xul/grid/crashtests/313173-1.html9
-rw-r--r--layout/xul/grid/crashtests/321066-1.xul8
-rw-r--r--layout/xul/grid/crashtests/321073-1.xul7
-rw-r--r--layout/xul/grid/crashtests/382750-1.xul5
-rw-r--r--layout/xul/grid/crashtests/400790-1.xul20
-rw-r--r--layout/xul/grid/crashtests/423802-crash.xul13
-rw-r--r--layout/xul/grid/crashtests/crashtests.list11
13 files changed, 366 insertions, 0 deletions
diff --git a/layout/xul/grid/crashtests/306911-crash.xul b/layout/xul/grid/crashtests/306911-crash.xul
new file mode 100644
index 000000000..cf55dfdf8
--- /dev/null
+++ b/layout/xul/grid/crashtests/306911-crash.xul
@@ -0,0 +1,4 @@
+<?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <listbox id="thelist" flex="1"> <listitem label="Item1" value="item1">
+ <listitem label="Item2" value="item2"/>
+ </listitem> </listbox>
+</window> \ No newline at end of file
diff --git a/layout/xul/grid/crashtests/306911-grid-testcases.xul b/layout/xul/grid/crashtests/306911-grid-testcases.xul
new file mode 100644
index 000000000..bb69f5bcd
--- /dev/null
+++ b/layout/xul/grid/crashtests/306911-grid-testcases.xul
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<!DOCTYPE window>
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <tabbox>
+ <tabs>
+ <tab label="full grid" />
+ <tab label="grid alone" />
+ <tab label="columns alone" />
+ <tab label="rows alone" />
+ <tab label="column alone" />
+ <tab label="row alone" />
+ <tab label="wacky" />
+ </tabs>
+ <tabpanels>
+ <tabpanel>
+ <grid>
+ <rows style="color: blue">
+ <row>
+ <label value="row 1,1" />
+ <label value="row 1,2" />
+ </row>
+ <row>
+ <label value="row 2,1" />
+ <label value="row 2,2" />
+ </row>
+ </rows>
+ <columns style="color: fuchsia; opacity: 0.7">
+ <column>
+ <label value="column 1,1" />
+ <label value="column 1,2" />
+ </column>
+ <column>
+ <label value="column 2,1" />
+ <label value="column 2,2" />
+ </column>
+ </columns>
+ </grid>
+ </tabpanel>
+ <tabpanel>
+ <grid>
+ <label value="Text inside grid" />
+ </grid>
+ </tabpanel>
+ <tabpanel>
+ <columns>
+ <label value="Text inside columns" />
+ </columns>
+ </tabpanel>
+ <tabpanel>
+ <rows>
+ <label value="Text inside rows" />
+ </rows>
+ </tabpanel>
+ <tabpanel>
+ <column>
+ <label value="Text inside column" />
+ </column>
+ </tabpanel>
+ <tabpanel>
+ <row>
+ <label value="Text inside row" />
+ </row>
+ </tabpanel>
+ <tabpanel>
+ <grid>
+ <label value="Text inside grid one" />
+ <rows style="color: blue">
+ <label value="Text inside rows #1" />
+ <row>
+ <label value="row 1,1" />
+ <label value="row 1,2" />
+ </row>
+ <label value="Text inside rows #2" />
+ <row>
+ <label value="row 2,1" />
+ <label value="row 2,2" />
+ </row>
+ <label value="Text inside rows #3" />
+ </rows>
+ <label value="Text inside grid two" style="opacity: 0.7" />
+ <columns style="color: fuchsia; opacity: 0.7">
+ <label value="Text inside columns #1" />
+ <column>
+ <label value="column 1,1" />
+ <label value="column 1,2" />
+ </column>
+ <label value="Text inside columns #2" />
+ <column>
+ <label value="column 2,1" />
+ <label value="column 2,2" />
+ </column>
+ <label value="Text inside columns #3" />
+ </columns>
+ <label value="Text inside grid three" style="opacity: 0.4" />
+ </grid>
+ </tabpanel>
+ </tabpanels>
+ </tabbox>
+</window>
diff --git a/layout/xul/grid/crashtests/306911-grid-testcases2.xul b/layout/xul/grid/crashtests/306911-grid-testcases2.xul
new file mode 100644
index 000000000..c6b4e3849
--- /dev/null
+++ b/layout/xul/grid/crashtests/306911-grid-testcases2.xul
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<!-- vim:sw=4:ts=4:noet:
+ -->
+<!DOCTYPE window>
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <tabbox>
+ <tabs>
+ <tab label="no group" />
+ <tab label="wacky orientations" />
+ </tabs>
+ <tabpanels>
+ <tabpanel>
+ <grid>
+ <row>
+ <label value="row 1,1" />
+ <label value="row 1,2" />
+ </row>
+ <row>
+ <label value="row 2,1" />
+ <label value="row 2,2" />
+ </row>
+ <column>
+ <label value="column 1,1" />
+ <label value="column 1,2" />
+ </column>
+ <column>
+ <label value="column 2,1" />
+ <label value="column 2,2" />
+ </column>
+ </grid>
+ </tabpanel>
+ <tabpanel>
+ <grid>
+ <rows style="color: green">
+ <row>
+ <label value="rows+row 1" />
+ <label value="rows+row 2" />
+ </row>
+ <column>
+ <label value="rows+column 1" />
+ <label value="rows+column 2" />
+ </column>
+ <rows style="color: purple">
+ <row>
+ <label value="rows+rows+row 1" />
+ <label value="rows+rows+row 2" />
+ </row>
+ <column>
+ <label value="rows+rows+column 1" />
+ <label value="rows+rows+column 2" />
+ </column>
+ </rows>
+ <columns style="color: blue">
+ <row>
+ <label value="rows+columns+row 1" />
+ <label value="rows+columns+row 2" />
+ </row>
+ <column>
+ <label value="rows+columns+column 1" />
+ <label value="rows+columns+column 2" />
+ </column>
+ </columns>
+ </rows>
+ <columns style="opacity: 0.7; color: lime">
+ <row>
+ <label value="columns+row 1" />
+ <label value="columns+row 2" />
+ </row>
+ <column>
+ <label value="columns+column 1" />
+ <label value="columns+column 2" />
+ </column>
+ <rows style="color: fuchsia">
+ <row>
+ <label value="columns+rows+row 1" />
+ <label value="columns+rows+row 2" />
+ </row>
+ <column>
+ <label value="columns+rows+column 1" />
+ <label value="columns+rows+column 2" />
+ </column>
+ </rows>
+ <columns style="color: aqua">
+ <row>
+ <label value="columns+columns+row 1" />
+ <label value="columns+columns+row 2" />
+ </row>
+ <column>
+ <label value="columns+columns+column 1" />
+ <label value="columns+columns+column 2" />
+ </column>
+ </columns>
+ </columns>
+ </grid>
+ </tabpanel>
+ </tabpanels>
+ </tabbox>
+</window>
diff --git a/layout/xul/grid/crashtests/311710-1.xul b/layout/xul/grid/crashtests/311710-1.xul
new file mode 100644
index 000000000..403b267e9
--- /dev/null
+++ b/layout/xul/grid/crashtests/311710-1.xul
@@ -0,0 +1,22 @@
+<window title="Testcase bug 311710 - Evil xul testcase, using display:-moz-grid-group causes crash [@ nsGridRow::IsCollapsed]"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
+ xmlns:html="http://www.w3.org/1999/xhtml">
+<script type="application/x-javascript">
+function clickit() {
+ var button = document.getElementById('button');
+ var evt = document.createEvent("MouseEvents");
+ evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ button.dispatchEvent(evt);
+}
+window.addEventListener('load', clickit, false);
+</script>
+
+ <grid>
+ <rows>
+ <row>
+ <separator/>
+ </row>
+ </rows>
+ </grid>
+<button id="button" onclick="document.getElementsByTagName('row')[0].style.display='-moz-grid-group'" label="Mozilla should not crash, when clicking this button"/>
+</window>
diff --git a/layout/xul/grid/crashtests/312784-1.xul b/layout/xul/grid/crashtests/312784-1.xul
new file mode 100644
index 000000000..ee4054d80
--- /dev/null
+++ b/layout/xul/grid/crashtests/312784-1.xul
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<script type="application/x-JavaScript">
+function crash() {
+ document.getElementById("test").style.display = "none";
+}
+
+function clickit() {
+ var button = document.getElementById('button');
+ var evt = document.createEvent("MouseEvents");
+ evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ button.dispatchEvent(evt);
+}
+
+window.onload = clickit;
+
+</script>
+
+ <grid>
+ <columns>
+ <column/>
+ </columns>
+ <rows id="test">
+ <row><button label="placeholder"/></row>
+ </rows>
+ </grid>
+<button id="button" label="Crash me" onclick="crash()"/>
+</window>
diff --git a/layout/xul/grid/crashtests/313173-1-inner.xul b/layout/xul/grid/crashtests/313173-1-inner.xul
new file mode 100644
index 000000000..284d6c1f1
--- /dev/null
+++ b/layout/xul/grid/crashtests/313173-1-inner.xul
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+
+<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
+
+<window title="Testcase bug - Crash with evil xul testcase, using -moz-grid/table-caption"
+ xmlns:html="http://www.w3.org/1999/xhtml"
+ xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<grid flex="1">
+ <columns>
+ <column flex="1"/>
+ </columns>
+
+ <rows>
+ <row>
+ </row>
+ </rows>
+</grid>
+
+<html:script>
+function doe(){
+document.getElementsByTagName('columns')[0].style.display='table-caption';
+setTimeout(doe2,20);
+}
+function doe2(){
+document.getElementsByTagName('columns')[0].style.display='-moz-grid';
+}
+
+function clickit() {
+ var button = document.getElementById('button');
+ var evt = document.createEvent("MouseEvents");
+ evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ button.dispatchEvent(evt);
+setTimeout('clickit();', 20);
+}
+window.addEventListener('load', clickit, false);
+
+</html:script>
+ <html:button id="button" onclick="doe()" label="click">Clicking this should not crash Mozilla</html:button>
+</window>
+
diff --git a/layout/xul/grid/crashtests/313173-1.html b/layout/xul/grid/crashtests/313173-1.html
new file mode 100644
index 000000000..8b45339ab
--- /dev/null
+++ b/layout/xul/grid/crashtests/313173-1.html
@@ -0,0 +1,9 @@
+<html class="reftest-wait">
+<head>
+<script>
+setTimeout('document.documentElement.className = ""', 500);
+</script>
+<body>
+<iframe src="313173-1-inner.xul"></iframe>
+</body>
+</html>
diff --git a/layout/xul/grid/crashtests/321066-1.xul b/layout/xul/grid/crashtests/321066-1.xul
new file mode 100644
index 000000000..789c2582c
--- /dev/null
+++ b/layout/xul/grid/crashtests/321066-1.xul
@@ -0,0 +1,8 @@
+<?xml version="1.0"?>
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <grid>
+ <rows>
+ <column/>
+ </rows>
+ </grid>
+</window>
diff --git a/layout/xul/grid/crashtests/321073-1.xul b/layout/xul/grid/crashtests/321073-1.xul
new file mode 100644
index 000000000..b92098b62
--- /dev/null
+++ b/layout/xul/grid/crashtests/321073-1.xul
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+ <listcols>
+ <grid/>
+ <listitem/>
+ </listcols>
+</window> \ No newline at end of file
diff --git a/layout/xul/grid/crashtests/382750-1.xul b/layout/xul/grid/crashtests/382750-1.xul
new file mode 100644
index 000000000..7a9da73ec
--- /dev/null
+++ b/layout/xul/grid/crashtests/382750-1.xul
@@ -0,0 +1,5 @@
+<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<grid><rows><listbox/></rows></grid>
+
+</window>
diff --git a/layout/xul/grid/crashtests/400790-1.xul b/layout/xul/grid/crashtests/400790-1.xul
new file mode 100644
index 000000000..4de709428
--- /dev/null
+++ b/layout/xul/grid/crashtests/400790-1.xul
@@ -0,0 +1,20 @@
+<xul xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" onload="boom();">
+
+<script>
+
+function boom()
+{
+ var XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+ var newListbox = document.createElementNS(XUL_NS, "listbox");
+ document.getElementById("listbox").appendChild(newListbox);
+
+ var newHbox = document.createElementNS(XUL_NS, "hbox");
+ document.getElementById("listitem").appendChild(newHbox);
+}
+
+</script>
+
+<listbox id="listbox"><listitem id="listitem" /></listbox>
+
+</xul>
diff --git a/layout/xul/grid/crashtests/423802-crash.xul b/layout/xul/grid/crashtests/423802-crash.xul
new file mode 100644
index 000000000..0ae4eab8f
--- /dev/null
+++ b/layout/xul/grid/crashtests/423802-crash.xul
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<window xmlns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+<grid>
+ <columns>
+ <column id="col1" flex="1"/>
+ <column id="col2" flex="1"/>
+ <column id="col3" flex="P-2"/>
+ </columns>
+</grid>
+
+</window>
diff --git a/layout/xul/grid/crashtests/crashtests.list b/layout/xul/grid/crashtests/crashtests.list
new file mode 100644
index 000000000..afe8e1002
--- /dev/null
+++ b/layout/xul/grid/crashtests/crashtests.list
@@ -0,0 +1,11 @@
+load 306911-crash.xul
+load 306911-grid-testcases.xul
+load 306911-grid-testcases2.xul
+load 311710-1.xul
+load 312784-1.xul
+load 313173-1.html
+load 321066-1.xul
+load 321073-1.xul
+load 382750-1.xul
+load 400790-1.xul
+load 423802-crash.xul