1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:37:35 +00:00

LibWeb: Add hit testing API in internals object

Introduces `internals.hitTest(x, y)` that is going to allow us write
tests for hit testing :)
This commit is contained in:
Aliaksandr Kalenik 2023-08-08 22:44:52 +02:00 committed by Andreas Kling
parent 22a858a0cb
commit bf4e2f3e9c
7 changed files with 60 additions and 0 deletions

View file

@ -0,0 +1,17 @@
<style>
* {
border: 1px solid black;
}
#box {
width: 100px;
height: 100px;
}
</style>
<div id="box"></div>
<script src="../include.js"></script>
<script>
test(() => {
println(internals.hitTest(50, 50).node === document.getElementById("box"));
});
</script>

View file

@ -0,0 +1,18 @@
<style>
* {
border: 1px solid black;
}
</style>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque eu ante est. Integer ipsum sem,
tincidunt quis felis quis, efficitur fringilla neque. Aliquam erat volutpat. Donec feugiat euismod
sapien. Donec vel egestas arcu. Suspendisse luctus rhoncus mi quis elementum. Maecenas vel nisi
maximus, viverra tellus quis, ultrices elit. Quisque congue velit quis lectus congue, ut consectetur
nulla pharetra. Nullam euismod leo eget magna auctor, et bibendum urna tincidunt. Morbi molestie
gravida ex ac consectetur. Duis pretium gravida augue eu sagittis.
<script src="../include.js"></script>
<script>
test(() => {
const hitTestingResult = internals.hitTest(50, 50);
println(hitTestingResult.indexInNode);
});
</script>