dom/events/test/test_bug617528.xul

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:79312f63d4dd
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">
10
11 <script type="application/javascript"
12 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
13
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>
18
19 <script type="application/javascript"><![CDATA[
20 var _window;
21 var browser;
22
23 function start() {
24 _window = window.open("window_bug617528.xul", "_new", "chrome");
25 _window.addEventListener("load", onLoad, false);
26 }
27
28 function onLoad() {
29 _window.removeEventListener("load", onLoad, false);
30
31 browser = _window.document.getElementById("browser");
32 browser.addEventListener("pageshow", onPageShow, false);
33
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 }
44
45 function onPageShow() {
46 browser.removeEventListener("pageshow", onPageShow, true);
47 SimpleTest.executeSoon(doTest);
48 }
49
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 }
58
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 }
67
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;
75
76 var wu = win.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
77 .getInterface(Components.interfaces.nsIDOMWindowUtils);
78
79 browser.addEventListener("contextmenu", onContextMenu1, false);
80 wu.sendMouseEvent("contextmenu", left, top, 2, 1, 0);
81 browser.removeEventListener("contextmenu", onContextMenu1, false);
82
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);
87
88 _window.close();
89 SimpleTest.finish();
90 }
91
92 addLoadEvent(start);
93 SimpleTest.waitForExplicitFinish();
94 ]]></script>
95 </window>

mercurial