mirror of
https://github.com/servo/servo.git
synced 2025-06-10 01:23:13 +00:00
Update serde to 0.8 (fixes #12659)
This commit is contained in:
parent
a22913569c
commit
7ad51dcd7a
70 changed files with 919 additions and 778 deletions
|
@ -22,23 +22,24 @@ video-metadata = {git = "https://github.com/GuillaumeGomez/video-metadata-rs"}
|
|||
|
||||
[dependencies]
|
||||
angle = {git = "https://github.com/servo/angle", branch = "servo"}
|
||||
app_units = "0.2.5"
|
||||
app_units = "0.3"
|
||||
bitflags = "0.7"
|
||||
canvas_traits = {path = "../canvas_traits"}
|
||||
caseless = "0.1.0"
|
||||
cookie = { version = "0.2.5", features = ["serialize-serde", "serialize-rustc" ] }
|
||||
cssparser = {version = "0.5.4", features = ["heap_size", "serde-serialization"]}
|
||||
cookie = {version = "0.2.5", features = ["serialize-rustc"]}
|
||||
cssparser = {version = "0.5.7", features = ["heap_size", "serde-serialization"]}
|
||||
devtools_traits = {path = "../devtools_traits"}
|
||||
encoding = "0.2"
|
||||
euclid = "0.8.2"
|
||||
euclid = "0.9"
|
||||
fnv = "1.0"
|
||||
gfx_traits = {path = "../gfx_traits"}
|
||||
heapsize = "0.3.6"
|
||||
heapsize_plugin = "0.1.2"
|
||||
html5ever = {version = "0.5.1", features = ["heap_size", "unstable"]}
|
||||
hyper = {version = "0.9.9", features = ["serde-serialization"]}
|
||||
hyper = "0.9.9"
|
||||
hyper_serde = "0.1.4"
|
||||
image = "0.10"
|
||||
ipc-channel = "0.4.0"
|
||||
ipc-channel = "0.5"
|
||||
js = {git = "https://github.com/servo/rust-mozjs"}
|
||||
libc = "0.2"
|
||||
log = "0.3.5"
|
||||
|
@ -47,7 +48,7 @@ mime_guess = "1.8.0"
|
|||
msg = {path = "../msg"}
|
||||
net_traits = {path = "../net_traits"}
|
||||
num-traits = "0.1.32"
|
||||
offscreen_gl_context = "0.2.0"
|
||||
offscreen_gl_context = "0.3"
|
||||
open = "1.1.1"
|
||||
phf = "0.7.16"
|
||||
phf_macros = "0.7.16"
|
||||
|
@ -62,14 +63,14 @@ rustc-serialize = "0.3"
|
|||
script_layout_interface = {path = "../script_layout_interface"}
|
||||
script_traits = {path = "../script_traits"}
|
||||
selectors = {version = "0.8", features = ["heap_size"]}
|
||||
serde = "0.7.15"
|
||||
serde = "0.8"
|
||||
smallvec = "0.1"
|
||||
string_cache = {version = "0.2.20", features = ["heap_size", "unstable"]}
|
||||
string_cache = {version = "0.2.23", features = ["heap_size", "unstable"]}
|
||||
style = {path = "../style"}
|
||||
time = "0.1.12"
|
||||
url = {version = "1.0.0", features = ["heap_size", "query_encoding"]}
|
||||
url = {version = "1.2", features = ["heap_size", "query_encoding"]}
|
||||
util = {path = "../util"}
|
||||
uuid = {version = "0.2", features = ["v4"]}
|
||||
uuid = {version = "0.3", features = ["v4"]}
|
||||
websocket = "0.17"
|
||||
xml5ever = {version = "0.1.2", features = ["unstable"]}
|
||||
|
||||
|
|
|
@ -24,6 +24,7 @@ use encoding::all::UTF_8;
|
|||
use hyper::header::ContentType;
|
||||
use hyper::http::RawStatus;
|
||||
use hyper::mime::{Mime, TopLevel, SubLevel};
|
||||
use hyper_serde::Serde;
|
||||
use ipc_channel::ipc;
|
||||
use ipc_channel::router::ROUTER;
|
||||
use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata, NetworkError};
|
||||
|
@ -282,7 +283,7 @@ impl AsyncResponseListener for StylesheetContext {
|
|||
fn headers_available(&mut self, metadata: Result<Metadata, NetworkError>) {
|
||||
self.metadata = metadata.ok();
|
||||
if let Some(ref meta) = self.metadata {
|
||||
if let Some(ContentType(Mime(TopLevel::Text, SubLevel::Css, _))) = meta.content_type {
|
||||
if let Some(Serde(ContentType(Mime(TopLevel::Text, SubLevel::Css, _)))) = meta.content_type {
|
||||
} else {
|
||||
self.elem.root().upcast::<EventTarget>().fire_simple_event("error");
|
||||
}
|
||||
|
@ -304,7 +305,7 @@ impl AsyncResponseListener for StylesheetContext {
|
|||
Some(meta) => meta,
|
||||
None => return,
|
||||
};
|
||||
let is_css = metadata.content_type.map_or(false, |ContentType(Mime(top, sub, _))|
|
||||
let is_css = metadata.content_type.map_or(false, |Serde(ContentType(Mime(top, sub, _)))|
|
||||
top == TopLevel::Text && sub == SubLevel::Css);
|
||||
|
||||
let data = if is_css { mem::replace(&mut self.data, vec!()) } else { vec!() };
|
||||
|
@ -334,7 +335,7 @@ impl AsyncResponseListener for StylesheetContext {
|
|||
document.invalidate_stylesheets();
|
||||
|
||||
// FIXME: Revisit once consensus is reached at: https://github.com/whatwg/html/issues/1142
|
||||
successful = metadata.status.map_or(false, |RawStatus(code, _)| code == 200);
|
||||
successful = metadata.status.map_or(false, |Serde(RawStatus(code, _))| code == 200);
|
||||
}
|
||||
|
||||
if elem.parser_inserted.get() {
|
||||
|
|
|
@ -24,6 +24,7 @@ use dom::htmlsourceelement::HTMLSourceElement;
|
|||
use dom::mediaerror::MediaError;
|
||||
use dom::node::{window_from_node, document_from_node, Node, UnbindContext};
|
||||
use dom::virtualmethods::VirtualMethods;
|
||||
use hyper_serde::Serde;
|
||||
use ipc_channel::ipc;
|
||||
use ipc_channel::router::ROUTER;
|
||||
use net_traits::{AsyncResponseListener, AsyncResponseTarget, Metadata, NetworkError};
|
||||
|
@ -67,7 +68,7 @@ impl AsyncResponseListener for HTMLMediaElementContext {
|
|||
.as_ref()
|
||||
.and_then(|m| m.status
|
||||
.as_ref()
|
||||
.map(|s| s.0 < 200 || s.0 >= 300))
|
||||
.map(|&Serde(ref s)| s.0 < 200 || s.0 >= 300))
|
||||
.unwrap_or(false);
|
||||
if is_failure {
|
||||
// Ensure that the element doesn't receive any further notifications
|
||||
|
|
|
@ -27,6 +27,7 @@ use encoding::label::encoding_from_whatwg_label;
|
|||
use encoding::types::{DecoderTrap, EncodingRef};
|
||||
use html5ever::tree_builder::NextParserState;
|
||||
use hyper::http::RawStatus;
|
||||
use hyper_serde::Serde;
|
||||
use ipc_channel::ipc;
|
||||
use ipc_channel::router::ROUTER;
|
||||
use js::jsval::UndefinedValue;
|
||||
|
@ -158,7 +159,7 @@ impl AsyncResponseListener for ScriptContext {
|
|||
|
||||
let status_code = self.metadata.as_ref().and_then(|m| {
|
||||
match m.status {
|
||||
Some(RawStatus(c, _)) => Some(c),
|
||||
Some(Serde(RawStatus(c, _))) => Some(c),
|
||||
_ => None,
|
||||
}
|
||||
}).unwrap_or(0);
|
||||
|
|
|
@ -28,6 +28,7 @@ use html5ever::tree_builder;
|
|||
use html5ever::tree_builder::{TreeBuilder, TreeBuilderOpts};
|
||||
use hyper::header::ContentType;
|
||||
use hyper::mime::{Mime, SubLevel, TopLevel};
|
||||
use hyper_serde::Serde;
|
||||
use js::jsapi::JSTracer;
|
||||
use msg::constellation_msg::{PipelineId, SubpageId};
|
||||
use net_traits::{AsyncResponseListener, Metadata, NetworkError};
|
||||
|
@ -98,7 +99,8 @@ impl AsyncResponseListener for ParserContext {
|
|||
},
|
||||
Err(_) => None,
|
||||
};
|
||||
let content_type = metadata.clone().and_then(|meta| meta.content_type);
|
||||
let content_type =
|
||||
metadata.clone().and_then(|meta| meta.content_type).map(Serde::into_inner);
|
||||
let parser = match ScriptThread::page_headers_available(&self.id,
|
||||
self.subpage.as_ref(),
|
||||
metadata) {
|
||||
|
|
|
@ -39,6 +39,7 @@ use hyper::header::{ContentLength, ContentType};
|
|||
use hyper::http::RawStatus;
|
||||
use hyper::method::Method;
|
||||
use hyper::mime::{self, Mime, Attr as MimeAttr, Value as MimeValue};
|
||||
use hyper_serde::Serde;
|
||||
use ipc_channel::ipc;
|
||||
use ipc_channel::router::ROUTER;
|
||||
use js::jsapi::JS_ClearPendingException;
|
||||
|
@ -875,7 +876,10 @@ impl XMLHttpRequest {
|
|||
*self.response_url.borrow_mut() = metadata.final_url[..Position::AfterQuery].to_owned();
|
||||
|
||||
// XXXManishearth Clear cache entries in case of a network error
|
||||
self.process_partial_response(XHRProgress::HeadersReceived(gen_id, metadata.headers, metadata.status));
|
||||
self.process_partial_response(XHRProgress::HeadersReceived(
|
||||
gen_id,
|
||||
metadata.headers.map(Serde::into_inner),
|
||||
metadata.status.map(Serde::into_inner)));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
|
@ -48,6 +48,7 @@ extern crate gfx_traits;
|
|||
extern crate heapsize;
|
||||
extern crate html5ever;
|
||||
extern crate hyper;
|
||||
extern crate hyper_serde;
|
||||
extern crate image;
|
||||
extern crate ipc_channel;
|
||||
#[macro_use]
|
||||
|
|
|
@ -55,6 +55,7 @@ use hyper::header::{ContentType, Headers, HttpDate, LastModified};
|
|||
use hyper::header::{ReferrerPolicy as ReferrerPolicyHeader};
|
||||
use hyper::method::Method;
|
||||
use hyper::mime::{Mime, SubLevel, TopLevel};
|
||||
use hyper_serde::Serde;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use ipc_channel::router::ROUTER;
|
||||
use js::glue::GetWindowProxyClass;
|
||||
|
@ -1695,7 +1696,7 @@ impl ScriptThread {
|
|||
headers.get().map(|&LastModified(HttpDate(ref tm))| dom_last_modified(tm))
|
||||
});
|
||||
|
||||
let content_type = metadata.content_type.as_ref().and_then(|&ContentType(ref mimetype)| {
|
||||
let content_type = metadata.content_type.as_ref().and_then(|&Serde(ContentType(ref mimetype))| {
|
||||
match *mimetype {
|
||||
Mime(TopLevel::Application, SubLevel::Xml, _) |
|
||||
Mime(TopLevel::Application, SubLevel::Ext(_), _) |
|
||||
|
@ -1710,8 +1711,8 @@ impl ScriptThread {
|
|||
Some(incomplete.url.clone()));
|
||||
|
||||
let is_html_document = match metadata.content_type {
|
||||
Some(ContentType(Mime(TopLevel::Application, SubLevel::Xml, _))) |
|
||||
Some(ContentType(Mime(TopLevel::Text, SubLevel::Xml, _))) =>
|
||||
Some(Serde(ContentType(Mime(TopLevel::Application, SubLevel::Xml, _)))) |
|
||||
Some(Serde(ContentType(Mime(TopLevel::Text, SubLevel::Xml, _)))) =>
|
||||
IsHTMLDocument::NonHTMLDocument,
|
||||
_ => IsHTMLDocument::HTMLDocument,
|
||||
};
|
||||
|
@ -1797,11 +1798,11 @@ impl ScriptThread {
|
|||
document.set_https_state(metadata.https_state);
|
||||
|
||||
let is_xml = match metadata.content_type {
|
||||
Some(ContentType(Mime(TopLevel::Application, SubLevel::Ext(ref sub_level), _)))
|
||||
Some(Serde(ContentType(Mime(TopLevel::Application, SubLevel::Ext(ref sub_level), _))))
|
||||
if sub_level.ends_with("+xml") => true,
|
||||
|
||||
Some(ContentType(Mime(TopLevel::Application, SubLevel::Xml, _))) |
|
||||
Some(ContentType(Mime(TopLevel::Text, SubLevel::Xml, _))) => true,
|
||||
Some(Serde(ContentType(Mime(TopLevel::Application, SubLevel::Xml, _)))) |
|
||||
Some(Serde(ContentType(Mime(TopLevel::Text, SubLevel::Xml, _)))) => true,
|
||||
|
||||
_ => false,
|
||||
};
|
||||
|
|
|
@ -27,6 +27,7 @@ use dom::window::ScriptHelpers;
|
|||
use euclid::point::Point2D;
|
||||
use euclid::rect::Rect;
|
||||
use euclid::size::Size2D;
|
||||
use hyper_serde::Serde;
|
||||
use ipc_channel::ipc::{self, IpcSender};
|
||||
use js::jsapi::{JSContext, HandleValue};
|
||||
use js::jsval::UndefinedValue;
|
||||
|
@ -194,7 +195,7 @@ pub fn handle_get_active_element(context: &BrowsingContext,
|
|||
|
||||
pub fn handle_get_cookies(context: &BrowsingContext,
|
||||
_pipeline: PipelineId,
|
||||
reply: IpcSender<Vec<Cookie>>) {
|
||||
reply: IpcSender<Vec<Serde<Cookie>>>) {
|
||||
let document = context.active_document();
|
||||
let url = document.url();
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
|
@ -209,7 +210,7 @@ pub fn handle_get_cookies(context: &BrowsingContext,
|
|||
pub fn handle_get_cookie(context: &BrowsingContext,
|
||||
_pipeline: PipelineId,
|
||||
name: String,
|
||||
reply: IpcSender<Vec<Cookie>>) {
|
||||
reply: IpcSender<Vec<Serde<Cookie>>>) {
|
||||
let document = context.active_document();
|
||||
let url = document.url();
|
||||
let (sender, receiver) = ipc::channel().unwrap();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue