summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/manual-tests/window-sizing.html
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/manual-tests/window-sizing.html')
-rw-r--r--Source/WebCore/manual-tests/window-sizing.html126
1 files changed, 126 insertions, 0 deletions
diff --git a/Source/WebCore/manual-tests/window-sizing.html b/Source/WebCore/manual-tests/window-sizing.html
new file mode 100644
index 0000000..572998b
--- /dev/null
+++ b/Source/WebCore/manual-tests/window-sizing.html
@@ -0,0 +1,126 @@
+<html>
+<head>
+<script>
+var w;
+function Open(sFeatures)
+{
+ if (w && !w.closed)
+ w.close();
+
+ w = window.open("resources/popup200x200.html", "popup", sFeatures);
+
+}
+
+function test1()
+{
+ Open("width=200, height=200, left = 0, top = 0, scrollbars, resizable");
+
+ setConsole(document.getElementById('console1'));
+ clearConsole();
+ shouldBe("w.innerHeight", 200);
+ shouldBe("w.innerWidth", 200);
+ shouldBe("w.outerWidth", 200);
+ shouldBe("w.screenLeft", 0);
+ shouldBe("w.screenTop", 22); // empirical result of low dpi testing
+ shouldBe("w.outerHeight", 223); // empirical result of low dpi testing
+}
+
+function test2()
+{
+ console = document.getElementById('console2');
+ Open("width=200, height=200, left = 0, top = 0, scrollbars, menubar, status, toolbar, resizable");
+
+ setConsole(document.getElementById('console2'));
+ clearConsole();
+ shouldBe("w.innerHeight", 200);
+ shouldBe("w.innerWidth", 200);
+ shouldBe("w.outerWidth", 200);
+ shouldBe("w.screenLeft", 0);
+ shouldBe("w.screenTop", 22); // empirical result of low dpi testing
+ shouldBe("w.outerHeight", 313); // empirical result of low dpi testing
+}
+
+function test3()
+{
+ Open("width=200,height=200,left=" + (screen.width - 200) + ",screenY=0, resizable");
+ w.moveBy(0, screen.height - w.screenTop - w.outerHeight);
+
+ // should be no-ops
+ w.moveTo(w.screenLeft - 100, w.screenTop + 100);
+ w.moveBy(100, -100);
+ w.resizeTo(w.outerWidth - 100 , w.outerHeight - 100);
+ w.resizeBy(100, 100);
+
+ setConsole(document.getElementById('console3'));
+ clearConsole();
+ shouldBe("w.innerHeight", 200);
+ shouldBe("w.innerWidth", 200);
+ shouldBe("w.outerWidth", 200);
+ shouldBe("w.screenLeft", screen.width - 200);
+ shouldBe("w.screenTop", screen.height - w.outerHeight);
+ shouldBe("w.outerHeight", 223); // empirical result of low dpi testing
+}
+
+var console;
+function print(message, color)
+{
+ var paragraph = document.createElement("div");
+ paragraph.appendChild(document.createTextNode(message));
+ paragraph.style.fontFamily = "monospace";
+ if (color)
+ paragraph.style.color = color;
+ console.appendChild(paragraph);
+}
+
+function clearConsole()
+{
+ console.innerHTML = "";
+}
+
+function setConsole(c)
+{
+ console = c;
+}
+
+function shouldBe(a, b)
+{
+ var evalA = eval(a);
+ if (evalA == b)
+ print("PASS: " + a + " should be " + b + " and is.", "green");
+ else
+ print("FAIL: " + a + " should be " + b + " but instead is " + evalA + ".", "red");
+}
+</script>
+</head>
+<body>
+
+<p>This test checks our support for window sizing and positioning.</p>
+<p>To test: Click each button below. Check to make sure that the window it opens has the specified attributes.
+ Also check for a series of 'PASS' messages below the button.</p>
+<p style="color:red">NOTE: Make sure to test at magnified resolutions.</p>
+<p>To test @ 2X resolution:</p>
+<ol>
+<li>Open Quartz Debug (/Developer/Applications/Performance Tools).</li>
+<li>Select Tools -> Show User Interface Resolution.</li>
+<li>Set the resolution to 2.0.</li>
+<li>Restart Safari.</li>
+</ol>
+<hr>
+
+<p>Window size (no toolbars): You should see a red 1 pixel border along every edge of this page, and no scrollbars.</p>
+<input type="button" value="open it!" onclick="test1()">
+<div id='console1'></div>
+<hr>
+
+<p>Window size (all toolbars): You should see a red 1 pixel border along every edge of this page, and no scrollbars.</p>
+<input type="button" value="open it!" onclick="test2()">
+<div id='console2'></div>
+<hr>
+
+<p>Window positioning: This window should be aligned exactly to the bottom right corner of the screen.</p>
+<input type="button" value="open it!" onclick="test3()">
+<div id='console3'></div>
+<hr>
+
+</body>
+</html>