diff options
42 files changed, 477 insertions, 261 deletions
diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 4c3a3505b62..450951c99f1 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -633,7 +633,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { debug!("delayed composition timeout!"); if let CompositionRequest::DelayedComposite(this_timestamp) = self.composition_request { - if timestamp == this_timestamp { + if timestamp == this_timestamp && !opts::get().use_webrender { self.composition_request = CompositionRequest::CompositeNow( CompositingReason::DelayedCompositeTimeout) } @@ -752,7 +752,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { match animation_state { AnimationState::AnimationsPresent => { self.pipeline_details(pipeline_id).animations_running = true; - self.composite_if_necessary(CompositingReason::Animation); + self.composite_if_necessary_if_not_using_webrender(CompositingReason::Animation); } AnimationState::AnimationCallbacksPresent => { if !self.pipeline_details(pipeline_id).animation_callbacks_running { @@ -837,7 +837,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { self.send_window_size(WindowSizeType::Initial); self.frame_tree_id.next(); - self.composite_if_necessary(CompositingReason::NewFrameTree); + self.composite_if_necessary_if_not_using_webrender(CompositingReason::NewFrameTree); } fn create_root_layer_for_pipeline_and_size(&mut self, @@ -1190,7 +1190,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { // FIXME(pcwalton): This is going to cause problems with inconsistent frames since // we only composite one layer at a time. layer.add_buffers(self, new_layer_buffer_set, epoch); - self.composite_if_necessary(CompositingReason::NewPaintedBuffers); + self.composite_if_necessary_if_not_using_webrender(CompositingReason::NewPaintedBuffers); } fn scroll_fragment_to_point(&mut self, @@ -1453,7 +1453,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { cursor: cursor, phase: ScrollEventPhase::Move(true), }); - self.composite_if_necessary(CompositingReason::Zoom); + self.composite_if_necessary_if_not_using_webrender(CompositingReason::Zoom); } TouchAction::DispatchEvent => { if let Some(result) = self.find_topmost_layer_at_point(point / self.scene.scale) { @@ -1507,7 +1507,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { cursor: cursor, phase: ScrollEventPhase::Move(self.scroll_in_progress), }); - self.composite_if_necessary(CompositingReason::Scroll); + self.composite_if_necessary_if_not_using_webrender(CompositingReason::Scroll); } fn on_scroll_start_window_event(&mut self, @@ -1520,7 +1520,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { cursor: cursor, phase: ScrollEventPhase::Start, }); - self.composite_if_necessary(CompositingReason::Scroll); + self.composite_if_necessary_if_not_using_webrender(CompositingReason::Scroll); } fn on_scroll_end_window_event(&mut self, @@ -1533,7 +1533,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { cursor: cursor, phase: ScrollEventPhase::End, }); - self.composite_if_necessary(CompositingReason::Scroll); + self.composite_if_necessary_if_not_using_webrender(CompositingReason::Scroll); } fn process_pending_scroll_events(&mut self) { @@ -1664,7 +1664,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { self.send_updated_display_ports_to_layout(); if self.send_buffer_requests_for_all_layers() { self.schedule_delayed_composite_if_necessary(); - } else { + } else if !opts::get().use_webrender { self.channel_to_self.send(Msg::Recomposite(CompositingReason::ContinueScroll)); } } @@ -1756,7 +1756,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { cursor: Point2D::typed(-1, -1), // Make sure this hits the base layer. phase: ScrollEventPhase::Move(true), }); - self.composite_if_necessary(CompositingReason::Zoom); + self.composite_if_necessary_if_not_using_webrender(CompositingReason::Zoom); } fn on_navigation_window_event(&self, direction: WindowNavigateMsg) { @@ -2182,7 +2182,11 @@ impl<Window: WindowMethods> IOCompositor<Window> { self.last_composite_time = precise_time_ns(); self.composition_request = CompositionRequest::NoCompositingNecessary; - self.process_pending_scroll_events(); + + if !opts::get().use_webrender { + self.process_pending_scroll_events(); + } + self.process_animations(); self.start_scrolling_bounce_if_necessary(); @@ -2230,6 +2234,12 @@ impl<Window: WindowMethods> IOCompositor<Window> { } } + fn composite_if_necessary_if_not_using_webrender(&mut self, reason: CompositingReason) { + if !opts::get().use_webrender { + self.composite_if_necessary(reason) + } + } + fn initialize_compositing(&mut self) { if self.webrender.is_none() { let show_debug_borders = opts::get().show_debug_borders; @@ -2457,6 +2467,10 @@ impl<Window> CompositorEventListener for IOCompositor<Window> where Window: Wind self.send_buffer_requests_for_all_layers(); } + if !self.pending_scroll_zoom_events.is_empty() && opts::get().use_webrender { + self.process_pending_scroll_events() + } + match self.composition_request { CompositionRequest::NoCompositingNecessary | CompositionRequest::DelayedComposite(_) => {} diff --git a/components/compositing/constellation.rs b/components/compositing/constellation.rs index 6e09fc4b15d..b855885b88a 100644 --- a/components/compositing/constellation.rs +++ b/components/compositing/constellation.rs @@ -982,7 +982,7 @@ impl<LTF: LayoutThreadFactory, STF: ScriptThreadFactory> Constellation<LTF, STF> }; // If no url is specified, reload. - let new_url = load_info.url.clone() + let new_url = load_info.load_data.clone().map(|data| data.url) .or_else(|| old_pipeline.map(|old_pipeline| old_pipeline.url.clone())) .unwrap_or_else(|| Url::parse("about:blank").expect("infallible")); @@ -1016,13 +1016,20 @@ impl<LTF: LayoutThreadFactory, STF: ScriptThreadFactory> Constellation<LTF, STF> }; + let load_data = if let Some(mut data) = load_info.load_data { + data.url = new_url; + data + } else { + // TODO - loaddata here should have referrer info (not None, None) + LoadData::new(new_url, None, None) + }; + // Create the new pipeline, attached to the parent and push to pending frames - // TODO - loaddata here should have referrer info (not None, None) self.new_pipeline(load_info.new_pipeline_id, Some((load_info.containing_pipeline_id, load_info.new_subpage_id)), window_size, script_chan, - LoadData::new(new_url, None, None)); + load_data); self.subpage_map.insert((load_info.containing_pipeline_id, load_info.new_subpage_id), load_info.new_pipeline_id); diff --git a/components/devtools_traits/Cargo.toml b/components/devtools_traits/Cargo.toml index 87bfd8ed8ff..cb8e54184ae 100644 --- a/components/devtools_traits/Cargo.toml +++ b/components/devtools_traits/Cargo.toml @@ -16,7 +16,7 @@ heapsize = "0.3.0" heapsize_plugin = "0.1.2" hyper = { version = "0.9", features = [ "serde-serialization" ] } time = "0.1" -bitflags = "0.3" +bitflags = "0.6.0" serde = "0.7" serde_macros = "0.7" url = {version = "1.0.0", features = ["heap_size"]} diff --git a/components/devtools_traits/lib.rs b/components/devtools_traits/lib.rs index 9a46ddc0000..381af6016b3 100644 --- a/components/devtools_traits/lib.rs +++ b/components/devtools_traits/lib.rs @@ -242,7 +242,7 @@ pub struct ConsoleMessage { bitflags! { #[derive(Deserialize, Serialize)] - flags CachedConsoleMessageTypes: u8 { + pub flags CachedConsoleMessageTypes: u8 { const PAGE_ERROR = 1 << 0, const CONSOLE_API = 1 << 1, } diff --git a/components/gfx/Cargo.toml b/components/gfx/Cargo.toml index 93d510c62d9..d02445d606f 100644 --- a/components/gfx/Cargo.toml +++ b/components/gfx/Cargo.toml @@ -11,7 +11,7 @@ path = "lib.rs" [dependencies] app_units = {version = "0.2.3", features = ["plugins"]} -bitflags = "0.3" +bitflags = "0.6.0" euclid = {version = "0.6.4", features = ["plugins"]} fnv = "1.0" harfbuzz-sys = "0.1" diff --git a/components/gfx/font.rs b/components/gfx/font.rs index 5bdfa78fb64..a6b2af9c8a2 100644 --- a/components/gfx/font.rs +++ b/components/gfx/font.rs @@ -105,7 +105,7 @@ pub struct Font { } bitflags! { - flags ShapingFlags: u8 { + pub flags ShapingFlags: u8 { #[doc = "Set if the text is entirely whitespace."] const IS_WHITESPACE_SHAPING_FLAG = 0x01, #[doc = "Set if we are to ignore ligatures."] diff --git a/components/layout/Cargo.toml b/components/layout/Cargo.toml index 2f15be9588d..f097dccdd26 100644 --- a/components/layout/Cargo.toml +++ b/components/layout/Cargo.toml @@ -27,7 +27,7 @@ util = {path = "../util"} ipc-channel = {git = "https://github.com/servo/ipc-channel"} webrender_traits = {git = "https://github.com/servo/webrender_traits"} app_units = {version = "0.2.3", features = ["plugins"]} -bitflags = "0.3" +bitflags = "0.6.0" cssparser = {version = "0.5.4", features = ["heap_size", "serde-serialization"]} euclid = {version = "0.6.4", features = ["plugins"]} fnv = "1.0" diff --git a/components/layout/block.rs b/components/layout/block.rs index 0b10ef39000..390fc120cd7 100644 --- a/components/layout/block.rs +++ b/components/layout/block.rs @@ -520,7 +520,7 @@ pub struct BlockFlow { pub float: Option<Box<FloatedBlockInfo>>, /// Various flags. - pub flags: BlockFlowFlags, + flags: BlockFlowFlags, } bitflags! { @@ -1518,8 +1518,6 @@ impl BlockFlow { } } } - - flags.union_floated_descendants_flags(child_base.flags); } // FIXME(pcwalton): This should consider all float descendants, not just children. diff --git a/components/layout/data.rs b/components/layout/data.rs index 4e5c8339157..10c72667aae 100644 --- a/components/layout/data.rs +++ b/components/layout/data.rs @@ -51,7 +51,7 @@ impl PrivateLayoutData { } bitflags! { - flags LayoutDataFlags: u8 { + pub flags LayoutDataFlags: u8 { #[doc = "Whether a flow has been newly constructed."] const HAS_NEWLY_CONSTRUCTED_FLOW = 0x01 } diff --git a/components/layout/flow.rs b/components/layout/flow.rs index 79ab2fc2c07..9ca27c352ce 100644 --- a/components/layout/flow.rs +++ b/components/layout/flow.rs @@ -629,7 +629,7 @@ pub trait InorderFlowTraversal { bitflags! { #[doc = "Flags used in flows."] - flags FlowFlags: u32 { + pub flags FlowFlags: u32 { // text align flags #[doc = "Whether this flow must have its own layer. Even if this flag is not set, it might"] #[doc = "get its own layer if it's deemed to be likely to overlap flows with their own"] @@ -676,12 +676,6 @@ bitflags! { } } -// NB: If you update this field, you must update the the floated descendants flags. -/// The bitmask of flags that represent the `has_left_floated_descendants` and -/// `has_right_floated_descendants` fields. - -static HAS_FLOATED_DESCENDANTS_BITMASK: FlowFlags = FlowFlags { bits: 0b0000_0011 }; - /// The number of bits we must shift off to handle the text alignment field. /// /// NB: If you update this, update `TEXT_ALIGN` above. @@ -700,11 +694,6 @@ impl FlowFlags { } #[inline] - pub fn union_floated_descendants_flags(&mut self, other: FlowFlags) { - self.insert(other & HAS_FLOATED_DESCENDANTS_BITMASK); - } - - #[inline] pub fn float_kind(&self) -> float::T { if self.contains(FLOATS_LEFT) { float::T::left diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index 4dda58364aa..f90a18a438d 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -666,7 +666,7 @@ pub struct ScannedTextFragmentInfo { } bitflags! { - flags ScannedTextFlags: u8 { + pub flags ScannedTextFlags: u8 { /// Whether a line break is required after this fragment if wrapping on newlines (e.g. if /// `white-space: pre` is in effect). const REQUIRES_LINE_BREAK_AFTERWARD_IF_WRAPPING_ON_NEWLINES = 0x01, @@ -2707,7 +2707,7 @@ impl Overflow { } bitflags! { - flags FragmentFlags: u8 { + pub flags FragmentFlags: u8 { /// Whether this fragment has a layer. const HAS_LAYER = 0x01, } diff --git a/components/layout/incremental.rs b/components/layout/incremental.rs index fb73e8b6d87..a743afd1555 100644 --- a/components/layout/incremental.rs +++ b/components/layout/incremental.rs @@ -11,7 +11,7 @@ use style::properties::{ComputedValues, ServoComputedValues}; bitflags! { #[doc = "Individual layout actions that may be necessary after restyling."] - flags RestyleDamage: u8 { + pub flags RestyleDamage: u8 { #[doc = "Repaint the node itself."] #[doc = "Currently unused; need to decide how this propagates."] const REPAINT = 0x01, @@ -45,7 +45,7 @@ bitflags! { } bitflags! { - flags SpecialRestyleDamage: u8 { + pub flags SpecialRestyleDamage: u8 { #[doc = "If this flag is set, we need to reflow the entire document. This is more or less a \ temporary hack to deal with cases that we don't handle incrementally yet."] const REFLOW_ENTIRE_DOCUMENT = 0x01, diff --git a/components/layout/inline.rs b/components/layout/inline.rs index 6d1224dea25..95c3c85454a 100644 --- a/components/layout/inline.rs +++ b/components/layout/inline.rs @@ -1859,7 +1859,7 @@ pub struct InlineFragmentNodeInfo { } bitflags! { - flags InlineFragmentNodeFlags: u8 { + pub flags InlineFragmentNodeFlags: u8 { const FIRST_FRAGMENT_OF_ELEMENT = 0x01, const LAST_FRAGMENT_OF_ELEMENT = 0x02, } diff --git a/components/msg/Cargo.toml b/components/msg/Cargo.toml index 3a26b7d4afa..077a51f0186 100644 --- a/components/msg/Cargo.toml +++ b/components/msg/Cargo.toml @@ -14,7 +14,7 @@ layers = {git = "https://github.com/servo/rust-layers", features = ["plugins"]} ipc-channel = {git = "https://github.com/servo/ipc-channel"} plugins = {path = "../plugins"} webrender_traits = {git = "https://github.com/servo/webrender_traits"} -bitflags = "0.3" +bitflags = "0.6.0" cssparser = {version = "0.5.4", features = ["heap_size", "serde-serialization"]} euclid = {version = "0.6.4", features = ["plugins"]} heapsize = "0.3.0" diff --git a/components/msg/constellation_msg.rs b/components/msg/constellation_msg.rs index cd0232ca761..cab09add966 100644 --- a/components/msg/constellation_msg.rs +++ b/components/msg/constellation_msg.rs @@ -194,7 +194,7 @@ pub enum Key { bitflags! { #[derive(Deserialize, Serialize)] - flags KeyModifiers: u8 { + pub flags KeyModifiers: u8 { const NONE = 0x00, const SHIFT = 0x01, const CONTROL = 0x02, diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml index 491fb077c9c..d032bc81921 100644 --- a/components/script/Cargo.toml +++ b/components/script/Cargo.toml @@ -31,7 +31,7 @@ xml5ever = {version = "0.1.2", features = ["unstable"]} gfx_traits = {path = "../gfx_traits"} webrender_traits = {git = "https://github.com/servo/webrender_traits"} app_units = {version = "0.2.3", features = ["plugins"]} -bitflags = "0.3" +bitflags = "0.6.0" caseless = "0.1.0" cssparser = {version = "0.5.4", features = ["heap_size", "serde-serialization"]} encoding = "0.2" @@ -44,6 +44,7 @@ hyper = { version = "0.9", features = [ "serde-serialization" ] } image = "0.9" libc = "0.2" log = "0.3.5" +mime = "0.2.0" num-traits = "0.1.32" offscreen_gl_context = "0.1.2" rand = "0.3" diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 999ccacc8a8..0e8b6174ab5 100644 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -3,6 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use dom::attr::AttrValue; +use dom::bindings::codegen::Bindings::BlobBinding::BlobMethods; use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods; use dom::bindings::codegen::Bindings::EventBinding::EventMethods; use dom::bindings::codegen::Bindings::HTMLButtonElementBinding::HTMLButtonElementMethods; @@ -15,10 +16,12 @@ use dom::bindings::inheritance::{Castable, ElementTypeId, HTMLElementTypeId, Nod use dom::bindings::js::{JS, MutNullableHeap, Root}; use dom::bindings::refcounted::Trusted; use dom::bindings::reflector::Reflectable; +use dom::blob::Blob; use dom::document::Document; use dom::element::Element; use dom::event::{EventBubbles, EventCancelable}; use dom::eventtarget::EventTarget; +use dom::file::File; use dom::htmlbuttonelement::HTMLButtonElement; use dom::htmlcollection::CollectionFilter; use dom::htmldatalistelement::HTMLDataListElement; @@ -33,19 +36,23 @@ use dom::htmltextareaelement::HTMLTextAreaElement; use dom::node::{Node, document_from_node, window_from_node}; use dom::virtualmethods::VirtualMethods; use dom::window::Window; -use hyper::header::ContentType; +use encoding::EncodingRef; +use encoding::all::UTF_8; +use encoding::label::encoding_from_whatwg_label; +use hyper::header::{Charset, ContentDisposition, ContentType, DispositionParam, DispositionType}; use hyper::method::Method; -use hyper::mime; use msg::constellation_msg::{LoadData, PipelineId}; +use rand::random; use script_runtime::ScriptChan; use script_thread::{MainThreadScriptMsg, Runnable}; use std::borrow::ToOwned; use std::cell::Cell; +use std::str::from_utf8; use std::sync::mpsc::Sender; use string_cache::Atom; use task_source::dom_manipulation::DOMManipulationTask; use url::form_urlencoded; -use util::str::DOMString; +use util::str::{DOMString, split_html_space_chars}; #[derive(JSTraceable, PartialEq, Clone, Copy, HeapSizeOf)] pub struct GenerationId(u32); @@ -237,6 +244,86 @@ pub enum ResetFrom { impl HTMLFormElement { + fn generate_boundary(&self) -> String { + let i1 = random::<u32>(); + let i2 = random::<u32>(); + + format!("---------------------------{0}{1}", i1, i2) + } + + // https://html.spec.whatwg.org/multipage/#picking-an-encoding-for-the-form + fn pick_encoding(&self) -> EncodingRef { + // Step 2 + if self.upcast::<Element>().has_attribute(&atom!("accept-charset")) { + // Substep 1 + let input = self.upcast::<Element>().get_string_attribute(&atom!("accept-charset")); + + // Substep 2, 3, 4 + let mut candidate_encodings = split_html_space_chars(&*input).filter_map(encoding_from_whatwg_label); + + // Substep 5, 6 + return candidate_encodings.next().unwrap_or(UTF_8); + } + + // Step 1, 3 + document_from_node(self).encoding() + } + + // https://html.spec.whatwg.org/multipage/#multipart/form-data-encoding-algorithm + fn encode_form_data(&self, form_data: &mut Vec<FormDatum>, + encoding: Option<EncodingRef>, + boundary: String) -> String { + // Step 1 + let mut result = "".to_owned(); + + // Step 2 + // (maybe take encoding as input) + let encoding = encoding.unwrap_or(self.pick_encoding()); + + // Step 3 + let charset = &*encoding.whatwg_name().unwrap(); + + // Step 4 + for entry in form_data.iter_mut() { + // Substep 1 + if entry.name == "_charset_" && entry.ty == "hidden" { + entry.value = FormDatumValue::String(DOMString::from(charset.clone())); + } + // TODO: Substep 2 + + // Step 5 + // https://tools.ietf.org/html/rfc7578#section-4 + result.push_str(&*format!("\r\n--{}\r\n", boundary)); + let mut content_disposition = ContentDisposition { + disposition: DispositionType::Ext("form-data".to_owned()), + parameters: vec![DispositionParam::Ext("name".to_owned(), String::from(entry.name.clone()))] + }; + + match entry.value { + FormDatumValue::String(ref s) => + result.push_str(&*format!("Content-Disposition: {}\r\n\r\n{}", + content_disposition, + s)), + FormDatumValue::File(ref f) => { + content_disposition.parameters.push( + DispositionParam::Filename(Charset::Ext(String::from(charset.clone())), + None, + f.name().clone().into())); + let content_type = ContentType(f.upcast::<Blob>().Type().parse().unwrap()); + result.push_str(&*format!("Content-Disposition: {}\r\n{}\r\n\r\n", + content_disposition, + content_type)); + + result.push_str(from_utf8(&f.upcast::<Blob>().get_data().get_bytes()).unwrap()); + } + } + } + + result.push_str(&*format!("\r\n--{}--", boundary)); + + return result; + } + /// [Form submission](https://html.spec.whatwg.org/multipage/#concept-form-submit) pub fn submit(&self, submit_method_flag: SubmittedFrom, submitter: FormSubmitter) { // Step 1 @@ -264,7 +351,7 @@ impl HTMLFormElement { } } // Step 6 - let form_data = self.get_form_dataset(Some(submitter)); + let mut form_data = self.get_form_dataset(Some(submitter)); // Step 7 let mut action = submitter.action(); // Step 8 @@ -287,13 +374,21 @@ impl HTMLFormElement { let parsed_data = match enctype { FormEncType::UrlEncoded => { - let mime: mime::Mime = "application/x-www-form-urlencoded".parse().unwrap(); - load_data.headers.set(ContentType(mime)); + load_data.headers.set(ContentType::form_url_encoded()); + form_urlencoded::Serializer::new(String::new()) - .extend_pairs(form_data.into_iter().map(|field| (field.name, field.value))) + .extend_pairs(form_data.into_iter().map(|field| (field.name.clone(), field.value_str()))) .finish() } - _ => "".to_owned() // TODO: Add serializers for the other encoding types + FormEncType::FormDataEncoded => { + let boundary = self.generate_boundary(); + let mime = mime!(Multipart / FormData; Boundary =(&boundary)); + load_data.headers.set(ContentType(mime)); + + self.encode_form_data(&mut form_data, None, boundary) + } + // TODO: Support plain text encoding + FormEncType::TextPlainEncoded => "".to_owned() }; // Step 18 @@ -311,6 +406,7 @@ impl HTMLFormElement { ("http", FormMethod::FormPost) | ("https", FormMethod::FormPost) => { load_data.method = Method::Post; load_data.data = Some(parsed_data.into_bytes()); + self.plan_to_navigate(load_data, &win); } // https://html.spec.whatwg.org/multipage/#submit-get-action ("file", _) | ("about", _) | ("data", FormMethod::FormGet) | @@ -435,7 +531,7 @@ impl HTMLFormElement { data_set.push(FormDatum { ty: textarea.Type(), name: name, - value: textarea.Value() + value: FormDatumValue::String(textarea.Value()) }); } } @@ -489,7 +585,10 @@ impl HTMLFormElement { "file" | "textarea" => (), _ => { datum.name = clean_crlf(&datum.name); - datum.value = clean_crlf(&datum.value); + datum.value = FormDatumValue::String(clean_crlf( match datum.value { + FormDatumValue::String(ref s) => s, + FormDatumValue::File(_) => unreachable!() + })); } } }; @@ -544,12 +643,25 @@ impl HTMLFormElement { } -// TODO: add file support -#[derive(HeapSizeOf)] +pub enum FormDatumValue { + File(Root<File>), + String(DOMString) +} + +// #[derive(HeapSizeOf)] pub struct FormDatum { pub ty: DOMString, pub name: DOMString, - pub value: DOMString + pub value: FormDatumValue +} + +impl FormDatum { + pub fn value_str(&self) -> String { + match self.value { + FormDatumValue::String(ref s) => String::from(s.clone()), + FormDatumValue::File(ref f) => String::from(f.name().clone()) + } + } } #[derive(Copy, Clone, HeapSizeOf)] diff --git a/components/script/dom/htmliframeelement.rs b/components/script/dom/htmliframeelement.rs index 89e7d6f89e8..bf3ff02487c 100644 --- a/components/script/dom/htmliframeelement.rs +++ b/components/script/dom/htmliframeelement.rs @@ -33,7 +33,7 @@ use ipc_channel::ipc; use js::jsapi::{JSAutoCompartment, JSAutoRequest, RootedValue, JSContext, MutableHandleValue}; use js::jsval::{UndefinedValue, NullValue}; use layout_interface::ReflowQueryType; -use msg::constellation_msg::{ConstellationChan}; +use msg::constellation_msg::{ConstellationChan, LoadData}; use msg::constellation_msg::{NavigationDirection, PipelineId, SubpageId}; use net_traits::response::HttpsState; use page::IterablePage; @@ -98,7 +98,7 @@ impl HTMLIFrameElement { (subpage_id, old_subpage_id) } - pub fn navigate_or_reload_child_browsing_context(&self, url: Option<Url>) { + pub fn navigate_or_reload_child_browsing_context(&self, load_data: Option<LoadData>) { let sandboxed = if self.is_sandboxed() { IFrameSandboxed } else { @@ -115,8 +115,8 @@ impl HTMLIFrameElement { //TODO(#9592): Deal with the case where an iframe is being reloaded so url is None. // The iframe should always have access to the nested context's active // document URL through the browsing context. - if let Some(ref url) = url { - *load_blocker = Some(LoadBlocker::new(&*document, LoadType::Subframe(url.clone()))); + if let Some(ref load_data) = load_data { + *load_blocker = Some(LoadBlocker::new(&*document, LoadType::Subframe(load_data.url.clone()))); } let window = window_from_node(self); @@ -127,7 +127,7 @@ impl HTMLIFrameElement { let ConstellationChan(ref chan) = *window.constellation_chan(); let load_info = IFrameLoadInfo { - url: url, + load_data: load_data, containing_pipeline_id: window.pipeline(), new_subpage_id: new_subpage_id, old_subpage_id: old_subpage_id, @@ -149,7 +149,8 @@ impl HTMLIFrameElement { None => Url::parse("about:blank").unwrap(), }; - self.navigate_or_reload_child_browsing_context(Some(url)); + // TODO - loaddata here should have referrer info (not None, None) + self.navigate_or_reload_child_browsing_context(Some(LoadData::new(url, None, None))); } #[allow(unsafe_code)] diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index d42709b487d..0e675b35b27 100644 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -22,7 +22,7 @@ use dom::event::{Event, EventBubbles, EventCancelable}; use dom::eventtarget::EventTarget; use dom::htmlelement::HTMLElement; use dom::htmlfieldsetelement::HTMLFieldSetElement; -use dom::htmlformelement::{FormControl, FormDatum, FormSubmitter, HTMLFormElement}; +use dom::htmlformelement::{FormDatumValue, FormControl, FormDatum, FormSubmitter, HTMLFormElement}; use dom::htmlformelement::{ResetFrom, SubmittedFrom}; use dom::keyboardevent::KeyboardEvent; use dom::node::{Node, NodeDamage, UnbindContext}; @@ -625,6 +625,7 @@ impl HTMLInputElement { atom!("radio") | atom!("checkbox") => if !self.Checked() || name.is_empty() { return None; }, + atom!("image") | atom!("file") => return None, // Unimplemented // Step 3.1: it's not the "Image Button" and doesn't have a name attribute. _ => if name.is_empty() { @@ -637,7 +638,7 @@ impl HTMLInputElement { Some(FormDatum { ty: DOMString::from(&*ty), // FIXME(ajeffrey): Convert directly from Atoms to DOMStrings name: name, - value: self.Value() + value: FormDatumValue::String(self.Value()) }) } diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs index 45161f5ee2d..cfce718bcbe 100644 --- a/components/script/dom/htmlselectelement.rs +++ b/components/script/dom/htmlselectelement.rs @@ -14,7 +14,7 @@ use dom::document::Document; use dom::element::{AttributeMutation, Element}; use dom::htmlelement::HTMLElement; use dom::htmlfieldsetelement::HTMLFieldSetElement; -use dom::htmlformelement::{FormControl, FormDatum, HTMLFormElement}; +use dom::htmlformelement::{FormDatumValue, FormControl, FormDatum, HTMLFormElement}; use dom::htmloptionelement::HTMLOptionElement; use dom::node::{Node, UnbindContext, window_from_node}; use dom::nodelist::NodeList; @@ -94,7 +94,7 @@ impl HTMLSelectElement { data_set.push(FormDatum { ty: self.Type(), name: self.Name(), - value: opt.Value() + value: FormDatumValue::String(opt.Value()) }); } } diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index f9111d7f7f1..3a77fb6fe6d 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -131,7 +131,7 @@ pub struct Node { bitflags! { #[doc = "Flags for node items."] #[derive(JSTraceable, HeapSizeOf)] - flags NodeFlags: u8 { + pub flags NodeFlags: u8 { #[doc = "Specifies whether this node is in a document."] const IS_IN_DOC = 0x01, #[doc = "Specifies whether this node _must_ be reflowed regardless of style differences."] diff --git a/components/script/lib.rs b/components/script/lib.rs index dde2063cfc3..05700431c3d 100644 --- a/components/script/lib.rs +++ b/components/script/lib.rs @@ -51,6 +51,8 @@ extern crate js; extern crate libc; #[macro_use] extern crate log; +#[macro_use] +extern crate mime; extern crate msg; extern crate net_traits; extern crate num_traits; diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 107902b88ee..4768273c16e 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -1812,7 +1812,7 @@ impl ScriptThread { doc.find_iframe(subpage_id) }); if let Some(iframe) = iframe.r() { - iframe.navigate_or_reload_child_browsing_context(Some(load_data.url)); + iframe.navigate_or_reload_child_browsing_context(Some(load_data)); } } None => { diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index 568c1aac0b6..2d4469ef80d 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -51,7 +51,6 @@ use net_traits::response::HttpsState; use net_traits::storage_thread::StorageThread; use profile_traits::mem; use std::any::Any; -use url::Url; use util::ipc::OptionalOpaqueIpcSender; pub use script_msg::{LayoutMsg, ScriptMsg}; @@ -405,8 +404,8 @@ pub enum IFrameSandboxState { /// Specifies the information required to load a URL in an iframe. #[derive(Deserialize, Serialize)] pub struct IFrameLoadInfo { - /// Url to load - pub url: Option<Url>, + /// Load data containing the url to load + pub load_data: Option<LoadData>, /// Pipeline ID of the parent of this iframe pub containing_pipeline_id: PipelineId, /// The new subpage ID for this load diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index 9b683c2dd5d..553f32d446e 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -3,7 +3,6 @@ name = "servo" version = "0.0.1" dependencies = [ "android_glue 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "browserhtml 0.1.4 (git+https://github.com/browserhtml/browserhtml?branch=gh-pages)", "canvas 0.0.1", "canvas_traits 0.0.1", @@ -139,11 +138,11 @@ dependencies = [ [[package]] name = "bincode" -version = "0.5.3" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -160,7 +159,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bitflags" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -223,7 +222,7 @@ name = "caseless" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -265,7 +264,7 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.14" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.26 (registry+https://github.com/rust-lang/crates.io-index)", @@ -451,7 +450,7 @@ dependencies = [ name = "devtools_traits" version = "0.0.1" dependencies = [ - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -566,7 +565,7 @@ name = "energymon-builder" version = "0.2.0" source = "git+https://github.com/energymon/energymon-sys.git#a0fb99b0312372958b110ae6378b5c89c2287172" dependencies = [ - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -601,7 +600,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -624,7 +623,7 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "make-cmd 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -638,7 +637,7 @@ dependencies = [ [[package]] name = "fnv" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -702,12 +701,12 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "azure 0.4.3 (git+https://github.com/servo/rust-azure)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gfx_traits 0.0.1", "harfbuzz-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -803,7 +802,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "glutin_app" version = "0.0.1" dependencies = [ - "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", @@ -835,7 +834,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -843,8 +842,8 @@ name = "hbs-builder" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cmake 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -996,7 +995,7 @@ name = "ipc-channel" version = "0.2.2" source = "git+https://github.com/servo/ipc-channel#e43fb22c431740a9bc54ce96caebd0e67d1a0586" dependencies = [ - "bincode 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1077,11 +1076,11 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "azure 0.4.3 (git+https://github.com/servo/rust-azure)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1098,7 +1097,7 @@ dependencies = [ "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "script_traits 0.0.1", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1185,7 +1184,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.26 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1281,7 +1280,7 @@ dependencies = [ name = "msg" version = "0.0.1" dependencies = [ - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1540,7 +1539,7 @@ dependencies = [ "gdi32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "libressl-pnacl-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1605,7 +1604,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "pkg-config" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1654,7 +1653,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1756,18 +1755,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "regex" -version = "0.1.55" +version = "0.1.69" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aho-corasick 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex-syntax" -version = "0.2.5" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1785,11 +1785,8 @@ dependencies = [ [[package]] name = "scoped_threadpool" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] [[package]] name = "script" @@ -1797,7 +1794,7 @@ version = "0.0.1" dependencies = [ "angle 0.1.0 (git+https://github.com/emilio/angle?branch=servo)", "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "canvas_traits 0.0.1", "caseless 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1805,7 +1802,7 @@ dependencies = [ "devtools_traits 0.0.1", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1816,6 +1813,7 @@ dependencies = [ "js 0.1.2 (git+https://github.com/servo/rust-mozjs)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1827,10 +1825,10 @@ dependencies = [ "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1884,12 +1882,12 @@ dependencies = [ [[package]] name = "selectors" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1958,7 +1956,7 @@ version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "expat-sys 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 2.4.11 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1967,7 +1965,7 @@ name = "servo-freetype-sys" version = "2.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2073,11 +2071,11 @@ name = "style" version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2086,7 +2084,7 @@ dependencies = [ "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2107,7 +2105,7 @@ dependencies = [ "msg 0.0.1", "plugins 0.0.1", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", "style 0.0.1", "style_traits 0.0.1", @@ -2127,7 +2125,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2178,6 +2176,23 @@ dependencies = [ ] [[package]] +name = "thread-id" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "threadpool" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2290,7 +2305,7 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "backtrace 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2396,7 +2411,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "hyper 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2411,7 +2426,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "plugins 0.0.1", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", @@ -2429,7 +2444,7 @@ dependencies = [ "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", @@ -2437,7 +2452,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "scoped_threadpool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "webrender_traits 0.1.0 (git+https://github.com/servo/webrender_traits)", ] @@ -2499,7 +2514,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml index d9ca96a4aa3..109d4e6d733 100644 --- a/components/servo/Cargo.toml +++ b/components/servo/Cargo.toml @@ -69,7 +69,6 @@ ipc-channel = {git = "https://github.com/servo/ipc-channel"} layers = {git = "https://github.com/servo/rust-layers", features = ["plugins"]} gleam = "0.2" browserhtml = {git = "https://github.com/browserhtml/browserhtml", branch = "gh-pages"} -bitflags = "0.3" env_logger = "0.3" euclid = {version = "0.6.4", features = ["plugins"]} libc = "0.2" diff --git a/components/style/Cargo.toml b/components/style/Cargo.toml index 6f4d60c5d37..060a92682eb 100644 --- a/components/style/Cargo.toml +++ b/components/style/Cargo.toml @@ -18,7 +18,7 @@ plugins = {path = "../plugins"} util = {path = "../util"} style_traits = {path = "../style_traits"} app_units = {version = "0.2.3", features = ["plugins"]} -bitflags = "0.3" +bitflags = "0.6.0" cssparser = {version = "0.5.5", features = ["heap_size", "serde-serialization"]} encoding = "0.2" euclid = {version = "0.6.4", features = ["plugins"]} diff --git a/components/style/element_state.rs b/components/style/element_state.rs index 26a2198f3f1..f347f7d2164 100644 --- a/components/style/element_state.rs +++ b/components/style/element_state.rs @@ -5,7 +5,7 @@ bitflags! { #[doc = "Event-based element states."] #[derive(HeapSizeOf)] - flags ElementState: u8 { + pub flags ElementState: u8 { #[doc = "The mouse is down on this element. \ https://html.spec.whatwg.org/multipage/#selector-active \ FIXME(#7333): set/unset this when appropriate"] diff --git a/components/style/logical_geometry.rs b/components/style/logical_geometry.rs index 3f3bf1e4509..b6afaf6f540 100644 --- a/components/style/logical_geometry.rs +++ b/components/style/logical_geometry.rs @@ -23,7 +23,7 @@ pub enum InlineBaseDirection { bitflags!( #[derive(HeapSizeOf, RustcEncodable)] - flags WritingMode: u8 { + pub flags WritingMode: u8 { const FLAG_RTL = 1 << 0, const FLAG_VERTICAL = 1 << 1, const FLAG_VERTICAL_LR = 1 << 2, diff --git a/components/style/restyle_hints.rs b/components/style/restyle_hints.rs index e116594b02f..72a09ba4029 100644 --- a/components/style/restyle_hints.rs +++ b/components/style/restyle_hints.rs @@ -20,7 +20,7 @@ use string_cache::{Atom, Namespace}; /// short-circuit work we know is unnecessary. bitflags! { - flags RestyleHint: u8 { + pub flags RestyleHint: u8 { #[doc = "Rerun selector matching on the element."] const RESTYLE_SELF = 0x01, #[doc = "Rerun selector matching on all of the element's descendants."] diff --git a/components/util/Cargo.toml b/components/util/Cargo.toml index 10f392e552d..4b9596c3860 100644 --- a/components/util/Cargo.toml +++ b/components/util/Cargo.toml @@ -23,7 +23,7 @@ js = {git = "https://github.com/servo/rust-mozjs", optional = true} ipc-channel = {git = "https://github.com/servo/ipc-channel"} app_units = {version = "0.2.3", features = ["plugins"]} backtrace = "0.2.1" -bitflags = "0.3" +bitflags = "0.6.0" deque = "0.3.1" euclid = {version = "0.6.4", features = ["unstable", "plugins"]} getopts = "0.2.11" diff --git a/components/util/thread_state.rs b/components/util/thread_state.rs index 5435e707986..25e77ecbb45 100644 --- a/components/util/thread_state.rs +++ b/components/util/thread_state.rs @@ -11,7 +11,7 @@ pub use self::imp::{enter, exit, get, initialize}; bitflags! { - flags ThreadState: u32 { + pub flags ThreadState: u32 { const SCRIPT = 0x01, const LAYOUT = 0x02, const PAINT = 0x04, diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index c8ef0e45e88..b724e54e5b6 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -124,11 +124,11 @@ dependencies = [ [[package]] name = "bincode" -version = "0.5.3" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -145,7 +145,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bitflags" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -208,7 +208,7 @@ name = "caseless" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -250,7 +250,7 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.14" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.26 (registry+https://github.com/rust-lang/crates.io-index)", @@ -421,7 +421,7 @@ dependencies = [ name = "devtools_traits" version = "0.0.1" dependencies = [ - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -530,7 +530,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -553,7 +553,7 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "make-cmd 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -567,7 +567,7 @@ dependencies = [ [[package]] name = "fnv" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -631,12 +631,12 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "azure 0.4.3 (git+https://github.com/servo/rust-azure)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gfx_traits 0.0.1", "harfbuzz-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -723,7 +723,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "glutin_app" version = "0.0.1" dependencies = [ - "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", @@ -755,7 +755,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -763,8 +763,8 @@ name = "hbs-builder" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cmake 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -916,7 +916,7 @@ name = "ipc-channel" version = "0.2.2" source = "git+https://github.com/servo/ipc-channel#e43fb22c431740a9bc54ce96caebd0e67d1a0586" dependencies = [ - "bincode 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -997,11 +997,11 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "azure 0.4.3 (git+https://github.com/servo/rust-azure)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1018,7 +1018,7 @@ dependencies = [ "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "script_traits 0.0.1", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1098,7 +1098,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.26 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1194,7 +1194,7 @@ dependencies = [ name = "msg" version = "0.0.1" dependencies = [ - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1427,7 +1427,7 @@ dependencies = [ "gdi32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "libressl-pnacl-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1492,7 +1492,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "pkg-config" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1532,7 +1532,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1624,18 +1624,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "regex" -version = "0.1.55" +version = "0.1.69" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aho-corasick 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex-syntax" -version = "0.2.5" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1653,11 +1654,8 @@ dependencies = [ [[package]] name = "scoped_threadpool" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] [[package]] name = "script" @@ -1665,7 +1663,7 @@ version = "0.0.1" dependencies = [ "angle 0.1.0 (git+https://github.com/emilio/angle?branch=servo)", "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "canvas_traits 0.0.1", "caseless 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1673,7 +1671,7 @@ dependencies = [ "devtools_traits 0.0.1", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1684,6 +1682,7 @@ dependencies = [ "js 0.1.2 (git+https://github.com/servo/rust-mozjs)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1695,10 +1694,10 @@ dependencies = [ "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1741,12 +1740,12 @@ dependencies = [ [[package]] name = "selectors" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1796,7 +1795,6 @@ dependencies = [ name = "servo" version = "0.0.1" dependencies = [ - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "browserhtml 0.1.4 (git+https://github.com/browserhtml/browserhtml?branch=gh-pages)", "canvas 0.0.1", "canvas_traits 0.0.1", @@ -1852,7 +1850,7 @@ version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "expat-sys 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 2.4.11 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1861,7 +1859,7 @@ name = "servo-freetype-sys" version = "2.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1967,11 +1965,11 @@ name = "style" version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1980,7 +1978,7 @@ dependencies = [ "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2003,7 +2001,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2054,6 +2052,23 @@ dependencies = [ ] [[package]] +name = "thread-id" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "threadpool" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2166,7 +2181,7 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "backtrace 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2261,7 +2276,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "hyper 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2276,7 +2291,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "plugins 0.0.1", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", @@ -2294,7 +2309,7 @@ dependencies = [ "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", @@ -2302,7 +2317,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "scoped_threadpool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "webrender_traits 0.1.0 (git+https://github.com/servo/webrender_traits)", ] @@ -2364,7 +2379,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] diff --git a/ports/geckolib/Cargo.lock b/ports/geckolib/Cargo.lock index bdb596ceafa..39728767eab 100644 --- a/ports/geckolib/Cargo.lock +++ b/ports/geckolib/Cargo.lock @@ -3,7 +3,6 @@ name = "geckoservo" version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -13,7 +12,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", "style 0.0.1", @@ -62,28 +61,18 @@ dependencies = [ [[package]] name = "bincode" -version = "0.5.3" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "bitflags" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bitflags" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "bitflags" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -207,7 +196,7 @@ dependencies = [ [[package]] name = "fnv" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -243,7 +232,7 @@ name = "ipc-channel" version = "0.2.2" source = "git+https://github.com/servo/ipc-channel#e43fb22c431740a9bc54ce96caebd0e67d1a0586" dependencies = [ - "bincode 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -424,12 +413,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "selectors" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -485,11 +474,11 @@ name = "style" version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -498,7 +487,7 @@ dependencies = [ "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -521,7 +510,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -583,7 +572,7 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "backtrace 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/ports/geckolib/Cargo.toml b/ports/geckolib/Cargo.toml index 68dab0cc252..1984b181ec6 100644 --- a/ports/geckolib/Cargo.toml +++ b/ports/geckolib/Cargo.toml @@ -12,7 +12,6 @@ crate-type = ["staticlib"] [dependencies] app_units = {version = "0.2.3", features = ["plugins"]} -bitflags = "0.4" cssparser = {version = "0.5.4", features = ["heap_size", "serde-serialization"]} euclid = {version = "0.6.4", features = ["plugins"]} heapsize = "0.3.0" diff --git a/ports/geckolib/lib.rs b/ports/geckolib/lib.rs index 5a2a468d319..9d7ebdf3251 100644 --- a/ports/geckolib/lib.rs +++ b/ports/geckolib/lib.rs @@ -14,8 +14,6 @@ extern crate app_units; #[macro_use] -extern crate bitflags; -#[macro_use] extern crate cssparser; extern crate euclid; extern crate heapsize; diff --git a/ports/glutin/Cargo.toml b/ports/glutin/Cargo.toml index cba640ac274..5998f23999c 100644 --- a/ports/glutin/Cargo.toml +++ b/ports/glutin/Cargo.toml @@ -8,7 +8,7 @@ name = "glutin_app" path = "lib.rs" [dependencies] -bitflags = "0.4" +bitflags = "0.6.0" url = {version = "1.0.0", features = ["heap_size"]} gleam = "0.2.8" euclid = {version = "0.6.4", features = ["plugins"]} diff --git a/ports/gonk/Cargo.lock b/ports/gonk/Cargo.lock index 2c953c70829..ccbf31025ca 100644 --- a/ports/gonk/Cargo.lock +++ b/ports/gonk/Cargo.lock @@ -117,11 +117,11 @@ dependencies = [ [[package]] name = "bincode" -version = "0.5.3" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -138,7 +138,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "bitflags" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -201,7 +201,7 @@ name = "caseless" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -243,7 +243,7 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.14" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.26 (registry+https://github.com/rust-lang/crates.io-index)", @@ -414,7 +414,7 @@ dependencies = [ name = "devtools_traits" version = "0.0.1" dependencies = [ - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -523,7 +523,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -556,7 +556,7 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "make-cmd 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -570,7 +570,7 @@ dependencies = [ [[package]] name = "fnv" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -634,12 +634,12 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "azure 0.4.3 (git+https://github.com/servo/rust-azure)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gfx_traits 0.0.1", "harfbuzz-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -738,7 +738,7 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -746,8 +746,8 @@ name = "hbs-builder" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cmake 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -899,7 +899,7 @@ name = "ipc-channel" version = "0.2.2" source = "git+https://github.com/servo/ipc-channel#e43fb22c431740a9bc54ce96caebd0e67d1a0586" dependencies = [ - "bincode 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bincode 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -980,11 +980,11 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "azure 0.4.3 (git+https://github.com/servo/rust-azure)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "canvas_traits 0.0.1", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "gfx 0.0.1", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1001,7 +1001,7 @@ dependencies = [ "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "script_traits 0.0.1", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1081,7 +1081,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gcc 0.3.26 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1177,7 +1177,7 @@ dependencies = [ name = "msg" version = "0.0.1" dependencies = [ - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1410,7 +1410,7 @@ dependencies = [ "gdi32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "libressl-pnacl-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1475,7 +1475,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "pkg-config" -version = "0.3.5" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1515,7 +1515,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1607,18 +1607,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "regex" -version = "0.1.55" +version = "0.1.69" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aho-corasick 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex-syntax" -version = "0.2.5" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1636,11 +1637,8 @@ dependencies = [ [[package]] name = "scoped_threadpool" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "rustc_version 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", -] [[package]] name = "script" @@ -1648,7 +1646,7 @@ version = "0.0.1" dependencies = [ "angle 0.1.0 (git+https://github.com/emilio/angle?branch=servo)", "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "canvas_traits 0.0.1", "caseless 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1656,7 +1654,7 @@ dependencies = [ "devtools_traits 0.0.1", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1667,6 +1665,7 @@ dependencies = [ "js 0.1.2 (git+https://github.com/servo/rust-mozjs)", "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1678,10 +1677,10 @@ dependencies = [ "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.55 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.69 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1724,12 +1723,12 @@ dependencies = [ [[package]] name = "selectors" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1779,7 +1778,6 @@ dependencies = [ name = "servo" version = "0.0.1" dependencies = [ - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", "browserhtml 0.1.4 (git+https://github.com/browserhtml/browserhtml?branch=gh-pages)", "canvas 0.0.1", "canvas_traits 0.0.1", @@ -1833,7 +1831,7 @@ version = "2.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "expat-sys 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 2.4.11 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1842,7 +1840,7 @@ name = "servo-freetype-sys" version = "2.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1948,11 +1946,11 @@ name = "style" version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", "encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1961,7 +1959,7 @@ dependencies = [ "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1984,7 +1982,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "selectors 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)", + "selectors 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2035,6 +2033,23 @@ dependencies = [ ] [[package]] +name = "thread-id" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "thread_local" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "threadpool" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2147,7 +2162,7 @@ version = "0.0.1" dependencies = [ "app_units 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "backtrace 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", "getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2245,7 +2260,7 @@ dependencies = [ "core-graphics 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-text 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)", - "fnv 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", + "fnv 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gleam 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.2.2 (git+https://github.com/servo/ipc-channel)", @@ -2253,7 +2268,7 @@ dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", - "scoped_threadpool 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)", "webrender_traits 0.1.0 (git+https://github.com/servo/webrender_traits)", ] @@ -2315,7 +2330,7 @@ version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] diff --git a/tests/unit/script/dom/bindings.rs b/tests/unit/script/dom/bindings.rs index e6742107136..7dfb308e1ed 100644 --- a/tests/unit/script/dom/bindings.rs +++ b/tests/unit/script/dom/bindings.rs @@ -10,8 +10,8 @@ fn test_byte_string_move() { let mut byte_vec = byte_str.bytes(); assert_eq!(byte_vec, "servo".as_bytes()); - assert_eq!(*byte_str, []); + assert_eq!(&*byte_str, &*Vec::<u8>::new()); byte_vec = byte_str.into(); - assert_eq!(byte_vec, Vec::new()); + assert_eq!(byte_vec, Vec::<u8>::new()); } diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 4fbeada837c..35840679f11 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -35264,6 +35264,12 @@ "path": "html/dom/documents/dom-tree-accessors/Document.body.html", "url": "/html/dom/documents/dom-tree-accessors/Document.body.html" } + ], + "html/semantics/forms/form-submission-0/submit-entity-body.html": [ + { + "path": "html/semantics/forms/form-submission-0/submit-entity-body.html", + "url": "/html/semantics/forms/form-submission-0/submit-entity-body.html" + } ] } }, diff --git a/tests/wpt/web-platform-tests/common/form-submission.py b/tests/wpt/web-platform-tests/common/form-submission.py new file mode 100644 index 00000000000..eb9c654444b --- /dev/null +++ b/tests/wpt/web-platform-tests/common/form-submission.py @@ -0,0 +1,12 @@ +def main(request, response): + if request.headers.get('Content-Type') == 'application/x-www-form-urlencoded': + if request.body == 'foo=bara': + return 'OK' + else: + return 'FAIL' + else: + if request.POST.first('foo') == 'bar': + return 'OK' + else: + return 'FAIL' + diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body.html b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body.html new file mode 100644 index 00000000000..a94244c7e67 --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/forms/form-submission-0/submit-entity-body.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +var simple_tests = [ + { + name: "form submission should navigate to url with x-www-form-urlencoded", + input: "<input name=foo value=bara>", + enctype: "application/x-www-form-urlencoded" + }, + { + name: "form submission should navigate to url with multipart/form-data", + input: "<textarea name=foo>bar</textarea>", + enctype: "multipart/form-data" + }, +]; +simple_tests.forEach(function(test_obj) { + test_obj.test = async_test(test_obj.name); +}); +function run_simple_test() { + if (simple_tests.length == 0) { + return; + } + var test_obj = simple_tests.pop(); + var t = test_obj.test; + var testframe = document.getElementById("testframe"); + var testdocument = testframe.contentWindow.document; + testdocument.body.innerHTML = + "<form id=testform method=post action=\"form-submission.py\" enctype=\"" + test_obj.enctype + "\">" + + test_obj.input + + "</form>"; + testframe.onload = function() { + t.step(function (){ + var response = testframe.contentDocument.documentElement.textContent; + assert_equals(response, "OK"); + }); + t.done(); + run_simple_test(); + }; + testdocument.getElementById("testform").submit(); +} +</script> +<iframe id=testframe src="/common/blank.html" onload="run_simple_test();"></iframe> |