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

LibWeb: Don't assume opacity values are CSS numbers

...since they can also be percentages. Better to resolve them to a pair
of absolute values, and then compare those. :^)

Regressed in 921aee8c66.
This commit is contained in:
Andreas Kling 2023-07-31 08:26:30 +02:00
parent cb8664e2e1
commit 9937fcc5e1
3 changed files with 15 additions and 2 deletions

View file

@ -425,8 +425,8 @@ static Element::RequiredInvalidationAfterStyleChange compute_required_invalidati
// OPTIMIZATION: An element creates a stacking context when its opacity changes from 1 to less than 1
// and stops to create one when opacity returns to 1. So stacking context tree rebuild is
// not required for opacity changes within the range below 1.
auto old_value_opacity = old_value.has_value() ? old_value->style->as_number().number() : 1;
auto new_value_opacity = new_value.has_value() ? new_value->style->as_number().number() : 1;
auto old_value_opacity = old_style.opacity();
auto new_value_opacity = new_style.opacity();
if (old_value_opacity != new_value_opacity && (old_value_opacity == 1 || new_value_opacity == 1)) {
invalidation.rebuild_stacking_context_tree = true;
}