style: Check custom properties for changes when computing damage.
draft
style: Check custom properties for changes when computing damage.
MozReview-Commit-ID: HjI68mLPIhm
--- a/servo/components/style/servo/restyle_damage.rs
+++ b/servo/components/style/servo/restyle_damage.rs
@@ -59,17 +59,22 @@ impl HeapSizeOf for ServoRestyleDamage {
impl ServoRestyleDamage {
/// Compute the `StyleDifference` (including the appropriate restyle damage)
/// for a given style change between `old` and `new`.
pub fn compute_style_difference(old: &ServoComputedValues,
new: &ServoComputedValues)
-> StyleDifference {
let damage = compute_damage(old, new);
- let change = if damage.is_empty() { StyleChange::Unchanged } else { StyleChange::Changed };
+ let change =
+ if damage.is_empty() && old.get_custom_properties() == new.get_custom_properties() {
+ StyleChange::Unchanged
+ } else {
+ StyleChange::Changed
+ };
StyleDifference::new(damage, change)
}
/// Returns a bitmask that represents a flow that needs to be rebuilt and
/// reflowed.
///
/// FIXME(bholley): Do we ever actually need this? Shouldn't
/// RECONSTRUCT_FLOW imply everything else?