LibWeb: Resolve CSS transform lengths against padding rect

Fixes https://github.com/SerenityOS/serenity/issues/22797
This commit is contained in:
Aliaksandr Kalenik 2024-01-16 20:07:10 +01:00 committed by Andreas Kling
parent ef0c390b79
commit f529188fb8
3 changed files with 24 additions and 1 deletions

View file

@ -0,0 +1,11 @@
<!DOCTYPE html>
<style>
* {
outline: 1px solid black;
}
div {
height: 100px;
background: pink;
transform: translate(0, -50%);
}
</style><body><div id="box">

View file

@ -0,0 +1,12 @@
<!DOCTYPE html>
<link rel="match" href="reference/transform-2d-translate-ref.html" />
<style>
* {
outline: 1px solid black;
}
div {
padding: 50px;
background: pink;
transform: translate(0, -50%);
}
</style><body><div id="box">

View file

@ -45,7 +45,7 @@ ErrorOr<Gfx::FloatMatrix4x4> Transformation::to_matrix(Optional<Painting::Painta
CSSPixels width = 1;
CSSPixels height = 1;
if (paintable_box.has_value()) {
auto reference_box = paintable_box->absolute_rect();
auto reference_box = paintable_box->absolute_padding_box_rect();
width = reference_box.width();
height = reference_box.height();
}