Replace NoViewportPercentage with a macro

This commit is contained in:
Nazım Can Altınova 2017-02-08 12:29:41 +03:00 committed by Simon Sapin
parent 9204f2aaad
commit abc40f61c0
19 changed files with 104 additions and 103 deletions

View file

@ -333,9 +333,9 @@
<%def name="single_keyword(name, values, vector=False, **kwargs)">
<%call expr="single_keyword_computed(name, values, vector, **kwargs)">
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
</%call>
</%def>

View file

@ -16,8 +16,8 @@ ${helpers.predefined_type("background-color", "CSSColor",
has_uncacheable_values="${product == 'gecko'}">
use std::fmt;
use style_traits::ToCss;
use values::HasViewportPercentage;
use values::specified::Image;
use values::NoViewportPercentage;
pub mod computed_value {
use values::computed;
@ -35,7 +35,7 @@ ${helpers.predefined_type("background-color", "CSSColor",
}
}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]

View file

@ -87,10 +87,10 @@ ${helpers.single_keyword("-moz-float-edge", "content-box margin-box",
spec="https://drafts.csswg.org/css-backgrounds/#border-image-source">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::specified::Image;
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
use values::computed;
@ -279,9 +279,9 @@ ${helpers.single_keyword("-moz-float-edge", "content-box margin-box",
spec="https://drafts.csswg.org/css-backgrounds/#border-image-repeat">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
pub use super::RepeatKeyword;
@ -557,10 +557,10 @@ ${helpers.single_keyword("-moz-float-edge", "content-box margin-box",
spec="https://drafts.csswg.org/css-backgrounds/#border-image-slice">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::specified::{Number, Percentage};
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
use values::computed::Number;

View file

@ -31,8 +31,8 @@
%>
use values::computed::ComputedValueAsSpecified;
use style_traits::ToCss;
use values::NoViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
use values::HasViewportPercentage;
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
pub use super::SpecifiedValue as T;
@ -113,8 +113,8 @@ ${helpers.single_keyword("-moz-top-layer", "none top",
}
}
use values::NoViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
use values::HasViewportPercentage;
no_viewport_percentage!(SpecifiedValue);
impl ToComputedValue for SpecifiedValue {
type ComputedValue = computed_value::T;
@ -152,8 +152,8 @@ ${helpers.single_keyword("-moz-top-layer", "none top",
gecko_inexhaustive="True"
gecko_ffi_name="mFloat"
spec="https://drafts.csswg.org/css-box/#propdef-float">
use values::NoViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
use values::HasViewportPercentage;
no_viewport_percentage!(SpecifiedValue);
impl ToComputedValue for SpecifiedValue {
type ComputedValue = computed_value::T;
@ -194,8 +194,8 @@ ${helpers.single_keyword("-moz-top-layer", "none top",
gecko_enum_prefix="StyleClear"
gecko_ffi_name="mBreakType"
spec="https://www.w3.org/TR/CSS2/visuren.html#flow-control">
use values::NoViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
use values::HasViewportPercentage;
no_viewport_percentage!(SpecifiedValue);
impl ToComputedValue for SpecifiedValue {
type ComputedValue = computed_value::T;
@ -396,9 +396,9 @@ ${helpers.single_keyword("overflow-x", "visible hidden scroll auto",
use std::fmt;
use style_traits::ToCss;
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
impl ToCss for SpecifiedValue {
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {
@ -442,8 +442,8 @@ ${helpers.single_keyword("overflow-x", "visible hidden scroll auto",
use values::specified::Time;
pub use values::specified::Time as SpecifiedValue;
use values::NoViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
use values::HasViewportPercentage;
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
pub use values::computed::Time as T;
@ -703,8 +703,8 @@ ${helpers.single_keyword("overflow-x", "visible hidden scroll auto",
}
}
use values::NoViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
use values::HasViewportPercentage;
no_viewport_percentage!(SpecifiedValue);
#[inline]
pub fn get_initial_value() -> computed_value::T {
@ -745,8 +745,8 @@ ${helpers.single_keyword("overflow-x", "visible hidden scroll auto",
SpecifiedValue::parse(input)
}
use values::NoViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
use values::HasViewportPercentage;
no_viewport_percentage!(SpecifiedValue);
impl ComputedValueAsSpecified for SpecifiedValue { }
</%helpers:vector_longhand>
@ -773,7 +773,7 @@ ${helpers.single_keyword("overflow-x", "visible hidden scroll auto",
use std::ops::Deref;
use style_traits::ToCss;
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
pub mod computed_value {
pub use super::SpecifiedValue as T;
@ -805,7 +805,7 @@ ${helpers.single_keyword("overflow-x", "visible hidden scroll auto",
})
}
}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub fn parse(context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue,()> {
SpecifiedValue::parse(context, input)
@ -847,7 +847,7 @@ ${helpers.single_keyword("overflow-x", "visible hidden scroll auto",
use std::fmt;
use style_traits::ToCss;
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
pub mod computed_value {
pub use super::SpecifiedValue as T;
@ -885,7 +885,7 @@ ${helpers.single_keyword("overflow-x", "visible hidden scroll auto",
}
}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[inline]
pub fn get_initial_value() -> computed_value::T {

View file

@ -22,9 +22,9 @@ ${helpers.predefined_type("column-width",
spec="https://drafts.csswg.org/css-multicol/#propdef-column-count">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[derive(Debug, Clone, Copy, PartialEq)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]

View file

@ -10,7 +10,7 @@
use cssparser::Token;
use std::ascii::AsciiExt;
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use super::list_style_type;
@ -18,7 +18,7 @@
pub use self::computed_value::ContentItem;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
use super::super::list_style_type;
@ -179,7 +179,7 @@
use std::fmt;
use style_traits::ToCss;
use super::content;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
use cssparser::{Token, serialize_identifier};
@ -199,7 +199,7 @@
}
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
impl ToCss for SpecifiedValue {
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {

View file

@ -11,12 +11,12 @@
<%helpers:longhand name="font-family" animatable="False" need_index="True"
spec="https://drafts.csswg.org/css-fonts/#propdef-font-family">
use self::computed_value::{FontFamily, FamilyName};
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
pub use self::computed_value::T as SpecifiedValue;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
use cssparser::CssStringWriter;
@ -223,9 +223,9 @@ ${helpers.single_keyword("font-variant-caps",
spec="https://drafts.csswg.org/css-fonts/#propdef-font-weight">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[derive(Debug, Clone, PartialEq, Eq, Copy)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
@ -458,12 +458,12 @@ ${helpers.single_keyword("font-variant-caps",
<%helpers:longhand products="gecko" name="font-size-adjust" animatable="True"
spec="https://drafts.csswg.org/css-fonts/#propdef-font-size-adjust">
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
use values::specified::Number;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[derive(Copy, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
@ -520,11 +520,11 @@ ${helpers.single_keyword("font-variant-caps",
spec="https://drafts.csswg.org/css-fonts/#propdef-font-synthesis">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
pub use super::SpecifiedValue as T;
@ -610,12 +610,12 @@ ${helpers.single_keyword("font-variant-position",
spec="https://drafts.csswg.org/css-fonts/#propdef-font-feature-settings">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
pub use self::computed_value::T as SpecifiedValue;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
use cssparser::Parser;
@ -719,12 +719,12 @@ ${helpers.single_keyword("font-variant-position",
// https://www.w3.org/TR/css-fonts-3/#propdef-font-language-override
<%helpers:longhand name="font-language-override" products="none" animatable="False" extra_prefixes="moz"
spec="https://drafts.csswg.org/css-fonts-3/#propdef-font-language-override">
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
pub use self::computed_value::T as SpecifiedValue;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
use std::fmt;

View file

@ -35,8 +35,8 @@ ${helpers.single_keyword("direction", "ltr rtl", need_clone=True, animatable=Fal
animatable="False"
spec="https://drafts.csswg.org/css-writing-modes/#propdef-text-orientation"
>
use values::NoViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
use values::HasViewportPercentage;
no_viewport_percentage!(SpecifiedValue);
impl ToComputedValue for SpecifiedValue {
type ComputedValue = computed_value::T;
@ -91,8 +91,8 @@ ${helpers.single_keyword("image-rendering",
use style_traits::ToCss;
use values::specified::Angle;
use values::NoViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
use values::HasViewportPercentage;
no_viewport_percentage!(SpecifiedValue);
use std::f32::consts::PI;
use values::CSSFloat;
@ -225,9 +225,9 @@ ${helpers.single_keyword("image-rendering",
use std::fmt;
use style_traits::ToCss;
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf, Deserialize, Serialize))]

View file

@ -204,9 +204,9 @@ ${helpers.single_keyword("text-align-last",
<%helpers:longhand name="text-align" animatable="False" spec="https://drafts.csswg.org/css-text/#propdef-text-align">
pub use self::computed_value::T as SpecifiedValue;
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
use style_traits::ToCss;
macro_rules! define_text_align {
@ -434,11 +434,11 @@ ${helpers.single_keyword("text-align-last",
use cssparser::RGBA;
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[derive(Clone, PartialEq, Copy, Debug)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
@ -518,9 +518,9 @@ ${helpers.single_keyword("text-align-last",
animatable="False"
spec="https://drafts.csswg.org/css-text/#propdef-white-space">
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
impl SpecifiedValue {
pub fn allow_wrap(&self) -> bool {
@ -771,9 +771,9 @@ ${helpers.single_keyword("text-align-last",
use std::fmt;
use style_traits::ToCss;
use unicode_segmentation::UnicodeSegmentation;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
#[derive(Debug, Clone, PartialEq)]
@ -977,7 +977,7 @@ ${helpers.single_keyword("text-align-last",
spec="https://drafts.csswg.org/css-text-decor/#propdef-text-emphasis-position">
use std::fmt;
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use style_traits::ToCss;
define_css_keyword_enum!(HorizontalWritingModeValue:
@ -996,7 +996,7 @@ ${helpers.single_keyword("text-align-last",
}
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub fn get_initial_value() -> computed_value::T {
SpecifiedValue(HorizontalWritingModeValue::Over, VerticalWritingModeValue::Right)

View file

@ -39,7 +39,7 @@ ${helpers.predefined_type("list-style-image", "UrlOrNone", "Either::Second(None_
use std::fmt;
use style_traits::ToCss;
use values::computed::ComputedValueAsSpecified;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
pub use self::computed_value::T as SpecifiedValue;
@ -50,7 +50,7 @@ ${helpers.predefined_type("list-style-image", "UrlOrNone", "Either::Second(None_
}
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
impl ToCss for SpecifiedValue {
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {

View file

@ -20,7 +20,6 @@ ${helpers.predefined_type("outline-color", "CSSColor", "::cssparser::Color::Curr
use std::fmt;
use style_traits::ToCss;
use values::specified::BorderStyle;
use values::NoViewportPercentage;
use values::computed::ComputedValueAsSpecified;
pub type SpecifiedValue = Either<Auto, BorderStyle>;

View file

@ -8,12 +8,12 @@
<%helpers:longhand name="cursor" animatable="False" spec="https://drafts.csswg.org/css-ui/#cursor">
pub use self::computed_value::T as SpecifiedValue;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
use values::specified::url::SpecifiedUrl;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub mod computed_value {
use std::fmt;

View file

@ -24,11 +24,11 @@
% endfor
<%helpers:longhand name="z-index" spec="https://www.w3.org/TR/CSS2/visuren.html#z-index" animatable="True">
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
pub type SpecifiedValue = computed_value::T;
pub mod computed_value {
use std::fmt;

View file

@ -62,7 +62,7 @@ ${helpers.single_keyword("mask-type", "luminance alpha",
spec="https://drafts.fxtf.org/css-masking/#propdef-clip-path">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::specified::basic_shape::{ShapeSource, GeometryBox};
pub mod computed_value {
@ -83,7 +83,7 @@ ${helpers.single_keyword("mask-type", "luminance alpha",
ShapeSource::parse(context, input)
}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
</%helpers:longhand>
${helpers.single_keyword("mask-mode",
@ -196,7 +196,7 @@ ${helpers.single_keyword("mask-composite",
use std::sync::Arc;
use values::specified::Image;
use values::specified::url::SpecifiedUrl;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
pub mod computed_value {
use std::fmt;
@ -222,7 +222,7 @@ ${helpers.single_keyword("mask-composite",
}
}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[derive(Debug, Clone, PartialEq)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]

View file

@ -16,12 +16,12 @@
spec="https://drafts.csswg.org/css-ui/#propdef-text-overflow">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
use cssparser;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[derive(PartialEq, Eq, Clone, Debug)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
@ -108,11 +108,11 @@ ${helpers.single_keyword("unicode-bidi",
spec="https://drafts.csswg.org/css-text-decor/#propdef-text-decoration-line">
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
impl ComputedValueAsSpecified for SpecifiedValue {}
impl NoViewportPercentage for SpecifiedValue {}
no_viewport_percentage!(SpecifiedValue);
#[derive(PartialEq, Eq, Copy, Clone, Debug)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]

View file

@ -47,6 +47,19 @@ macro_rules! define_numbered_css_keyword_enum {
}
}
/// A macro used to implement HasViewportPercentage trait
/// for a given type that may never contain viewport units.
macro_rules! no_viewport_percentage {
($name: ident) => {
impl HasViewportPercentage for $name {
#[inline]
fn has_viewport_percentage(&self) -> bool {
false
}
}
};
}
pub mod computed;
pub mod specified;
@ -62,18 +75,7 @@ pub trait HasViewportPercentage {
fn has_viewport_percentage(&self) -> bool;
}
/// A trait used as a marker to represent that a given type may never contain
/// viewport units.
pub trait NoViewportPercentage {}
impl<T> HasViewportPercentage for T
where T: NoViewportPercentage,
{
#[inline]
fn has_viewport_percentage(&self) -> bool {
false
}
}
use self::computed::ComputedValueAsSpecified;
@ -103,7 +105,7 @@ macro_rules! define_keyword_type {
}
impl ComputedValueAsSpecified for $name {}
impl NoViewportPercentage for $name {}
no_viewport_percentage!($name);
};
}

View file

@ -8,7 +8,7 @@ use cssparser::Parser;
use parser::{Parse, ParserContext};
use std::fmt;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
#[derive(PartialEq, Clone, Debug)]
@ -96,4 +96,4 @@ impl Parse for GridLine {
}
impl ComputedValueAsSpecified for GridLine {}
impl NoViewportPercentage for GridLine {}
no_viewport_percentage!(GridLine);

View file

@ -16,7 +16,7 @@ use std::f32::consts::PI;
use std::fmt;
use std::ops::Mul;
use style_traits::ToCss;
use super::{CSSFloat, HasViewportPercentage, NoViewportPercentage, Either, None_};
use super::{CSSFloat, HasViewportPercentage, Either, None_};
use super::computed::{ComputedValueAsSpecified, Context, ToComputedValue};
use super::computed::Shadow as ComputedShadow;
@ -35,7 +35,7 @@ pub mod length;
pub mod position;
pub mod url;
impl NoViewportPercentage for i32 {} // For PropertyDeclaration::Order
no_viewport_percentage!(i32); // For PropertyDeclaration::Order
#[derive(Clone, PartialEq, Debug)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
@ -60,7 +60,7 @@ impl Parse for CSSColor {
}
}
impl NoViewportPercentage for CSSColor {}
no_viewport_percentage!(CSSColor);
impl ToCss for CSSColor {
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {
@ -79,7 +79,7 @@ pub struct CSSRGBA {
pub authored: Option<String>,
}
impl NoViewportPercentage for CSSRGBA {}
no_viewport_percentage!(CSSRGBA);
impl ToCss for CSSRGBA {
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {
@ -193,7 +193,7 @@ pub fn parse_number(input: &mut Parser) -> Result<f32, ()> {
#[allow(missing_docs)]
pub struct BorderRadiusSize(pub Size2D<LengthOrPercentage>);
impl NoViewportPercentage for BorderRadiusSize {}
no_viewport_percentage!(BorderRadiusSize);
impl BorderRadiusSize {
#[allow(missing_docs)]
@ -402,7 +402,7 @@ define_numbered_css_keyword_enum! { BorderStyle:
"outset" => outset = 2,
}
impl NoViewportPercentage for BorderStyle {}
no_viewport_percentage!(BorderStyle);
impl BorderStyle {
/// Whether this border style is either none or hidden.
@ -462,7 +462,7 @@ impl ToCss for Time {
#[allow(missing_docs)]
pub struct Number(pub CSSFloat);
impl NoViewportPercentage for Number {}
no_viewport_percentage!(Number);
impl Parse for Number {
fn parse(_context: &ParserContext, input: &mut Parser) -> Result<Self, ()> {
@ -512,7 +512,7 @@ impl ToCss for Number {
#[allow(missing_docs)]
pub struct Opacity(pub CSSFloat);
impl NoViewportPercentage for Opacity {}
no_viewport_percentage!(Opacity);
impl Parse for Opacity {
fn parse(_context: &ParserContext, input: &mut Parser) -> Result<Self, ()> {

View file

@ -15,7 +15,7 @@ use std::borrow::Cow;
use std::fmt::{self, Write};
use std::sync::Arc;
use style_traits::ToCss;
use values::NoViewportPercentage;
use values::HasViewportPercentage;
use values::computed::ComputedValueAsSpecified;
/// A set of data needed in Gecko to represent a URL.
@ -202,4 +202,4 @@ impl ToCss for SpecifiedUrl {
// TODO(emilio): Maybe consider ComputedUrl to save a word in style structs?
impl ComputedValueAsSpecified for SpecifiedUrl {}
impl NoViewportPercentage for SpecifiedUrl {}
no_viewport_percentage!(SpecifiedUrl);