diff --git a/components/style/gecko/restyle_damage.rs b/components/style/gecko/restyle_damage.rs index f325e7916ed..f8a43e8b7ea 100644 --- a/components/style/gecko/restyle_damage.rs +++ b/components/style/gecko/restyle_damage.rs @@ -57,6 +57,16 @@ impl GeckoRestyleDamage { &mut reset_only, ) }; + if reset_only && + old_style.custom_properties() != new_style.custom_properties() { + // The Gecko_CalcStyleDifference call only checks the non-custom + // property structs, so we check the custom properties here. Since + // they generate no damage themselves, we can skip this check if we + // already know we had some inherited (regular) property + // differences. + any_style_changed = true; + reset_only = false; + } let change = if any_style_changed { StyleChange::Changed { reset_only } } else {