blob: d167b75dd3dda13c6c5d673df213fc245c0d24a7 [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<style>
.scroller {
position: absolute;
height: 200px;
width: 300px;
top: 100px;
border: 5px solid #ccc;
}
.scroller.vert {
left: 20px;
overflow-y: scroll;
}
.scroller.horz {
left: 350px;
overflow-x: scroll;
}
.scroller::-webkit-scrollbar {
width: 20px;
height: 20px;
background-color: #ccc;
}
.scroller::-webkit-scrollbar-thumb {
background-color: #68c;
}
.abs {
position: absolute;
background-color: #ACF7AA;
}
.vert > .abs {
top: 20px;
right: 20px;
width: 200px;
height: 400px;
}
.horz > .abs {
left: 20px;
bottom: 20px;
width: 400px;
height: 100px;
}
</style>
<div class="scroller vert"><div class="abs"></div></div>
<div class="scroller horz"><div class="abs"></div></div>
<script>
var vScroll = document.querySelector(".scroller.vert");
var hScroll = document.querySelector(".scroller.horz");
test((t) => {
assert_equals(vScroll.firstChild.offsetLeft, 60);
assert_equals(hScroll.firstChild.offsetTop, 60);
vScroll.style.overflowY = "hidden";
hScroll.style.overflowX = "hidden";
assert_equals(vScroll.firstChild.offsetLeft, 80);
assert_equals(hScroll.firstChild.offsetTop, 80);
vScroll.style.overflowY = "";
hScroll.style.overflowX = "";
assert_equals(vScroll.firstChild.offsetLeft, 60);
assert_equals(hScroll.firstChild.offsetTop, 60);
}, "Relayout abspos child when overflow style changes.");
</script>