diff options
Diffstat (limited to 'toolkit/content/tests/chrome/test_popup_scaled.xul')
-rw-r--r-- | toolkit/content/tests/chrome/test_popup_scaled.xul | 105 |
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,<html><body><input size='4' id='one'><input size='4' id='two'></body></html>"/> - -<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> |