From c348d5afb394696beb177c5ee3460d4ea3152893 Mon Sep 17 00:00:00 2001 From: Tamir Duberstein Date: Fri, 18 Aug 2017 20:21:17 -0700 Subject: [PATCH] style: pass a borrow instead of an Arc https://bugzilla.mozilla.org/show_bug.cgi?id=1380133 has landed, permitting us to pass a plain borrow into Gecko_CalcStyleDifference; propagate this through style. Closes #17795. --- components/style/gecko/restyle_damage.rs | 3 +-- components/style/matching.rs | 12 ++++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/components/style/gecko/restyle_damage.rs b/components/style/gecko/restyle_damage.rs index b9b6be3bdca4..6ba02600e12b 100644 --- a/components/style/gecko/restyle_damage.rs +++ b/components/style/gecko/restyle_damage.rs @@ -9,7 +9,6 @@ use gecko_bindings::structs; use gecko_bindings::structs::{nsChangeHint, nsStyleContext, nsStyleStructID}; use matching::{StyleChange, StyleDifference}; use properties::ComputedValues; -use servo_arc::Arc; use std::ops::{BitAnd, BitOr, BitOrAssign, Not}; /// The representation of Gecko's restyle damage is just a wrapper over @@ -49,7 +48,7 @@ impl GeckoRestyleDamage { pub fn compute_style_difference( source: &nsStyleContext, old_style: &ComputedValues, - new_style: &Arc, + new_style: &ComputedValues, ) -> StyleDifference { let mut any_style_changed: bool = false; let hint = unsafe { diff --git a/components/style/matching.rs b/components/style/matching.rs index 3701bfe41054..25f2fef7c5d8 100644 --- a/components/style/matching.rs +++ b/components/style/matching.rs @@ -341,7 +341,7 @@ trait PrivateMatchMethods: TElement { shared_context: &SharedStyleContext, restyle: &mut RestyleData, old_values: &ComputedValues, - new_values: &Arc, + new_values: &ComputedValues, pseudo: Option<&PseudoElement>) -> ChildCascadeRequirement { // Don't accumulate damage if we're in a forgetful traversal. @@ -360,7 +360,7 @@ trait PrivateMatchMethods: TElement { restyle.reconstructed_self_or_ancestor(); let difference = - self.compute_style_difference(&old_values, &new_values, pseudo); + self.compute_style_difference(old_values, new_values, pseudo); if !skip_applying_damage { restyle.damage |= difference.damage; @@ -389,10 +389,10 @@ trait PrivateMatchMethods: TElement { _shared_context: &SharedStyleContext, restyle: &mut RestyleData, old_values: &ComputedValues, - new_values: &Arc, + new_values: &ComputedValues, pseudo: Option<&PseudoElement>) -> ChildCascadeRequirement { - let difference = self.compute_style_difference(&old_values, &new_values, pseudo); + let difference = self.compute_style_difference(old_values, new_values, pseudo); restyle.damage |= difference.damage; match difference.change { StyleChange::Changed => ChildCascadeRequirement::MustCascadeChildren, @@ -657,7 +657,7 @@ pub trait MatchMethods : TElement { shared_context: &SharedStyleContext, restyle: &mut RestyleData, old_values: Option<&ComputedValues>, - new_values: &Arc, + new_values: &ComputedValues, pseudo: Option<&PseudoElement>) -> ChildCascadeRequirement { let old_values = match old_values { @@ -817,7 +817,7 @@ pub trait MatchMethods : TElement { fn compute_style_difference( &self, old_values: &ComputedValues, - new_values: &Arc, + new_values: &ComputedValues, pseudo: Option<&PseudoElement> ) -> StyleDifference { debug_assert!(pseudo.map_or(true, |p| p.is_eager()));