2010-11-17 05:46:00 -08:00
|
|
|
<?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"?>
|
|
|
|
<!--
|
|
|
|
https://bugzilla.mozilla.org/show_bug.cgi?id=602962
|
|
|
|
-->
|
|
|
|
<window title="Mozilla Bug 602962" onload="openWindow()"
|
|
|
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
|
|
|
|
|
|
|
<script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
|
|
|
|
|
|
|
|
<body xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=602962">Mozilla Bug 602962</a>
|
|
|
|
<p id="display"></p>
|
|
|
|
<div id="content" style="display: none">
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
|
|
|
|
<script class="testbody" type="application/javascript;version=1.8"><![CDATA[
|
|
|
|
/** Test for Bug 602962 **/
|
|
|
|
var scrollbox, sbo, content;
|
|
|
|
var scrollX = 0, scrollY = 0;
|
|
|
|
|
|
|
|
var oldWidth = 0, oldHeight = 0;
|
|
|
|
var win = null;
|
|
|
|
|
|
|
|
function openWindow() {
|
2014-01-09 19:03:25 -08:00
|
|
|
win = window.open("chrome://mochitests/content/chrome/dom/events/test/bug602962.xul", "_blank", "width=600,height=600");
|
2010-11-17 05:46:00 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
function doTest() {
|
|
|
|
scrollbox = win.document.getElementById("page-scrollbox");
|
2014-10-14 13:15:21 -07:00
|
|
|
sbo = scrollbox.boxObject;
|
2010-11-17 05:46:00 -08:00
|
|
|
content = win.document.getElementById("page-box");
|
|
|
|
content.style.width = 400 + "px";
|
|
|
|
|
|
|
|
win.addEventListener("resize", function() {
|
|
|
|
win.removeEventListener("resize", arguments.callee, false);
|
|
|
|
|
|
|
|
sbo.scrollBy(200, 0);
|
|
|
|
setTimeout(function() { resize(); }, 0);
|
|
|
|
}, false);
|
|
|
|
|
|
|
|
oldWidth = win.outerWidth;
|
|
|
|
oldHeight = win.outerHeight;
|
|
|
|
win.resizeTo(200, 400);
|
|
|
|
}
|
|
|
|
|
|
|
|
function resize() {
|
2014-10-14 13:15:21 -07:00
|
|
|
scrollX = sbo.positionX;
|
|
|
|
scrollY = sbo.positionY;
|
2010-11-17 05:46:00 -08:00
|
|
|
|
|
|
|
win.addEventListener("resize", function() {
|
|
|
|
content.style.width = (oldWidth + 400) + "px";
|
|
|
|
win.removeEventListener("resize", arguments.callee, true);
|
|
|
|
|
|
|
|
setTimeout(function() {
|
|
|
|
finish();
|
|
|
|
}, 0);
|
|
|
|
}, true);
|
|
|
|
|
|
|
|
win.resizeTo(oldWidth, oldHeight);
|
|
|
|
}
|
|
|
|
|
|
|
|
function finish() {
|
2013-11-28 08:49:24 -08:00
|
|
|
if (win.outerWidth != oldWidth ||
|
|
|
|
win.outerHeight != oldHeight) {
|
|
|
|
// We should eventually get back to the original size.
|
|
|
|
setTimeout(finish, 0);
|
|
|
|
return;
|
|
|
|
}
|
2010-11-17 05:46:00 -08:00
|
|
|
sbo.scrollBy(scrollX, scrollY);
|
|
|
|
|
2014-10-14 13:15:21 -07:00
|
|
|
is(sbo.positionX, 200, "Scroll X should have been restored to the value before the resize");
|
|
|
|
is(sbo.positionY, 0, "Scroll Y should have been restored to the value before the resize");
|
2010-11-17 05:46:00 -08:00
|
|
|
|
|
|
|
is(win.outerWidth, oldWidth, "Width should be resized");
|
|
|
|
is(win.outerHeight, oldHeight, "Height should be resized");
|
|
|
|
win.close();
|
|
|
|
SimpleTest.finish();
|
|
|
|
}
|
|
|
|
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
]]></script>
|
|
|
|
|
|
|
|
</window>
|