summaryrefslogtreecommitdiffstats
path: root/toolkit/content/tests/chrome/test_popup_scaled.xul
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/content/tests/chrome/test_popup_scaled.xul')
-rw-r--r--toolkit/content/tests/chrome/test_popup_scaled.xul105
1 files changed, 0 insertions, 105 deletions
diff --git a/toolkit/content/tests/chrome/test_popup_scaled.xul b/toolkit/content/tests/chrome/test_popup_scaled.xul
deleted file mode 100644
index 6bbf6c653..000000000
--- a/toolkit/content/tests/chrome/test_popup_scaled.xul
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0"?>
-<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
-<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
-
-<window title="Popups in Scaled Content"
- onload="setTimeout(runTests, 0);"
- xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
-
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
-
-<!-- This test checks that the position is correct in two cases:
- - a popup anchored at an element in a scaled document
- - a popup opened at a screen coordinate in a scaled window
- -->
-
-<iframe id="frame" width="60" height="140"
- src="data:text/html,&lt;html&gt;&lt;body&gt;&lt;input size='4' id='one'&gt;&lt;input size='4' id='two'&gt;&lt;/body&gt;&lt;/html&gt;"/>
-
-<menupopup id="popup" onpopupshown="shown()" onpopuphidden="nextTest()">
- <menuitem label="One"/>
-</menupopup>
-
-<script class="testbody" type="application/javascript">
-<![CDATA[
-
-var screenTest = false;
-var screenx = -1, screeny = -1;
-
-SimpleTest.waitForExplicitFinish();
-
-function runTests()
-{
- setScale($("frame").contentWindow, 2);
-
- var anchor = $("frame").contentDocument.getElementById("two");
- anchor.getBoundingClientRect(); // flush to update display after scale change
- $("popup").openPopup(anchor, "after_start");
-}
-
-function setScale(win, scale)
-{
- var wn = win.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
- .getInterface(Components.interfaces.nsIWebNavigation);
- var shell = wn.QueryInterface(Components.interfaces.nsIDocShell);
- var docViewer = shell.contentViewer;
- docViewer.fullZoom = scale;
-}
-
-function shown()
-{
- if (screenTest) {
- var box = $("popup").boxObject;
- is(box.screenX, screenx, "screen left position");
- is(box.screenY, screeny, "screen top position");
- }
- else {
- var anchor = $("frame").contentDocument.getElementById("two");
-
- is(Math.round(anchor.getBoundingClientRect().left * 2),
- Math.round($("popup").getBoundingClientRect().left), "anchored left position");
- is(Math.round(anchor.getBoundingClientRect().bottom * 2),
- Math.round($("popup").getBoundingClientRect().top), "anchored top position");
- }
-
- $("popup").hidePopup();
-}
-
-function nextTest()
-{
- if (screenTest) {
- setScale(window, 1);
- SimpleTest.finish();
- }
- else {
- screenTest = true;
- var box = document.documentElement.boxObject;
-
- // - the iframe is at 4×, but out here css pixels are only 2× device pixels
- // - the popup manager rounds off (or truncates) the coordinates to
- // integers, so ensure we pass in even numbers to openPopupAtScreen
- screenx = (x = even(box.screenX + 120))/2;
- screeny = (y = even(box.screenY + 120))/2;
- setScale(window, 2);
- $("popup").openPopupAtScreen(x, y);
- }
-}
-
-function even(n)
-{
- return (n % 2) ? n+1 : n;
-}
-]]>
-</script>
-
-<body xmlns="http://www.w3.org/1999/xhtml">
-<p id="display">
-</p>
-<div id="content" style="display: none">
-</div>
-<pre id="test">
-</pre>
-</body>
-
-</window>