Bug 1388220 - Reuse to_simple_shadow() for box-shadow as well. r?xidorn draft
authorHiroyuki Ikezoe <hikezoe@mozilla.com>
Tue, 15 Aug 2017 14:20:30 +0900
changeset 646349 7adaa422116643197094d3f0f306e14173736529
parent 646228 99a4e0eb94805750ecac91e34ca528e053a7206d
child 646350 fb9817db517f999489a188253daf1ad518ee39cb
push id74079
push userhikezoe@mozilla.com
push dateTue, 15 Aug 2017 05:29:34 +0000
reviewersxidorn
bugs1388220
milestone57.0a1
Bug 1388220 - Reuse to_simple_shadow() for box-shadow as well. r?xidorn MozReview-Commit-ID: BSddhbYYTuJ
servo/components/style/gecko_bindings/sugar/ns_css_shadow_item.rs
servo/components/style/properties/gecko.mako.rs
--- a/servo/components/style/gecko_bindings/sugar/ns_css_shadow_item.rs
+++ b/servo/components/style/gecko_bindings/sugar/ns_css_shadow_item.rs
@@ -18,22 +18,17 @@ impl nsCSSShadowItem {
         self.mSpread = shadow.spread.0;
         self.mInset = shadow.inset;
     }
 
     /// Returns this item as a box shadow.
     #[inline]
     pub fn to_box_shadow(&self) -> BoxShadow {
         BoxShadow {
-            base: SimpleShadow {
-                color: Color::rgba(convert_nscolor_to_rgba(self.mColor)),
-                horizontal: Au(self.mXOffset),
-                vertical: Au(self.mYOffset),
-                blur: Au(self.mRadius).into(),
-            },
+            base: self.to_simple_shadow(),
             spread: Au(self.mSpread),
             inset: self.mInset,
         }
     }
 
     /// Sets this item from the given simple shadow.
     #[inline]
     pub fn set_from_simple_shadow(&mut self, shadow: SimpleShadow) {
@@ -51,18 +46,16 @@ impl nsCSSShadowItem {
             self.mHasColor = true;
             self.mColor = convert_rgba_to_nscolor(&shadow.color.color);
         }
     }
 
     /// Returns this item as a simple shadow.
     #[inline]
     pub fn to_simple_shadow(&self) -> SimpleShadow {
-        debug_assert_eq!(self.mSpread, 0);
-        debug_assert_eq!(self.mInset, false);
         SimpleShadow {
             color: Color::rgba(convert_nscolor_to_rgba(self.mColor)),
             horizontal: Au(self.mXOffset),
             vertical: Au(self.mYOffset),
             blur: Au(self.mRadius).into(),
         }
     }
 }
--- a/servo/components/style/properties/gecko.mako.rs
+++ b/servo/components/style/properties/gecko.mako.rs
@@ -4636,17 +4636,21 @@ fn static_assert() {
         self.gecko.mTextShadow.copy_from(&other.gecko.mTextShadow);
     }
 
     pub fn reset_text_shadow(&mut self, other: &Self) {
         self.copy_text_shadow_from(other)
     }
 
     pub fn clone_text_shadow(&self) -> longhands::text_shadow::computed_value::T {
-        let buf = self.gecko.mTextShadow.iter().map(|v| v.to_simple_shadow()).collect();
+        let buf = self.gecko.mTextShadow.iter().map(|v| {
+            debug_assert_eq!(v.mSpread, 0);
+            debug_assert_eq!(v.mInset, false);
+            v.to_simple_shadow()
+        }).collect();
         longhands::text_shadow::computed_value::T(buf)
     }
 
     pub fn set_line_height(&mut self, v: longhands::line_height::computed_value::T) {
         use values::generics::text::LineHeight;
         // FIXME: Align binary representations and ditch |match| for cast + static_asserts
         let en = match v {
             LineHeight::Normal => CoordDataValue::Normal,