diff options
Diffstat (limited to 'dom/tests/mochitest/chrome/file_bug830858.xul')
-rw-r--r-- | dom/tests/mochitest/chrome/file_bug830858.xul | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/dom/tests/mochitest/chrome/file_bug830858.xul b/dom/tests/mochitest/chrome/file_bug830858.xul new file mode 100644 index 000000000..ba2a7c1b8 --- /dev/null +++ b/dom/tests/mochitest/chrome/file_bug830858.xul @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<?xml-stylesheet type="text/css" href="chrome://global/skin"?> +<?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=830858 +--> +<window title="Mozilla Bug 830858" + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> + <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/> + <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/> + + <!-- test results are displayed in the html:body --> + <body xmlns="http://www.w3.org/1999/xhtml"> + <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=830858" + target="_blank">Mozilla Bug 830858</a> + </body> + + <!-- test code goes here --> + <script type="application/javascript"> + <![CDATA[ + /** Test for Bug 830858 **/ + + function runTests() { + var b = document.getElementById("b"); + var win = b.contentWindow; + var doc = win.document; + var wu = win.QueryInterface(Components.interfaces.nsIInterfaceRequestor) + .getInterface(Components.interfaces.nsIDOMWindowUtils); + + var docListenerCalled = 0; + doc.addEventListener("foo", function() { ++docListenerCalled; }, true); + var winListenerCalled = 0; + win.addEventListener("foo", function() { ++winListenerCalled; }, true); + var iframeListenerCalled = 0; + b.addEventListener("foo", function() { ++iframeListenerCalled; }, true); + + doc.dispatchEvent(new Event("foo")); + opener.wrappedJSObject.is(docListenerCalled, 1, "Normal dispatch to Document"); + opener.wrappedJSObject.is(winListenerCalled, 1, "Normal dispatch to Document"); + opener.wrappedJSObject.is(iframeListenerCalled, 1, "Normal dispatch to Document"); + + win.dispatchEvent(new Event("foo")); + opener.wrappedJSObject.is(docListenerCalled, 1, "Normal dispatch to Window"); + opener.wrappedJSObject.is(winListenerCalled, 2, "Normal dispatch to Window"); + opener.wrappedJSObject.is(iframeListenerCalled, 2, "Normal dispatch to Window"); + + wu.dispatchEventToChromeOnly(doc, new Event("foo")); + opener.wrappedJSObject.is(docListenerCalled, 1, "Chrome-only dispatch to Document"); + opener.wrappedJSObject.is(winListenerCalled, 2, "Chrome-only dispatch to Document"); + opener.wrappedJSObject.is(iframeListenerCalled, 3, "Chrome-only dispatch to Document"); + + wu.dispatchEventToChromeOnly(win, new Event("foo")); + opener.wrappedJSObject.is(docListenerCalled, 1, "Chrome-only dispatch to Window"); + opener.wrappedJSObject.is(winListenerCalled, 2, "Chrome-only dispatch to Window"); + opener.wrappedJSObject.is(iframeListenerCalled, 4, "Chrome-only dispatch to Window"); + + window.close(); + opener.wrappedJSObject.finishedTests(); + } + + SimpleTest.waitForFocus(runTests); + ]]> + </script> + <iframe xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + id="b" type="content" src="about:blank" + style="width: 300px; height: 550px; border: 1px solid black;"/> +</window> |