1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/content/base/test/chrome/file_bug816340.xul Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,70 @@ 1.4 +<?xml version="1.0"?> 1.5 +<?xml-stylesheet href="chrome://global/skin" type="text/css"?> 1.6 +<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" 1.7 + type="text/css"?> 1.8 +<!-- 1.9 +https://bugzilla.mozilla.org/show_bug.cgi?id=816340 1.10 +--> 1.11 +<window title="Mozilla Bug 816340" 1.12 + xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 1.13 + onload="start();"> 1.14 + <label value="Mozilla Bug 816340"/> 1.15 + <!-- test code goes here --> 1.16 + <script type="application/javascript"><![CDATA[ 1.17 + 1.18 + function ok(val, msg) { 1.19 + opener.wrappedJSObject.ok(val, msg); 1.20 + } 1.21 + 1.22 + var elems = 1.23 + [ 1.24 + "input", 1.25 + "textarea", 1.26 + "select", 1.27 + "fieldset", 1.28 + "button", 1.29 + ]; 1.30 + 1.31 + var chromeDidGetEvent = false; 1.32 + function chromeListener() { 1.33 + chromeDidGetEvent = true; 1.34 + } 1.35 + 1.36 + function testElement(el, disabled, contentShouldGetEvent) { 1.37 + chromeDidGetEvent = false; 1.38 + var b = document.getElementById("browser"); 1.39 + b.contentDocument.body.innerHTML = null; 1.40 + var e = b.contentDocument.createElement(el); 1.41 + if (disabled) { 1.42 + e.setAttribute("disabled", "true"); 1.43 + } 1.44 + b.contentDocument.body.appendChild(e); 1.45 + var contentDidGetEvent = false; 1.46 + b.contentDocument.body.addEventListener("foo", 1.47 + function() { contentDidGetEvent = true }, true); 1.48 + 1.49 + b.addEventListener("foo", chromeListener, true); 1.50 + e.dispatchEvent(new Event("foo")); 1.51 + b.removeEventListener("foo", chromeListener, true); 1.52 + ok(contentDidGetEvent == contentShouldGetEvent, "content: " + el + (disabled ? " disabled" : "")); 1.53 + ok(chromeDidGetEvent, "chrome: " + el + (disabled ? " disabled" : "")); 1.54 + } 1.55 + 1.56 + function start() { 1.57 + // Test common element. 1.58 + testElement("div", false, true); 1.59 + testElement("div", true, true); 1.60 + 1.61 + for (var i = 0; i < elems.length; ++i) { 1.62 + testElement(elems[i], false, true); 1.63 + testElement(elems[i], true, false); 1.64 + } 1.65 + ok(true, "done"); 1.66 + opener.setTimeout("done()", 0); 1.67 + window.close(); 1.68 + } 1.69 + 1.70 + ]]></script> 1.71 + 1.72 + <browser id="browser" type="content" src="about:blank"/> 1.73 +</window>