gecko-dev/widget/tests/test_panel_mouse_coords.xul
Brian Grinstead 911776d674 Bug 1544322 - Part 3 - Remove the [type] attribute for multiline <script> tags loading files in chrome://mochikit/content/ r=bzbarsky
This is an autogenerated commit to handle scripts loading mochitest harness files, in
the case where the script src is on the line below the script tag.

This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170
using the `--part 3` argument.

Differential Revision: https://phabricator.services.mozilla.com/D27458

--HG--
extra : moz-landing-system : lando
2019-04-16 03:59:25 +00:00

80 lines
2.6 KiB
XML

<?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=835044
-->
<window title="Mozilla Bug 835044"
onload="startTest()"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
<panel id="thepanel" level="parent"
onpopupshown="sendMouseEvent();"
onmousemove="checkCoords(event);"
width="80" height="80">
</panel>
<!-- 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=835044"
id="anchor"
target="_blank">Mozilla Bug 835044</a>
</body>
<!-- test code goes here -->
<script type="application/javascript">
<![CDATA[
SimpleTest.waitForExplicitFinish();
let utils = window.windowUtils;
let panel = document.getElementById('thepanel');
let nativeMouseMove;
let rect;
function startTest() {
let widgetToolkit = Cc["@mozilla.org/xre/app-info;1"].
getService(Ci.nsIXULRuntime).widgetToolkit;
if (widgetToolkit == "cocoa") {
nativeMouseMove = 5; // NSMouseMoved
} else if (widgetToolkit == "windows") {
nativeMouseMove = 1; // MOUSEEVENTF_MOVE
} else if (/^gtk/.test(widgetToolkit)) {
nativeMouseMove = 3; // GDK_MOTION_NOTIFY
} else {
todo_is("widgetToolkit", widgetToolkit, "Platform not supported");
done();
}
// This first event is to ensure that the next event will have different
// coordinates to the previous mouse position, and so actually generates
// mouse events. The mouse is not moved off the window, as that might
// move focus to another application.
utils.sendNativeMouseEvent(window.mozInnerScreenX, window.mozInnerScreenY,
nativeMouseMove, 0, window.documentElement);
panel.openPopup(document.getElementById("anchor"), "after_start");
}
function sendMouseEvent() {
rect = panel.getBoundingClientRect();
let x = window.mozInnerScreenX + rect.left + 1;
let y = window.mozInnerScreenY + rect.top + 2;
utils.sendNativeMouseEvent(x, y, nativeMouseMove, 0,
window.documentElement);
}
function checkCoords(event) {
is(event.clientX, rect.left + 1, "Motion x coordinate");
is(event.clientY, rect.top + 2, "Motion y coordinate");
done();
}
function done() {
SimpleTest.finish();
}
]]>
</script>
</window>