123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <!DOCTYPE HTML>
- <html>
- <head>
- <title>Test for Bug 978847</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
- </head>
- <body>
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=978847">Mozilla Bug 978847</a>
- <p id="display"></p>
- </div>
- <pre id="test">
- <script class="testbody" type="text/javascript">
- SimpleTest.waitForExplicitFinish();
- SimpleTest.waitForFocus(function() {
- var x;
- var y;
- // window should be constrained to the screen rect,
- // which we assume is less than 10000px square
- var w1 = window.open("about:blank", "", "left=16000,top=16000,width=100,height=100");
- SimpleTest.waitForFocus(function() {
- ok(w1.screenX < 10000 && w1.screenY < 10000,
- "window should not be opened off-screen: got location " +
- w1.screenX + "," + w1.screenY);
- x = w1.screenX;
- y = w1.screenY;
- w1.close();
- // larger window dimensions should result in a shift of the constrained location
- var w2 = window.open("about:blank", "", "left=16000,top=16000,width=150,height=150");
- SimpleTest.waitForFocus(function() {
- ok(w2.screenX == x - 50 && w2.screenY == y - 50,
- "constrained window position did not depend on size as expected: got " +
- w2.screenX + "," + w2.screenY + ", expected " + (x - 50) + "," + (y - 50));
- w2.close();
- // now try with coordinates that are close to MAXINT,
- // so adding width/height risks 32-bit integer overflow
- var w3 = window.open("about:blank", "", "left=2147483600,top=2147483600,width=100,height=100");
- SimpleTest.waitForFocus(function() {
- ok(w3.screenX < 10000 && w3.screenY < 10000,
- "window should not be opened off-screen: got location " +
- w3.screenX + "," + w3.screenY);
- w3.close();
- SimpleTest.finish();
- }, w3, true);
- }, w2, true);
- }, w1, true);
- }, window, false);
- </script>
- </pre>
- </body>
- </html>
|