summaryrefslogtreecommitdiffstats
path: root/dom/xbl/test/test_bug1086996.xhtml
diff options
context:
space:
mode:
Diffstat (limited to 'dom/xbl/test/test_bug1086996.xhtml')
-rw-r--r--dom/xbl/test/test_bug1086996.xhtml62
1 files changed, 62 insertions, 0 deletions
diff --git a/dom/xbl/test/test_bug1086996.xhtml b/dom/xbl/test/test_bug1086996.xhtml
new file mode 100644
index 000000000..c60855a00
--- /dev/null
+++ b/dom/xbl/test/test_bug1086996.xhtml
@@ -0,0 +1,62 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1086996
+-->
+<head>
+ <bindings xmlns="http://www.mozilla.org/xbl"
+ xmlns:html="http://www.w3.org/1999/xhtml">
+ <binding id="handlerBinding">
+ <implementation>
+ <constructor>
+ <![CDATA[XPCNativeWrapper.unwrap(window).constructedHandlerBinding();]]>
+ </constructor>
+ </implementation>
+ <handlers>
+ <handler event="testevent" action="XPCNativeWrapper.unwrap(window).gotEvent();" allowuntrusted="true"/>
+ </handlers>
+ </binding>
+ <binding id="mainBinding">
+ <content>
+ <html:p id="acWithBinding" style="-moz-binding: url(#handlerBinding)"> Anonymous Content</html:p>
+ </content>
+ <implementation>
+ <method name="doEventDispatch" exposeToUntrustedContent="true">
+ <body>
+ <![CDATA[document.getAnonymousNodes(this)[0].dispatchEvent(new CustomEvent('testevent'));]]>
+ </body>
+ </method>
+ </implementation>
+ </binding>
+ </bindings>
+ <title>Test for Bug 1086996</title>
+ <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=1086996">Mozilla Bug 1086996</a>
+<div id="content" style="display: none">
+</div>
+<pre id="test">
+<script type="application/javascript">
+<![CDATA[
+
+/** Test for Bug 1086996 **/
+SimpleTest.waitForExplicitFinish();
+function constructedHandlerBinding() {
+ ok(true, "Constructed handler binding!");
+ setTimeout(function() { $('boundContent').doEventDispatch(); }, 0);
+}
+
+function gotEvent() {
+ ok(true, "Successfully triggered event handler");
+ SimpleTest.finish();
+}
+
+]]>
+</script>
+</pre>
+<!-- This div needs to come after the <script> so we don't run the binding ctor
+ before the <script> has been parsed -->
+<div id="boundContent" style="-moz-binding: url(#mainBinding)"></div>
+</body>
+</html>