summaryrefslogtreecommitdiffstats
path: root/dom/xbl/crashtests/set-field-bad-this.xhtml
diff options
context:
space:
mode:
Diffstat (limited to 'dom/xbl/crashtests/set-field-bad-this.xhtml')
-rw-r--r--dom/xbl/crashtests/set-field-bad-this.xhtml31
1 files changed, 31 insertions, 0 deletions
diff --git a/dom/xbl/crashtests/set-field-bad-this.xhtml b/dom/xbl/crashtests/set-field-bad-this.xhtml
new file mode 100644
index 000000000..7b3dea03a
--- /dev/null
+++ b/dom/xbl/crashtests/set-field-bad-this.xhtml
@@ -0,0 +1,31 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+
+<head>
+ <title>Gracefully handle setting a field on a bad |this|</title>
+
+ <bindings xmlns="http://www.mozilla.org/xbl">
+ <binding id="a">
+ <implementation>
+ <field name="f">17</field>
+ </implementation>
+ </binding>
+ </bindings>
+
+ <script type="application/javascript">
+ window.onload = function()
+ {
+ var bound = document.getElementById("bound");
+ try
+ {
+ Object.getPrototypeOf(bound).f = 42;
+ }
+ catch (e) { /* Throwing's fine, crashing isn't. */ }
+ };
+ </script>
+</head>
+
+<body>
+ <div id="bound" style="-moz-binding: url(#a)"></div>
+</body>
+
+</html>