diff options
author | Ms2ger <Ms2ger@gmail.com> | 2016-06-23 15:09:56 +0200 |
---|---|---|
committer | Ms2ger <Ms2ger@gmail.com> | 2016-06-23 15:39:56 +0200 |
commit | f82cf3da1235c555b29d247f7c42983ab975b730 (patch) | |
tree | 9b54c7ffd3ea96c7a6960c789b35b9d37938d111 | |
parent | 14dc1199dfe9c3815c580a73452e7bf4ba26998d (diff) | |
download | servo-f82cf3da1235c555b29d247f7c42983ab975b730.tar.gz servo-f82cf3da1235c555b29d247f7c42983ab975b730.zip |
Merge AuExtensionMethods and LocalToCss.
-rw-r--r-- | components/layout/query.rs | 2 | ||||
-rw-r--r-- | components/style/properties/longhand/background.mako.rs | 2 | ||||
-rw-r--r-- | components/style/properties/longhand/box.mako.rs | 2 | ||||
-rw-r--r-- | components/style/properties/longhand/column.mako.rs | 4 | ||||
-rw-r--r-- | components/style/properties/longhand/effects.mako.rs | 8 | ||||
-rw-r--r-- | components/style/properties/longhand/inherited_table.mako.rs | 2 | ||||
-rw-r--r-- | components/style/properties/longhand/inherited_text.mako.rs | 8 | ||||
-rw-r--r-- | components/style/properties/longhand/outline.mako.rs | 2 | ||||
-rw-r--r-- | components/style/properties/properties.mako.rs | 2 | ||||
-rw-r--r-- | components/style/values.rs | 39 |
10 files changed, 31 insertions, 40 deletions
diff --git a/components/layout/query.rs b/components/layout/query.rs index 3ce7b31bfa2..f5735c97877 100644 --- a/components/layout/query.rs +++ b/components/layout/query.rs @@ -36,7 +36,7 @@ use style::properties::longhands::{display, position}; use style::properties::style_structs; use style::selector_impl::PseudoElement; use style::servo::Stylist; -use style::values::AuExtensionMethods; +use style::values::LocalToCss; use style_traits::cursor::Cursor; use wrapper::ThreadSafeLayoutNodeHelpers; diff --git a/components/style/properties/longhand/background.mako.rs b/components/style/properties/longhand/background.mako.rs index aaac791c0e8..b31a27d7ed8 100644 --- a/components/style/properties/longhand/background.mako.rs +++ b/components/style/properties/longhand/background.mako.rs @@ -74,7 +74,7 @@ ${helpers.predefined_type( <%helpers:longhand name="background-position"> use cssparser::ToCss; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; pub mod computed_value { use values::computed::LengthOrPercentage; diff --git a/components/style/properties/longhand/box.mako.rs b/components/style/properties/longhand/box.mako.rs index eddc2da5053..c1eba31c3a3 100644 --- a/components/style/properties/longhand/box.mako.rs +++ b/components/style/properties/longhand/box.mako.rs @@ -172,7 +172,7 @@ ${helpers.single_keyword("clear", "none left right both", gecko_ffi_name="mBreak pub mod computed_value { use app_units::Au; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; use values::{CSSFloat, computed}; #[allow(non_camel_case_types)] #[derive(PartialEq, Copy, Clone, Debug)] diff --git a/components/style/properties/longhand/column.mako.rs b/components/style/properties/longhand/column.mako.rs index cf24613496e..6e8975639af 100644 --- a/components/style/properties/longhand/column.mako.rs +++ b/components/style/properties/longhand/column.mako.rs @@ -9,7 +9,7 @@ <%helpers:longhand name="column-width" experimental="True"> use cssparser::ToCss; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; #[derive(Debug, Clone, Copy, PartialEq)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] @@ -140,7 +140,7 @@ <%helpers:longhand name="column-gap" experimental="True"> use cssparser::ToCss; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; #[derive(Debug, Clone, Copy, PartialEq)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] diff --git a/components/style/properties/longhand/effects.mako.rs b/components/style/properties/longhand/effects.mako.rs index 005d3576acd..8781a4b553b 100644 --- a/components/style/properties/longhand/effects.mako.rs +++ b/components/style/properties/longhand/effects.mako.rs @@ -14,7 +14,7 @@ ${helpers.predefined_type("opacity", <%helpers:longhand name="box-shadow"> use cssparser::{self, ToCss}; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; #[derive(Debug, Clone, PartialEq)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] @@ -226,7 +226,7 @@ ${helpers.predefined_type("opacity", <%helpers:longhand name="clip"> use cssparser::ToCss; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; // NB: `top` and `left` are 0 if `auto` per CSS 2.1 11.1.2. @@ -398,7 +398,7 @@ ${helpers.predefined_type("opacity", //pub use self::computed_value::T as SpecifiedValue; use cssparser::ToCss; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; use values::CSSFloat; use values::specified::{Angle, Length}; @@ -1182,7 +1182,7 @@ ${helpers.single_keyword("transform-style", "auto flat preserve-3d")} <%helpers:longhand name="transform-origin"> use app_units::Au; - use values::AuExtensionMethods; + use values::LocalToCss; use values::specified::{Length, LengthOrPercentage, Percentage}; use cssparser::ToCss; diff --git a/components/style/properties/longhand/inherited_table.mako.rs b/components/style/properties/longhand/inherited_table.mako.rs index 8837412cd9a..7a11caae0b4 100644 --- a/components/style/properties/longhand/inherited_table.mako.rs +++ b/components/style/properties/longhand/inherited_table.mako.rs @@ -12,7 +12,7 @@ ${helpers.single_keyword("caption-side", "top bottom", extra_gecko_values="right <%helpers:longhand name="border-spacing"> use app_units::Au; - use values::AuExtensionMethods; + use values::LocalToCss; use cssparser::ToCss; use std::fmt; diff --git a/components/style/properties/longhand/inherited_text.mako.rs b/components/style/properties/longhand/inherited_text.mako.rs index 358d260459a..b088e9bf63d 100644 --- a/components/style/properties/longhand/inherited_text.mako.rs +++ b/components/style/properties/longhand/inherited_text.mako.rs @@ -9,7 +9,7 @@ <%helpers:longhand name="line-height"> use cssparser::ToCss; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; use values::CSSFloat; #[derive(Debug, Clone, PartialEq, Copy)] @@ -182,7 +182,7 @@ <%helpers:longhand name="letter-spacing"> use cssparser::ToCss; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; #[derive(Debug, Clone, Copy, PartialEq)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] @@ -246,7 +246,7 @@ <%helpers:longhand name="word-spacing"> use cssparser::ToCss; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; #[derive(Debug, Clone, Copy, PartialEq)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] @@ -451,7 +451,7 @@ ${helpers.single_keyword("text-justify", <%helpers:longhand name="text-shadow"> use cssparser::{self, ToCss}; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; #[derive(Clone, PartialEq, Debug)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] diff --git a/components/style/properties/longhand/outline.mako.rs b/components/style/properties/longhand/outline.mako.rs index ee91fc06499..cfe24868d29 100644 --- a/components/style/properties/longhand/outline.mako.rs +++ b/components/style/properties/longhand/outline.mako.rs @@ -30,7 +30,7 @@ ${helpers.predefined_type("outline-color", "CSSColor", "::cssparser::Color::Curr use app_units::Au; use cssparser::ToCss; use std::fmt; - use values::AuExtensionMethods; + use values::LocalToCss; impl ToCss for SpecifiedValue { fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs index 6d57a635748..91b602375f5 100644 --- a/components/style/properties/properties.mako.rs +++ b/components/style/properties/properties.mako.rs @@ -33,7 +33,7 @@ use logical_geometry::{LogicalMargin, PhysicalSide, WritingMode}; use parser::{ParserContext, ParserContextExtraData, log_css_error}; use selectors::matching::DeclarationBlock; use stylesheets::Origin; -use values::AuExtensionMethods; +use values::LocalToCss; use values::computed::{self, TContext, ToComputedValue}; use values::specified::BorderStyle; diff --git a/components/style/values.rs b/components/style/values.rs index 6d62d69357e..88a025eb8dd 100644 --- a/components/style/values.rs +++ b/components/style/values.rs @@ -10,11 +10,9 @@ use std::fmt::{self, Write}; use url::Url; -// This is a re-implementation of the ToCss trait in cssparser. -// It's done here because the app_units crate shouldn't depend -// on cssparser, and it's not possible to implement a trait when -// both the trait and the type are defined in different crates. -pub trait AuExtensionMethods { +/// The real ToCss trait can't be implemented for types in crates that don't +/// depend on each other. +pub trait LocalToCss { /// Serialize `self` in CSS syntax, writing to `dest`. fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write; @@ -29,12 +27,21 @@ pub trait AuExtensionMethods { } } -impl AuExtensionMethods for Au { +impl LocalToCss for Au { fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { write!(dest, "{}px", self.to_f64_px()) } } +impl LocalToCss for Url { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + try!(dest.write_str("url(\"")); + try!(write!(CssStringWriter::new(dest), "{}", self)); + try!(dest.write_str("\")")); + Ok(()) + } +} + macro_rules! define_numbered_css_keyword_enum { ($name: ident: $( $css: expr => $variant: ident = $value: expr ),+,) => { define_numbered_css_keyword_enum!($name: $( $css => $variant = $value ),+); @@ -67,22 +74,6 @@ macro_rules! define_numbered_css_keyword_enum { } } -/// The real ToCss trait can’t be implemented for Url -/// since neither rust-url or rust-cssparser depend on the other. -pub trait LocalToCss { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write; -} - -impl LocalToCss for Url { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { - try!(dest.write_str("url(\"")); - try!(write!(CssStringWriter::new(dest), "{}", self)); - try!(dest.write_str("\")")); - Ok(()) - } -} - - pub type CSSFloat = f32; pub const FONT_MEDIUM_PX: i32 = 16; @@ -99,7 +90,7 @@ pub mod specified { use std::fmt; use std::ops::Mul; use style_traits::values::specified::AllowedNumericType; - use super::AuExtensionMethods; + use super::LocalToCss; use super::computed::{TContext, ToComputedValue}; use super::{CSSFloat, FONT_MEDIUM_PX}; use url::Url; @@ -1569,7 +1560,7 @@ pub mod computed { use properties::ComputedValues; use properties::style_struct_traits::Font; use std::fmt; - use super::AuExtensionMethods; + use super::LocalToCss; use super::specified::AngleOrCorner; use super::{CSSFloat, specified}; use url::Url; |