serenity/Tests/LibWeb/Text/input/scroll-into-view-end.html
Aliaksandr Kalenik cda1d886df LibWeb: Fix not working Element::scroll_an_element_into_view()
Fixes following mistakes:
- "scrolling box" for a document is not `scrollable_overflow_rect()`
   but size of viewport (initial containing block, like spec says).
- comparing edges of "scrolling box" with edges of target element
  does not make any sense because "scrolling box" edges are relative
  to page while result of `get_bounding_client_rect()` is relative
  to viewport.
2023-12-19 10:45:07 +01:00

30 lines
737 B
HTML

<script src="include.js"></script>
<style>
body {
margin: 0;
}
#box {
width: 200px;
height: 200px;
background-color: magenta;
}
</style>
<div style="height: 1000px"></div>
<div style="margin-left: 500px" onclick="clickHandler(event)" id="box"></div>
<div style="height: 1000px"></div>
<script>
function clickHandler(event) {
document.getElementById("box").scrollIntoView({ block: "end" });
}
asyncTest(done => {
document.addEventListener("scroll", event => {
println("The page has been scrolled to y: " + window.scrollY);
done();
});
document.getElementById("box").dispatchEvent(new Event("click"));
});
</script>