Bug 1324618 part 3. Assert that compute_style_difference is only called with eager pseudos. r?emilio draft
authorBoris Zbarsky <bzbarsky@mit.edu>
Mon, 26 Jun 2017 15:55:58 -0700
changeset 600465 75352e319572489ee0f91e9a10b651b50199e7a5
parent 600464 fb5c14c11b4619c4f50cd5c8ca469bc387f895e3
child 600466 6e9d7f2075de3a0a249c70d3cb8e3e04dab6f82f
child 600481 782728d76e8537608d98484574ae59eb10f608b9
push id65775
push userbzbarsky@mozilla.com
push dateTue, 27 Jun 2017 01:04:33 +0000
reviewersemilio
bugs1324618
milestone56.0a1
Bug 1324618 part 3. Assert that compute_style_difference is only called with eager pseudos. r?emilio MozReview-Commit-ID: H1Mz4emQBmu
servo/components/style/matching.rs
--- a/servo/components/style/matching.rs
+++ b/servo/components/style/matching.rs
@@ -1468,16 +1468,17 @@ pub trait MatchMethods : TElement {
     /// pseudo-element, compute the restyle damage used to determine which
     /// kind of layout or painting operations we'll need.
     fn compute_style_difference(&self,
                                 old_values: &ComputedValues,
                                 new_values: &Arc<ComputedValues>,
                                 pseudo: Option<&PseudoElement>)
                                 -> StyleDifference
     {
+        debug_assert!(pseudo.map_or(true, |p| p.is_eager()));
         if let Some(source) = self.existing_style_for_restyle_damage(old_values, pseudo) {
             return RestyleDamage::compute_style_difference(source, new_values)
         }
 
         let new_style_is_display_none =
             new_values.get_box().clone_display() == display::T::none;
         let old_style_is_display_none =
             old_values.get_box().clone_display() == display::T::none;