blob: 2173f5a7189daf3ce16c2361c7690f205527b36f [file] [log] [blame]
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script>
const mainTest = async_test(
'window.scrollTo while zoomed causes correct amount of scroll', {});
const frameTest = async_test(
'window.scrollTo while zoomed causes correct amount of scroll in '
+ 'iframe', {});
function runTest() {
var scaleFactor = 2;
if (window.internals)
internals.setPageScaleFactor(scaleFactor);
window.scrollTo(0, 100);
mainTest.step(function() {
assert_equals(document.scrollingElement.scrollLeft, 0,
"scrollingElement has correct scrollLeft");
assert_equals(document.scrollingElement.scrollTop, 100,
"scrollingElement has correct scrollTop");
assert_equals(window.scrollX, 0,
"window has correct scrollX");
assert_equals(window.scrollY, 100,
"window has correct scrollY");
});
mainTest.done();
var frame = document.getElementById('frame');
frame.contentWindow.scrollTo(100,100);
frameTest.step(function() {
assert_equals(frame.contentDocument.scrollingElement.scrollLeft,
100,
"IFrame ScrollingElement has correct scrollLeft");
assert_equals(frame.contentDocument.scrollingElement.scrollTop,
100,
"IFrame ScrollingElement has correct scrollTop");
assert_equals(frame.contentWindow.scrollX, 100,
"IFrame window has correct scrollX");
assert_equals(frame.contentWindow.scrollY, 100,
"IFrame window has correct scrollY");
});
frameTest.done();
}
addEventListener('load', runTest);
</script>
<style>
body {
width: 4000px;
height: 4000px;
}
</style>
<div id="console"></div>
<iframe id="frame" style="width:400px; height: 400px; position: absolute; top: 100px;"></iframe>
<script>
var frame = document.getElementById('frame');
var doc = frame.contentDocument.open();
doc.write("<html><style>::-webkit-scrollbar {width: 0px;height: 0px;}</style></html>");
doc.write("<div style='left:0; top:0; width:100px; height:100px; position:absolute; background:yellow;'></div>");
doc.write("<div style='left:100px; top:0; width:100px; height:100px; position:absolute; background:green;'></div>");
doc.write("<div style='left:200px; top:0; width:100px; height:100px; position:absolute; background:blue;'></div>");
doc.write("<div style='left:300px; top:0; width:100px; height:100px; position:absolute; background:green;'></div>");
doc.write("<div style='left:400px; top:0; width:100px; height:100px; position:absolute; background:blue;'></div>");
doc.write("<div style='left:0; top:100px; width:100px; height:100px; position:absolute; background: green;'></div>");
doc.write("<div style='left:100px; top:100px; width:100px; height:100px; position:absolute; background:blue;'></div>");
doc.write("<div style='left:200px; top:100px; width:100px; height:100px; position:absolute; background:green;'></div>");
doc.write("<div style='left:300px; top:100px; width:100px; height:100px; position:absolute; background:blue;'></div>");
doc.write("<div style='left:400px; top:100px; width:100px; height:100px; position:absolute; background:green;'></div>");
doc.close();
frame.contentDocument.body.style.width = "2000px";
frame.contentDocument.body.style.height = "2000px";
</script>