Change style_traits to a single "servo" Cargo feature

... instead of fine-grained heap_size and serde-serialization ones.
This commit is contained in:
Simon Sapin 2016-06-22 13:36:14 +02:00
parent 00b6210519
commit 3822bb269c
7 changed files with 22 additions and 46 deletions

View file

@ -15,7 +15,7 @@ msg = {path = "../msg"}
net_traits = {path = "../net_traits"} net_traits = {path = "../net_traits"}
plugins = {path = "../plugins"} plugins = {path = "../plugins"}
profile_traits = {path = "../profile_traits"} profile_traits = {path = "../profile_traits"}
style_traits = {path = "../style_traits", features = ["serde-serialization"]} style_traits = {path = "../style_traits", features = ["servo"]}
util = {path = "../util"} util = {path = "../util"}
devtools_traits = {path = "../devtools_traits"} devtools_traits = {path = "../devtools_traits"}
ipc-channel = {git = "https://github.com/servo/ipc-channel"} ipc-channel = {git = "https://github.com/servo/ipc-channel"}

View file

@ -12,7 +12,7 @@ path = "lib.rs"
[features] [features]
gecko = ["gecko_bindings"] gecko = ["gecko_bindings"]
servo = ["serde", "serde_macros", "heapsize", "heapsize_plugin", "style_traits/heap_size"] servo = ["serde", "serde_macros", "heapsize", "heapsize_plugin", "style_traits/servo"]
[dependencies] [dependencies]
app_units = "0.2.3" app_units = "0.2.3"

View file

@ -9,8 +9,8 @@ name = "style_traits"
path = "lib.rs" path = "lib.rs"
[features] [features]
heap_size = ["heapsize", "heapsize_plugin", "cssparser/heap_size", "euclid/plugins"] servo = ["heapsize", "heapsize_plugin", "serde", "serde_macros", "euclid/plugins",
serde-serialization = ["serde", "serde_macros", "cssparser/serde-serialization", "euclid/plugins"] "cssparser/heap_size", "cssparser/serde-serialization"]
[dependencies] [dependencies]
util = {path = "../util"} util = {path = "../util"}

View file

@ -9,8 +9,7 @@ use cssparser::ToCss;
macro_rules! define_cursor { macro_rules! define_cursor {
($( $css: expr => $variant: ident = $value: expr, )+) => { ($( $css: expr => $variant: ident = $value: expr, )+) => {
#[derive(Clone, Copy, Debug, Eq, PartialEq)] #[derive(Clone, Copy, Debug, Eq, PartialEq)]
#[cfg_attr(feature = "serde-serialization", derive(Deserialize, Serialize))] #[cfg_attr(feature = "servo", derive(Deserialize, Serialize, HeapSizeOf))]
#[cfg_attr(feature = "heap_size", derive(HeapSizeOf))]
#[repr(u8)] #[repr(u8)]
pub enum Cursor { pub enum Cursor {
$( $variant = $value ),+ $( $variant = $value ),+

View file

@ -11,19 +11,17 @@
#![deny(unsafe_code)] #![deny(unsafe_code)]
#![cfg_attr(feature = "serde-serialization", feature(custom_derive))] #![cfg_attr(feature = "servo", feature(custom_derive))]
#![cfg_attr(feature = "serde-serialization", feature(plugin))] #![cfg_attr(feature = "servo", feature(plugin))]
#![cfg_attr(feature = "serde-serialization", plugin(serde_macros))] #![cfg_attr(feature = "servo", plugin(serde_macros))]
#![cfg_attr(feature = "heap_size", feature(custom_derive))] #![cfg_attr(feature = "servo", plugin(heapsize_plugin))]
#![cfg_attr(feature = "heap_size", feature(plugin))]
#![cfg_attr(feature = "heap_size", plugin(heapsize_plugin))]
#[macro_use] #[macro_use]
extern crate cssparser; extern crate cssparser;
extern crate euclid; extern crate euclid;
#[cfg(feature = "heap_size")] extern crate heapsize; #[cfg(feature = "servo")] extern crate heapsize;
extern crate rustc_serialize; extern crate rustc_serialize;
#[cfg(feature = "serde-serialization")] extern crate serde; #[cfg(feature = "servo")] extern crate serde;
extern crate util; extern crate util;
pub mod cursor; pub mod cursor;

View file

@ -5,53 +5,33 @@
#[macro_export] #[macro_export]
macro_rules! define_css_keyword_enum { macro_rules! define_css_keyword_enum {
($name: ident: $( $css: expr => $variant: ident ),+,) => { ($name: ident: $( $css: expr => $variant: ident ),+,) => {
__define_css_keyword_enum__add_serde!($name [ $( $css => $variant ),+ ]); __define_css_keyword_enum__add_optional_traits!($name [ $( $css => $variant ),+ ]);
}; };
($name: ident: $( $css: expr => $variant: ident ),+) => { ($name: ident: $( $css: expr => $variant: ident ),+) => {
__define_css_keyword_enum__add_serde!($name [ $( $css => $variant ),+ ]); __define_css_keyword_enum__add_optional_traits!($name [ $( $css => $variant ),+ ]);
}; };
} }
#[cfg(feature = "serde-serialization")] #[cfg(feature = "servo")]
#[macro_export] #[macro_export]
macro_rules! __define_css_keyword_enum__add_serde { macro_rules! __define_css_keyword_enum__add_optional_traits {
($name: ident [ $( $css: expr => $variant: ident ),+ ]) => { ($name: ident [ $( $css: expr => $variant: ident ),+ ]) => {
__define_css_keyword_enum__add_heapsize! { __define_css_keyword_enum__actual! {
$name [ Deserialize, Serialize ] [ $( $css => $variant ),+ ] $name [ Deserialize, Serialize, HeapSizeOf ] [ $( $css => $variant ),+ ]
} }
}; };
} }
#[cfg(not(feature = "serde-serialization"))] #[cfg(not(feature = "servo"))]
#[macro_export] #[macro_export]
macro_rules! __define_css_keyword_enum__add_serde { macro_rules! __define_css_keyword_enum__add_optional_traits {
($name: ident [ $( $css: expr => $variant: ident ),+ ]) => { ($name: ident [ $( $css: expr => $variant: ident ),+ ]) => {
__define_css_keyword_enum__add_heapsize! { __define_css_keyword_enum__actual! {
$name [] [ $( $css => $variant ),+ ] $name [] [ $( $css => $variant ),+ ]
} }
}; };
} }
#[cfg(feature = "heap_size")]
#[macro_export]
macro_rules! __define_css_keyword_enum__add_heapsize {
($name: ident [ $( $derived_trait: ident),* ] [ $( $css: expr => $variant: ident ),+ ]) => {
__define_css_keyword_enum__actual! {
$name [ $( $derived_trait, )* HeapSizeOf ] [ $( $css => $variant ),+ ]
}
};
}
#[cfg(not(feature = "heap_size"))]
#[macro_export]
macro_rules! __define_css_keyword_enum__add_heapsize {
($name: ident [ $( $derived_trait: ident),* ] [ $( $css: expr => $variant: ident ),+ ]) => {
__define_css_keyword_enum__actual! {
$name [ $( $derived_trait ),* ] [ $( $css => $variant ),+ ]
}
};
}
#[macro_export] #[macro_export]
macro_rules! __define_css_keyword_enum__actual { macro_rules! __define_css_keyword_enum__actual {
($name: ident [ $( $derived_trait: ident),* ] [ $( $css: expr => $variant: ident ),+ ]) => { ($name: ident [ $( $derived_trait: ident),* ] [ $( $css: expr => $variant: ident ),+ ]) => {

View file

@ -21,8 +21,7 @@ define_css_keyword_enum!(Orientation:
#[derive(Clone, Debug, PartialEq)] #[derive(Clone, Debug, PartialEq)]
#[cfg_attr(feature = "serde-serialization", derive(Deserialize, Serialize))] #[cfg_attr(feature = "servo", derive(Deserialize, Serialize, HeapSizeOf))]
#[cfg_attr(feature = "heap_size", derive(HeapSizeOf))]
pub struct ViewportConstraints { pub struct ViewportConstraints {
pub size: TypedSize2D<ViewportPx, f32>, pub size: TypedSize2D<ViewportPx, f32>,
@ -57,7 +56,7 @@ impl ToCss for ViewportConstraints {
/// Zoom is a number | percentage | auto /// Zoom is a number | percentage | auto
/// See http://dev.w3.org/csswg/css-device-adapt/#descdef-viewport-zoom /// See http://dev.w3.org/csswg/css-device-adapt/#descdef-viewport-zoom
#[derive(Copy, Clone, Debug, PartialEq)] #[derive(Copy, Clone, Debug, PartialEq)]
#[cfg_attr(feature = "heap_size", derive(HeapSizeOf))] #[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub enum Zoom { pub enum Zoom {
Number(f32), Number(f32),
Percentage(f32), Percentage(f32),