1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 03:07:44 +00:00

LibWeb: Always check paintable boxes children during hit-testing

Children of a paintable box are not guaranteed to be contained within
its border box. Therefore, during hit-testing, we must always check
them.

Fixes https://github.com/SerenityOS/serenity/issues/23219
This commit is contained in:
Aliaksandr Kalenik 2024-03-05 13:46:03 +01:00 committed by Andreas Kling
parent c1dbde72e9
commit 16f33aafda
5 changed files with 49 additions and 3 deletions

View file

@ -0,0 +1,28 @@
<!DOCTYPE html><style>
body {
margin: 0;
}
* {
border: 1px solid black;
}
nav {
position: absolute;
height: 600px;
}
nav > div {
height: 100%;
}
</style><nav><div></div><button id="btn">Run</button></nav>
<script src="../include.js"></script>
<script>
asyncTest(done => {
btn.onclick = () => {
println("Clicked!");
done();
};
internals.click(20, 615);
});
</script>

View file

@ -0,0 +1,16 @@
<style>
body {
margin: 0;
}
</style>
<details id="details"><summary><span>here be bugs</span></summary><span>you can't see me</span></details>
<script src="../include.js"></script>
<script>
asyncTest(done => {
details.ontoggle = (event) => {
println(`toggle ${event.newState}`);
done();
};
internals.click(5, 5);
});
</script>