From 4d255392f7a08d16a90ef1caa084e46e980b61fe Mon Sep 17 00:00:00 2001 From: Dan Glastonbury Date: Thu, 7 Jun 2018 15:55:26 +1000 Subject: [PATCH] style: Change nscolor to StyleComplexColor in nsStyleGradientStop. Bug: 1467379 Reviewed-by: xidorn MozReview-Commit-ID: D9KQcv9uQ4S --- components/style/gecko/conversions.rs | 7 +++---- components/style/values/computed/image.rs | 9 ++++----- components/style/values/specified/image.rs | 20 +++++++------------- 3 files changed, 14 insertions(+), 22 deletions(-) diff --git a/components/style/gecko/conversions.rs b/components/style/gecko/conversions.rs index bbc2776daa9..14fee693a03 100644 --- a/components/style/gecko/conversions.rs +++ b/components/style/gecko/conversions.rs @@ -9,7 +9,7 @@ #![allow(unsafe_code)] use app_units::Au; -use gecko::values::{convert_rgba_to_nscolor, GeckoStyleCoordConvertible}; +use gecko::values::GeckoStyleCoordConvertible; use gecko_bindings::bindings; use gecko_bindings::structs::{self, nsCSSUnit, nsStyleCoord_CalcValue}; use gecko_bindings::structs::{nsresult, SheetType, nsStyleImage}; @@ -358,7 +358,7 @@ impl nsStyleImage { match *item { GradientItem::ColorStop(ref stop) => { - gecko_stop.mColor = convert_rgba_to_nscolor(&stop.color); + gecko_stop.mColor = stop.color.into(); gecko_stop.mIsInterpolationHint = false; coord.set(stop.position); }, @@ -433,7 +433,6 @@ impl nsStyleImage { } unsafe fn get_gradient(self: &nsStyleImage) -> Box { - use gecko::values::convert_nscolor_to_rgba; use self::structs::NS_STYLE_GRADIENT_SIZE_CLOSEST_CORNER as CLOSEST_CORNER; use self::structs::NS_STYLE_GRADIENT_SIZE_CLOSEST_SIDE as CLOSEST_SIDE; use self::structs::NS_STYLE_GRADIENT_SIZE_FARTHEST_CORNER as FARTHEST_CORNER; @@ -601,7 +600,7 @@ impl nsStyleImage { ) } else { GradientItem::ColorStop(ColorStop { - color: convert_nscolor_to_rgba(stop.mColor), + color: stop.mColor.into(), position: LengthOrPercentage::from_gecko_style_coord(&stop.mLocation), }) } diff --git a/components/style/values/computed/image.rs b/components/style/values/computed/image.rs index 6976182a6f4..91e55c39910 100644 --- a/components/style/values/computed/image.rs +++ b/components/style/values/computed/image.rs @@ -7,12 +7,11 @@ //! //! [image]: https://drafts.csswg.org/css-images/#image-values -use cssparser::RGBA; use std::f32::consts::PI; use std::fmt::{self, Write}; use style_traits::{CssWriter, ToCss}; use values::{Either, None_}; -use values::computed::{Angle, Context}; +use values::computed::{Angle, Color, Context}; use values::computed::{Length, LengthOrPercentage, NumberOrPercentage, ToComputedValue}; #[cfg(feature = "gecko")] use values::computed::Percentage; @@ -32,7 +31,7 @@ pub type Image = generic::Image; /// Computed values for a CSS gradient. /// pub type Gradient = - generic::Gradient; + generic::Gradient; /// A computed gradient kind. pub type GradientKind = @@ -58,10 +57,10 @@ pub enum LineDirection { pub type EndingShape = generic::EndingShape; /// A computed gradient item. -pub type GradientItem = generic::GradientItem; +pub type GradientItem = generic::GradientItem; /// A computed color stop. -pub type ColorStop = generic::ColorStop; +pub type ColorStop = generic::ColorStop; /// Computed values for `-moz-image-rect(...)`. pub type MozImageRect = generic::MozImageRect; diff --git a/components/style/values/specified/image.rs b/components/style/values/specified/image.rs index 2390292253b..64d24573f4a 100644 --- a/components/style/values/specified/image.rs +++ b/components/style/values/specified/image.rs @@ -26,7 +26,7 @@ use values::generics::image::{self as generic, Circle, CompatMode, Ellipse, Shap use values::generics::image::PaintWorklet; use values::generics::position::Position as GenericPosition; use values::specified::{Angle, Color, Length, LengthOrPercentage}; -use values::specified::{Number, NumberOrPercentage, Percentage, RGBAColor}; +use values::specified::{Number, NumberOrPercentage, Percentage}; use values::specified::position::{LegacyPosition, Position, PositionComponent, Side, X, Y}; use values::specified::url::SpecifiedImageUrl; @@ -41,19 +41,13 @@ pub type Image = generic::Image; /// #[cfg(not(feature = "gecko"))] pub type Gradient = - generic::Gradient; + generic::Gradient; /// Specified values for a CSS gradient. /// #[cfg(feature = "gecko")] -pub type Gradient = generic::Gradient< - LineDirection, - Length, - LengthOrPercentage, - GradientPosition, - RGBAColor, - Angle, ->; +pub type Gradient = + generic::Gradient; impl SpecifiedValueInfo for Gradient { const SUPPORTED_TYPES: u8 = CssType::GRADIENT; @@ -121,10 +115,10 @@ pub enum GradientPosition { pub type EndingShape = generic::EndingShape; /// A specified gradient item. -pub type GradientItem = generic::GradientItem; +pub type GradientItem = generic::GradientItem; /// A computed color stop. -pub type ColorStop = generic::ColorStop; +pub type ColorStop = generic::ColorStop; /// Specified values for `moz-image-rect` /// -moz-image-rect(, top, right, bottom, left); @@ -957,7 +951,7 @@ impl Parse for ColorStop { input: &mut Parser<'i, 't>, ) -> Result> { Ok(ColorStop { - color: RGBAColor::parse(context, input)?, + color: Color::parse(context, input)?, position: input.try(|i| LengthOrPercentage::parse(context, i)).ok(), }) }