From 7b4d3deae789d7f375376bfe39e09259cb1bc27a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Mon, 2 Jan 2017 04:53:00 +0100 Subject: [PATCH] style: Ditch GeckoStyleCoordHelpers, and implement directly on nsStyleCoord. --- components/style/gecko/conversions.rs | 2 +- components/style/gecko/values.rs | 18 +++++++++--------- components/style/properties/gecko.mako.rs | 1 - 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/components/style/gecko/conversions.rs b/components/style/gecko/conversions.rs index 73cbc31c634..8b9aaeec065 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, StyleCoordHelpers}; +use gecko::values::convert_rgba_to_nscolor; use gecko_bindings::bindings::{Gecko_CreateGradient, Gecko_SetGradientImageValue, Gecko_SetUrlImageValue}; use gecko_bindings::bindings::{RawServoStyleSheet, RawServoDeclarationBlock, RawServoStyleRule, RawServoImportRule}; use gecko_bindings::bindings::{ServoComputedValues, ServoCssRules}; diff --git a/components/style/gecko/values.rs b/components/style/gecko/values.rs index e21b2f8ae71..23a4920d060 100644 --- a/components/style/gecko/values.rs +++ b/components/style/gecko/values.rs @@ -14,22 +14,22 @@ use values::computed::{Angle, LengthOrPercentageOrNone, Number}; use values::computed::{LengthOrPercentage, LengthOrPercentageOrAuto}; use values::computed::basic_shape::ShapeRadius; -pub trait StyleCoordHelpers { - fn set(&mut self, val: T); +/// A trait that defines an interface to convert from and to `nsStyleCoord`s. +pub trait GeckoStyleCoordConvertible : Sized { + /// Convert this to a `nsStyleCoord`. + fn to_gecko_style_coord(&self, coord: &mut T); + /// Given a `nsStyleCoord`, try to get a value of this type.. + fn from_gecko_style_coord(coord: &T) -> Option; } -impl StyleCoordHelpers for nsStyleCoord { +impl nsStyleCoord { #[inline] - fn set(&mut self, val: T) { + /// Set this `nsStyleCoord` value to `val`. + pub fn set(&mut self, val: T) { val.to_gecko_style_coord(self); } } -pub trait GeckoStyleCoordConvertible : Sized { - fn to_gecko_style_coord(&self, coord: &mut T); - fn from_gecko_style_coord(coord: &T) -> Option; -} - impl GeckoStyleCoordConvertible for Either { fn to_gecko_style_coord(&self, coord: &mut T) { match *self { diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index 746ae31f2e5..ab0f6b4d46c 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -48,7 +48,6 @@ use gecko::values::convert_nscolor_to_rgba; use gecko::values::convert_rgba_to_nscolor; use gecko::values::GeckoStyleCoordConvertible; use gecko::values::round_border_to_device_pixels; -use gecko::values::StyleCoordHelpers; use logical_geometry::WritingMode; use properties::longhands; use std::fmt::{self, Debug};