LibWeb: Ensure registered transitions are reflective of properties

Previously we would only update these if:
a) We had a cascaded value for `transition-property`
b) The source of that cascaded value had changed since we last
   registered transitions

This meant that there were a lot of changes we didn't apply:
 - Changes exclusively to properties other than `transition-property`
   (e.g. `transition-duration`, `transition-behavior`, etc)
 - Removing the `transition-property` property
 - Updating the `transition-property` property in a way that didn't
   change it's source (e.g. setting it within inline-style)

Unfortunately this does mean that we now register transitions for all
properties on most elements since "all" is the initial value for
"transition-property" which isn't great for performance, but that can be
looked at in later commits.
This commit is contained in:
Callum Law 2025-11-18 22:15:15 +13:00 committed by Jelle Raaijmakers
parent 46abc0e8e2
commit b2b889e1da
Notes: github-actions[bot] 2025-11-23 08:44:36 +00:00
13 changed files with 98 additions and 45 deletions

View file

@ -55,7 +55,6 @@ ComputedProperties::~ComputedProperties() = default;
void ComputedProperties::visit_edges(Visitor& visitor)
{
Base::visit_edges(visitor);
visitor.visit(m_transition_property_source);
}
bool ComputedProperties::is_property_important(PropertyID property_id) const