Remove servo feature from servo_url

This commit is contained in:
Xidorn Quan 2017-04-07 17:50:16 +10:00
parent e07cf0a8da
commit 817172ebc4
11 changed files with 25 additions and 37 deletions

View file

@ -9,15 +9,12 @@ publish = false
name = "servo_url"
path = "lib.rs"
[features]
servo = ["heapsize", "heapsize_derive", "serde", "serde_derive", "uuid/serde", "url/heap_size", "url_serde"]
[dependencies]
heapsize = {version = "0.3.0", optional = true}
heapsize_derive = {version = "0.1", optional = true}
serde = {version = "0.9", optional = true}
serde_derive = {version = "0.9", optional = true}
heapsize = {version = "0.3.0"}
heapsize_derive = {version = "0.1"}
serde = {version = "0.9"}
serde_derive = {version = "0.9"}
servo_rand = {path = "../rand"}
url = "1.2"
url_serde = {version = "0.1.3", optional = true}
uuid = {version = "0.4.0", features = ["v4"]}
url = {version = "1.2", features = ["heap_size"]}
url_serde = {version = "0.1.3"}
uuid = {version = "0.4.0", features = ["v4", "serde"]}

View file

@ -7,14 +7,13 @@
#![crate_name = "servo_url"]
#![crate_type = "rlib"]
#[cfg(feature = "servo")] #[macro_use] extern crate heapsize;
#[cfg(feature = "servo")] #[macro_use] extern crate heapsize_derive;
#[cfg(feature = "servo")] extern crate serde;
#[cfg(feature = "servo")] #[macro_use] extern crate serde_derive;
#[cfg(feature = "servo")] extern crate url_serde;
#[macro_use] extern crate heapsize;
#[macro_use] extern crate heapsize_derive;
extern crate serde;
#[macro_use] extern crate serde_derive;
extern crate servo_rand;
extern crate url;
extern crate url_serde;
extern crate uuid;
pub mod origin;
@ -30,8 +29,7 @@ use url::{Url, Position};
pub use url::Host;
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
#[derive(Clone, PartialEq, Eq, PartialOrd, Ord, Hash, HeapSizeOf)]
pub struct ServoUrl(Arc<Url>);
impl ServoUrl {
@ -203,7 +201,6 @@ impl From<Url> for ServoUrl {
}
}
#[cfg(feature = "servo")]
impl serde::Serialize for ServoUrl {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: serde::Serializer,
@ -212,7 +209,6 @@ impl serde::Serialize for ServoUrl {
}
}
#[cfg(feature = "servo")]
impl serde::Deserialize for ServoUrl {
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: serde::Deserializer,

View file

@ -7,12 +7,11 @@ use servo_rand::Rng;
use std::cell::RefCell;
use std::rc::Rc;
use url::{Host, Origin};
#[cfg(feature = "servo")] use url_serde;
use url_serde;
use uuid::Uuid;
/// The origin of an URL
#[derive(PartialEq, Eq, Clone, Debug)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf, Deserialize, Serialize))]
#[derive(PartialEq, Eq, Clone, Debug, HeapSizeOf, Deserialize, Serialize)]
pub enum ImmutableOrigin {
/// A globally unique identifier
Opaque(OpaqueOrigin),
@ -20,8 +19,7 @@ pub enum ImmutableOrigin {
/// Consists of the URL's scheme, host and port
Tuple(
String,
#[cfg_attr(feature = "servo",
serde(deserialize_with = "url_serde::deserialize", serialize_with = "url_serde::serialize"))]
#[serde(deserialize_with = "url_serde::deserialize", serialize_with = "url_serde::serialize")]
Host,
u16,
)
@ -97,18 +95,15 @@ impl ImmutableOrigin {
}
/// Opaque identifier for URLs that have file or other schemes
#[derive(Eq, PartialEq, Clone, Debug)]
#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))]
#[derive(Eq, PartialEq, Clone, Debug, Deserialize, Serialize)]
pub struct OpaqueOrigin(Uuid);
#[cfg(feature = "servo")]
known_heap_size!(0, OpaqueOrigin);
/// A representation of an [origin](https://html.spec.whatwg.org/multipage/#origin-2).
#[derive(Clone, Debug)]
pub struct MutableOrigin(Rc<(ImmutableOrigin, RefCell<Option<Host>>)>);
#[cfg(feature = "servo")]
known_heap_size!(0, MutableOrigin);
impl MutableOrigin {