Bug 1388220 - Reuse to_simple_shadow() for box-shadow as well. r?xidorn
MozReview-Commit-ID: BSddhbYYTuJ
--- 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,