From c05e45fdd1649163f8e558a64c84629f86866bbc Mon Sep 17 00:00:00 2001 From: Cameron McCormack Date: Thu, 12 Oct 2017 09:13:38 +0800 Subject: [PATCH] style: Skip custom properties comparison if other inherited properties changed. --- components/style/gecko/restyle_damage.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) 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 {