dom/events/test/test_bug617528.xul

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 <?xml version="1.0"?>
     2 <?xml-stylesheet type="text/css" href="chrome://global/skin"?>
     3 <?xml-stylesheet type="text/css"
     4                  href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
     5 <!--
     6 https://bugzilla.mozilla.org/show_bug.cgi?id=617528
     7 -->
     8 <window title="Mozilla Bug 617528"
     9         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
    11   <script type="application/javascript"
    12           src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
    14   <body xmlns="http://www.w3.org/1999/xhtml">
    15     <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=617528"
    16        target="_blank">Mozilla Bug 617528</a>
    17   </body>
    19   <script type="application/javascript"><![CDATA[
    20     var _window;
    21     var browser;
    23     function start() {
    24       _window = window.open("window_bug617528.xul", "_new", "chrome");
    25       _window.addEventListener("load", onLoad, false);
    26     }
    28     function onLoad() {
    29       _window.removeEventListener("load", onLoad, false);
    31       browser = _window.document.getElementById("browser");
    32       browser.addEventListener("pageshow", onPageShow, false);
    34       var uri='data:text/html,\
    35 <html>\
    36   <body>\
    37     <div oncontextmenu="event.preventDefault()">\
    38       <input id="node" type="text" value="Click here"></input>\
    39     </div>\
    40   </body>\
    41 </html>';
    42       browser.loadURI(uri);
    43     }
    45     function onPageShow() {
    46       browser.removeEventListener("pageshow", onPageShow, true);
    47       SimpleTest.executeSoon(doTest);
    48     }
    50     function onContextMenu1(event) {
    51       is(event.defaultPrevented, true,
    52         "expected event.defaultPrevented to be true (1)");
    53       is(event.target.localName, "input",
    54         "expected event.target.localName to be 'input' (1)");
    55       is(event.originalTarget.localName, "div",
    56         "expected event.originalTarget.localName to be 'div' (1)");
    57     }
    59     function onContextMenu2(event) {
    60       is(event.defaultPrevented, false,
    61         "expected event.defaultPrevented to be false (2)");
    62       is(event.target.localName, "input",
    63         "expected event.target.localName to be 'input' (2)");
    64       is(event.originalTarget.localName, "div",
    65         "expected event.originalTarget.localName to be 'div' (2)");
    66     }
    68     function doTest() {
    69       var win = browser.contentWindow;
    70       win.focus();
    71       var node = win.document.getElementById("node");
    72       var rect = node.getBoundingClientRect();
    73       var left = rect.left + rect.width / 2;
    74       var top = rect.top + rect.height / 2;
    76       var wu = win.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
    77         .getInterface(Components.interfaces.nsIDOMWindowUtils);
    79       browser.addEventListener("contextmenu", onContextMenu1, false);
    80       wu.sendMouseEvent("contextmenu", left, top, 2, 1, 0);
    81       browser.removeEventListener("contextmenu", onContextMenu1, false);
    83       browser.addEventListener("contextmenu", onContextMenu2, false);
    84       var shiftMask = Components.interfaces.nsIDOMEvent.SHIFT_MASK;
    85       wu.sendMouseEvent("contextmenu", left, top, 2, 1, shiftMask);
    86       browser.removeEventListener("contextmenu", onContextMenu2, false);
    88       _window.close();
    89       SimpleTest.finish();
    90     }
    92     addLoadEvent(start);
    93     SimpleTest.waitForExplicitFinish();
    94   ]]></script>
    95 </window>

mercurial