aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMs2ger <Ms2ger@gmail.com>2016-06-23 15:09:56 +0200
committerMs2ger <Ms2ger@gmail.com>2016-06-23 15:39:56 +0200
commitf82cf3da1235c555b29d247f7c42983ab975b730 (patch)
tree9b54c7ffd3ea96c7a6960c789b35b9d37938d111
parent14dc1199dfe9c3815c580a73452e7bf4ba26998d (diff)
downloadservo-f82cf3da1235c555b29d247f7c42983ab975b730.tar.gz
servo-f82cf3da1235c555b29d247f7c42983ab975b730.zip
Merge AuExtensionMethods and LocalToCss.
-rw-r--r--components/layout/query.rs2
-rw-r--r--components/style/properties/longhand/background.mako.rs2
-rw-r--r--components/style/properties/longhand/box.mako.rs2
-rw-r--r--components/style/properties/longhand/column.mako.rs4
-rw-r--r--components/style/properties/longhand/effects.mako.rs8
-rw-r--r--components/style/properties/longhand/inherited_table.mako.rs2
-rw-r--r--components/style/properties/longhand/inherited_text.mako.rs8
-rw-r--r--components/style/properties/longhand/outline.mako.rs2
-rw-r--r--components/style/properties/properties.mako.rs2
-rw-r--r--components/style/values.rs39
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;