diff options
140 files changed, 1419 insertions, 1221 deletions
diff --git a/cargo-nightly-build b/cargo-nightly-build index c267da5f4cc..d9ca78f0ecd 100644 --- a/cargo-nightly-build +++ b/cargo-nightly-build @@ -1 +1 @@ -2015-02-07 +2015-03-11 diff --git a/components/canvas/lib.rs b/components/canvas/lib.rs index fb06eccc9f3..42fa6733998 100644 --- a/components/canvas/lib.rs +++ b/components/canvas/lib.rs @@ -5,8 +5,6 @@ #![feature(core)] #![feature(collections)] -#![allow(missing_copy_implementations)] - extern crate azure; extern crate cssparser; extern crate geom; diff --git a/components/compositing/compositor.rs b/components/compositing/compositor.rs index 23bfe1fb536..ba8dfc3bb2c 100644 --- a/components/compositing/compositor.rs +++ b/components/compositing/compositor.rs @@ -208,8 +208,8 @@ impl<Window: WindowMethods> IOCompositor<Window> { composition_request: CompositionRequest::NoCompositingNecessary, pending_scroll_events: Vec::new(), shutdown_state: ShutdownState::NotShuttingDown, - page_zoom: ScaleFactor(1.0), - viewport_zoom: ScaleFactor(1.0), + page_zoom: ScaleFactor::new(1.0), + viewport_zoom: ScaleFactor::new(1.0), zoom_action: false, zoom_time: 0f64, got_load_complete_message: false, @@ -893,7 +893,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { match opts::get().device_pixels_per_px { Some(device_pixels_per_px) => device_pixels_per_px, None => match opts::get().output_file { - Some(_) => ScaleFactor(1.0), + Some(_) => ScaleFactor::new(1.0), None => self.hidpi_factor } } @@ -905,7 +905,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { fn update_zoom_transform(&mut self) { let scale = self.device_pixels_per_page_px(); - self.scene.scale = ScaleFactor(scale.get()); + self.scene.scale = ScaleFactor::new(scale.get()); // We need to set the size of the root layer again, since the window size // has changed in unscaled layer pixels. @@ -913,7 +913,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { } fn on_zoom_window_event(&mut self, magnification: f32) { - self.page_zoom = ScaleFactor((self.page_zoom.get() * magnification).max(1.0)); + self.page_zoom = ScaleFactor::new((self.page_zoom.get() * magnification).max(1.0)); self.update_zoom_transform(); self.send_window_size(); } @@ -924,7 +924,7 @@ impl<Window: WindowMethods> IOCompositor<Window> { self.zoom_time = precise_time_s(); let old_viewport_zoom = self.viewport_zoom; - self.viewport_zoom = ScaleFactor((self.viewport_zoom.get() * magnification).max(1.0)); + self.viewport_zoom = ScaleFactor::new((self.viewport_zoom.get() * magnification).max(1.0)); let viewport_zoom = self.viewport_zoom; self.update_zoom_transform(); diff --git a/components/compositing/compositor_layer.rs b/components/compositing/compositor_layer.rs index 2f5a9059423..33cec1761c5 100644 --- a/components/compositing/compositor_layer.rs +++ b/components/compositing/compositor_layer.rs @@ -307,8 +307,8 @@ impl CompositorLayer for Layer<CompositorData> { let min_x = (layer_size.width - content_size.width).get().min(0.0); let min_y = (layer_size.height - content_size.height).get().min(0.0); let new_offset : TypedPoint2D<LayerPixel, f32> = - Point2D(Length(new_offset.x.get().clamp(&min_x, &0.0)), - Length(new_offset.y.get().clamp(&min_y, &0.0))); + Point2D(Length::new(new_offset.x.get().clamp(&min_x, &0.0)), + Length::new(new_offset.y.get().clamp(&min_y, &0.0))); if self.extra_data.borrow().scroll_offset == new_offset { return ScrollEventResult::ScrollPositionUnchanged; diff --git a/components/compositing/constellation.rs b/components/compositing/constellation.rs index 58057c94eb1..f5171e817cf 100644 --- a/components/compositing/constellation.rs +++ b/components/compositing/constellation.rs @@ -34,6 +34,7 @@ use util::time::TimeProfilerChan; use std::borrow::ToOwned; use std::collections::{HashMap}; use std::old_io as io; +use std::marker::PhantomData; use std::mem::replace; use std::sync::mpsc::{Receiver, channel}; use url::Url; @@ -95,6 +96,8 @@ pub struct Constellation<LTF, STF> { /// A channel through which messages can be sent to the memory profiler. pub memory_profiler_chan: MemoryProfilerChan, + phantom: PhantomData<(LTF, STF)>, + pub window_size: WindowSizeData, } @@ -201,10 +204,11 @@ impl<LTF: LayoutTaskFactory, STF: ScriptTaskFactory> Constellation<LTF, STF> { time_profiler_chan: time_profiler_chan, memory_profiler_chan: memory_profiler_chan, window_size: WindowSizeData { - visible_viewport: opts::get().initial_window_size.as_f32() * ScaleFactor(1.0), - initial_viewport: opts::get().initial_window_size.as_f32() * ScaleFactor(1.0), - device_pixel_ratio: ScaleFactor(1.0), + visible_viewport: opts::get().initial_window_size.as_f32() * ScaleFactor::new(1.0), + initial_viewport: opts::get().initial_window_size.as_f32() * ScaleFactor::new(1.0), + device_pixel_ratio: ScaleFactor::new(1.0), }, + phantom: PhantomData, }; constellation.run(); }); @@ -227,7 +231,7 @@ impl<LTF: LayoutTaskFactory, STF: ScriptTaskFactory> Constellation<LTF, STF> { self.pipeline(pipeline_id).rect.map(|rect| { WindowSizeData { visible_viewport: rect.size, - initial_viewport: rect.size * ScaleFactor(1.0), + initial_viewport: rect.size * ScaleFactor::new(1.0), device_pixel_ratio: self.window_size.device_pixel_ratio, } }) @@ -448,7 +452,7 @@ impl<LTF: LayoutTaskFactory, STF: ScriptTaskFactory> Constellation<LTF, STF> { let ScriptControlChan(ref script_chan) = script_chan; script_chan.send(ConstellationControlMsg::Resize(pipeline_id, WindowSizeData { visible_viewport: rect.size, - initial_viewport: rect.size * ScaleFactor(1.0), + initial_viewport: rect.size * ScaleFactor::new(1.0), device_pixel_ratio: self.window_size.device_pixel_ratio, })).unwrap(); diff --git a/components/compositing/headless.rs b/components/compositing/headless.rs index d25fc4f59e1..18cf76961a7 100644 --- a/components/compositing/headless.rs +++ b/components/compositing/headless.rs @@ -59,7 +59,7 @@ impl NullCompositor { chan.send(ConstellationMsg::ResizedWindow(WindowSizeData { initial_viewport: TypedSize2D(640_f32, 480_f32), visible_viewport: TypedSize2D(640_f32, 480_f32), - device_pixel_ratio: ScaleFactor(1.0), + device_pixel_ratio: ScaleFactor::new(1.0), })).unwrap(); } diff --git a/components/devtools/Cargo.toml b/components/devtools/Cargo.toml index a97c9f1c4a9..6503aa125cb 100644 --- a/components/devtools/Cargo.toml +++ b/components/devtools/Cargo.toml @@ -18,4 +18,4 @@ path = "../util" [dependencies] time = "*" -rustc-serialize = "0.2" +rustc-serialize = "0.3" diff --git a/components/devtools/lib.rs b/components/devtools/lib.rs index 1b31e5e7166..78f4cd951fe 100644 --- a/components/devtools/lib.rs +++ b/components/devtools/lib.rs @@ -14,7 +14,6 @@ #![feature(collections, std_misc)] #![allow(non_snake_case)] -#![allow(missing_copy_implementations)] #[macro_use] extern crate log; diff --git a/components/devtools_traits/Cargo.toml b/components/devtools_traits/Cargo.toml index e263f2fa299..465f751e852 100644 --- a/components/devtools_traits/Cargo.toml +++ b/components/devtools_traits/Cargo.toml @@ -15,4 +15,4 @@ path = "../util" [dependencies] url = "0.2.16" -rustc-serialize = "0.2" +rustc-serialize = "0.3" diff --git a/components/devtools_traits/lib.rs b/components/devtools_traits/lib.rs index bb83117740e..9ea3772b665 100644 --- a/components/devtools_traits/lib.rs +++ b/components/devtools_traits/lib.rs @@ -12,7 +12,6 @@ #![feature(int_uint)] #![allow(non_snake_case)] -#![allow(missing_copy_implementations)] extern crate msg; extern crate "rustc-serialize" as rustc_serialize; diff --git a/components/gfx/Cargo.toml b/components/gfx/Cargo.toml index 359bc97e841..ee9d4990da9 100644 --- a/components/gfx/Cargo.toml +++ b/components/gfx/Cargo.toml @@ -67,5 +67,5 @@ path = "../script_traits" url = "0.2.16" time = "0.1.12" bitflags = "*" -rustc-serialize = "0.2" +rustc-serialize = "0.3" libc = "*" diff --git a/components/gfx/buffer_map.rs b/components/gfx/buffer_map.rs index c33617a7c9e..c16ae23eb13 100644 --- a/components/gfx/buffer_map.rs +++ b/components/gfx/buffer_map.rs @@ -7,7 +7,7 @@ use std::collections::hash_map::Entry::{Occupied, Vacant}; use geom::size::Size2D; use layers::platform::surface::NativePaintingGraphicsContext; use layers::layers::LayerBuffer; -use std::hash::{Hash, Hasher, Writer}; +use std::hash::{Hash, Hasher}; use std::mem; /// This is a struct used to store buffers when they are not in use. @@ -29,8 +29,8 @@ pub struct BufferMap { #[derive(Eq, Copy)] struct BufferKey([uint; 2]); -impl<H: Hasher+Writer> Hash<H> for BufferKey { - fn hash(&self, state: &mut H) { +impl Hash for BufferKey { + fn hash<H: Hasher>(&self, state: &mut H) { let BufferKey(ref bytes) = *self; bytes.as_slice().hash(state); } diff --git a/components/gfx/lib.rs b/components/gfx/lib.rs index 808f2027213..3fe671fc888 100644 --- a/components/gfx/lib.rs +++ b/components/gfx/lib.rs @@ -16,7 +16,7 @@ #![feature(unicode)] #![feature(unsafe_destructor)] -#![allow(missing_copy_implementations)] +#![plugin(plugins)] #[macro_use] extern crate log; @@ -32,8 +32,6 @@ extern crate png; extern crate script_traits; extern crate "rustc-serialize" as rustc_serialize; extern crate unicode; -#[no_link] #[plugin] -extern crate "plugins" as servo_plugins; extern crate net; #[macro_use] extern crate util; diff --git a/components/gfx/paint_context.rs b/components/gfx/paint_context.rs index 442e13f7333..88c031a165f 100644 --- a/components/gfx/paint_context.rs +++ b/components/gfx/paint_context.rs @@ -850,9 +850,11 @@ impl<'a> PaintContext<'a> { // Draw the text. let temporary_draw_target = self.create_draw_target_for_blur_if_necessary(&text.base.bounds, text.blur_radius); - self.font_context - .get_paint_font_from_template(&text.text_run.font_template, - text.text_run.actual_pt_size) + { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let font = self.font_context.get_paint_font_from_template( + &text.text_run.font_template, text.text_run.actual_pt_size); + font .borrow() .draw_text(&temporary_draw_target.draw_target, &*text.text_run, @@ -860,6 +862,7 @@ impl<'a> PaintContext<'a> { baseline_origin, text.text_color, opts::get().enable_text_antialiasing); + } // Blur, if necessary. self.blur_if_necessary(temporary_draw_target, text.blur_radius); diff --git a/components/gfx/paint_task.rs b/components/gfx/paint_task.rs index 731842d3f89..b21e861a8f8 100644 --- a/components/gfx/paint_task.rs +++ b/components/gfx/paint_task.rs @@ -134,7 +134,7 @@ macro_rules! native_graphics_context( ) ); -impl<C> PaintTask<C> where C: PaintListener + Send { +impl<C> PaintTask<C> where C: PaintListener + Send + 'static { pub fn create(id: PipelineId, port: Receiver<Msg>, compositor: C, diff --git a/components/layout/Cargo.toml b/components/layout/Cargo.toml index 5447ff64047..733985cefde 100644 --- a/components/layout/Cargo.toml +++ b/components/layout/Cargo.toml @@ -52,7 +52,7 @@ git = "https://github.com/servo/rust-geom" [dependencies.string_cache] git = "https://github.com/servo/string-cache" -[dependencies.string_cache_macros] +[dependencies.string_cache_plugin] git = "https://github.com/servo/string-cache" [dependencies.png] @@ -62,5 +62,5 @@ git = "https://github.com/servo/rust-png" encoding = "0.2" url = "0.2.16" bitflags = "*" -rustc-serialize = "0.2" +rustc-serialize = "0.3" libc = "*" diff --git a/components/layout/block.rs b/components/layout/block.rs index 9c8ae1a19d6..1f6b64a97d2 100644 --- a/components/layout/block.rs +++ b/components/layout/block.rs @@ -1823,7 +1823,7 @@ impl Flow for BlockFlow { self.base .absolute_position_info .relative_containing_block_mode, - CoordinateSystem::Self); + CoordinateSystem::Own); let clip = self.fragment.clipping_region_for_children(&clip_in_child_coordinate_system, &stacking_relative_border_box); diff --git a/components/layout/construct.rs b/components/layout/construct.rs index bcc218702d2..a30f3aee701 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -52,7 +52,7 @@ use script::dom::htmlobjectelement::is_image_data; use script::dom::node::NodeTypeId; use util::opts; use std::borrow::ToOwned; -use std::collections::DList; +use std::collections::LinkedList; use std::mem; use std::sync::atomic::Ordering; use style::computed_values::content::ContentItem; @@ -114,10 +114,10 @@ pub enum ConstructionItem { #[derive(Clone)] pub struct InlineFragmentsConstructionResult { /// Any {ib} splits that we're bubbling up. - pub splits: DList<InlineBlockSplit>, + pub splits: LinkedList<InlineBlockSplit>, /// Any fragments that succeed the {ib} splits. - pub fragments: DList<Fragment>, + pub fragments: LinkedList<Fragment>, /// Any absolute descendants that we're bubbling up. pub abs_descendants: AbsDescendants, @@ -152,7 +152,7 @@ pub struct InlineFragmentsConstructionResult { #[derive(Clone)] pub struct InlineBlockSplit { /// The inline fragments that precede the flow. - pub predecessors: DList<Fragment>, + pub predecessors: LinkedList<Fragment>, /// The flow that caused this {ib} split. pub flow: FlowRef, @@ -161,7 +161,7 @@ pub struct InlineBlockSplit { /// Holds inline fragments that we're gathering for children of an inline node. struct InlineFragmentsAccumulator { /// The list of fragments. - fragments: DList<Fragment>, + fragments: LinkedList<Fragment>, /// Whether we've created a range to enclose all the fragments. This will be Some() if the /// outer node is an inline and None otherwise. @@ -171,20 +171,20 @@ struct InlineFragmentsAccumulator { impl InlineFragmentsAccumulator { fn new() -> InlineFragmentsAccumulator { InlineFragmentsAccumulator { - fragments: DList::new(), + fragments: LinkedList::new(), enclosing_style: None, } } fn from_inline_node(node: &ThreadSafeLayoutNode) -> InlineFragmentsAccumulator { - let fragments = DList::new(); + let fragments = LinkedList::new(); InlineFragmentsAccumulator { fragments: fragments, enclosing_style: Some(node.style().clone()), } } - fn push_all(&mut self, mut fragments: DList<Fragment>) { + fn push_all(&mut self, mut fragments: LinkedList<Fragment>) { if fragments.len() == 0 { return } @@ -192,7 +192,7 @@ impl InlineFragmentsAccumulator { self.fragments.append(&mut fragments) } - fn to_dlist(self) -> DList<Fragment> { + fn to_dlist(self) -> LinkedList<Fragment> { let InlineFragmentsAccumulator { mut fragments, enclosing_style @@ -507,7 +507,7 @@ impl<'a> FlowConstructor<'a> { fn build_flow_for_block_starting_with_fragments(&mut self, mut flow: FlowRef, node: &ThreadSafeLayoutNode, - mut initial_fragments: DList<Fragment>) + mut initial_fragments: LinkedList<Fragment>) -> ConstructionResult { // Gather up fragments for the inline flows we might need to create. let mut inline_fragment_accumulator = InlineFragmentsAccumulator::new(); @@ -577,7 +577,7 @@ impl<'a> FlowConstructor<'a> { /// `<textarea>`. fn build_flow_for_block(&mut self, flow: FlowRef, node: &ThreadSafeLayoutNode) -> ConstructionResult { - let mut initial_fragments = DList::new(); + let mut initial_fragments = LinkedList::new(); if node.get_pseudo_element_type() != PseudoElementType::Normal || node.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement( HTMLElementTypeId::HTMLInputElement))) || @@ -600,7 +600,7 @@ impl<'a> FlowConstructor<'a> { /// Pushes fragments appropriate for the content of the given node onto the given list. fn create_fragments_for_node_text_content(&self, - fragments: &mut DList<Fragment>, + fragments: &mut LinkedList<Fragment>, node: &ThreadSafeLayoutNode, style: &Arc<ComputedValues>) { for content_item in node.text_content().into_iter() { @@ -650,7 +650,7 @@ impl<'a> FlowConstructor<'a> { /// whitespace. fn build_fragments_for_nonreplaced_inline_content(&mut self, node: &ThreadSafeLayoutNode) -> ConstructionResult { - let mut opt_inline_block_splits: DList<InlineBlockSplit> = DList::new(); + let mut opt_inline_block_splits: LinkedList<InlineBlockSplit> = LinkedList::new(); let mut fragment_accumulator = InlineFragmentsAccumulator::from_inline_node(node); let mut abs_descendants = Descendants::new(); @@ -769,7 +769,7 @@ impl<'a> FlowConstructor<'a> { // If this is generated content, then we need to initialize the accumulator with the // fragment corresponding to that content. Otherwise, just initialize with the ordinary // fragment that needs to be generated for this inline node. - let mut fragments = DList::new(); + let mut fragments = LinkedList::new(); match (node.get_pseudo_element_type(), node.type_id()) { (_, Some(NodeTypeId::Text)) => { self.create_fragments_for_node_text_content(&mut fragments, node, &style) @@ -782,7 +782,7 @@ impl<'a> FlowConstructor<'a> { let construction_item = ConstructionItem::InlineFragments(InlineFragmentsConstructionResult { - splits: DList::new(), + splits: LinkedList::new(), fragments: fragments, abs_descendants: Descendants::new(), }); @@ -806,7 +806,7 @@ impl<'a> FlowConstructor<'a> { let construction_item = ConstructionItem::InlineFragments(InlineFragmentsConstructionResult { - splits: DList::new(), + splits: LinkedList::new(), fragments: fragment_accumulator.to_dlist(), abs_descendants: abs_descendants, }); @@ -832,7 +832,7 @@ impl<'a> FlowConstructor<'a> { let construction_item = ConstructionItem::InlineFragments(InlineFragmentsConstructionResult { - splits: DList::new(), + splits: LinkedList::new(), fragments: fragment_accumulator.to_dlist(), abs_descendants: abs_descendants, }); @@ -1042,7 +1042,7 @@ impl<'a> FlowConstructor<'a> { ListStyleTypeContent::None => None, ListStyleTypeContent::StaticText(ch) => { let text = format!("{}\u{a0}", ch); - let mut unscanned_marker_fragments = DList::new(); + let mut unscanned_marker_fragments = LinkedList::new(); unscanned_marker_fragments.push_back(Fragment::new( node, SpecificFragmentInfo::UnscannedText( @@ -1065,7 +1065,7 @@ impl<'a> FlowConstructor<'a> { // we adopt Gecko's behavior rather than WebKit's when the marker causes an {ib} split, // which has caused some malaise (Bugzilla #36854) but CSS 2.1 § 12.5.1 lets me do it, so // there. - let mut initial_fragments = DList::new(); + let mut initial_fragments = LinkedList::new(); let main_fragment = self.build_fragment_for_block(node); let flow = match node.style().get_list().list_style_position { list_style_position::T::outside => { @@ -1477,7 +1477,7 @@ impl FlowConstructionUtils for FlowRef { } /// Strips ignorable whitespace from the start of a list of fragments. -pub fn strip_ignorable_whitespace_from_start(this: &mut DList<Fragment>) { +pub fn strip_ignorable_whitespace_from_start(this: &mut LinkedList<Fragment>) { if this.is_empty() { return // Fast path. } @@ -1489,7 +1489,7 @@ pub fn strip_ignorable_whitespace_from_start(this: &mut DList<Fragment>) { } /// Strips ignorable whitespace from the end of a list of fragments. -pub fn strip_ignorable_whitespace_from_end(this: &mut DList<Fragment>) { +pub fn strip_ignorable_whitespace_from_end(this: &mut LinkedList<Fragment>) { if this.is_empty() { return } diff --git a/components/layout/css/matching.rs b/components/layout/css/matching.rs index b474e55e120..59e9a75b8d9 100644 --- a/components/layout/css/matching.rs +++ b/components/layout/css/matching.rs @@ -19,7 +19,7 @@ use util::smallvec::{SmallVec, SmallVec16}; use util::arc_ptr_eq; use std::borrow::ToOwned; use std::mem; -use std::hash::{Hash, Hasher, Writer}; +use std::hash::{Hash, Hasher}; use std::slice::Iter; use string_cache::{Atom, Namespace}; use selectors::parser::PseudoElement; @@ -78,8 +78,8 @@ impl PartialEq for ApplicableDeclarationsCacheEntry { } impl Eq for ApplicableDeclarationsCacheEntry {} -impl<H: Hasher+Writer> Hash<H> for ApplicableDeclarationsCacheEntry { - fn hash(&self, state: &mut H) { +impl Hash for ApplicableDeclarationsCacheEntry { + fn hash<H: Hasher>(&self, state: &mut H) { let tmp = ApplicableDeclarationsCacheQuery::new(&*self.declarations); tmp.hash(state); } @@ -119,8 +119,8 @@ impl<'a> PartialEq<ApplicableDeclarationsCacheEntry> for ApplicableDeclarationsC } } -impl<'a, H: Hasher+Writer> Hash<H> for ApplicableDeclarationsCacheQuery<'a> { - fn hash(&self, state: &mut H) { +impl<'a> Hash for ApplicableDeclarationsCacheQuery<'a> { + fn hash<H: Hasher>(&self, state: &mut H) { for declaration in self.declarations.iter() { let ptr: uint = unsafe { mem::transmute_copy(declaration) @@ -357,7 +357,7 @@ impl StyleSharingCandidateCache { } /// The results of attempting to share a style. -pub enum StyleSharingResult<'ln> { +pub enum StyleSharingResult { /// We didn't find anybody to share the style with. The boolean indicates whether the style /// is shareable at all. CannotShare(bool), diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs index fa1472f9b11..30483b64f65 100644 --- a/components/layout/display_list_builder.rs +++ b/components/layout/display_list_builder.rs @@ -797,7 +797,7 @@ impl FragmentDisplayListBuilding for Fragment { self.stacking_relative_border_box(stacking_relative_flow_origin, relative_containing_block_size, relative_containing_block_mode, - CoordinateSystem::Self); + CoordinateSystem::Own); debug!("Fragment::build_display_list at rel={:?}, abs={:?}, dirty={:?}, flow origin={:?}: \ {:?}", diff --git a/components/layout/flow_list.rs b/components/layout/flow_list.rs index 4011cd4c400..bd72d7a62ae 100644 --- a/components/layout/flow_list.rs +++ b/components/layout/flow_list.rs @@ -5,21 +5,21 @@ use flow::Flow; use flow_ref::FlowRef; -use std::collections::{dlist, DList}; +use std::collections::{linked_list, LinkedList}; // This needs to be reworked now that we have dynamically-sized types in Rust. -// Until then, it's just a wrapper around DList. +// Until then, it's just a wrapper around LinkedList. pub struct FlowList { - flows: DList<FlowRef>, + flows: LinkedList<FlowRef>, } pub struct FlowListIterator<'a> { - it: dlist::Iter<'a, FlowRef>, + it: linked_list::Iter<'a, FlowRef>, } pub struct MutFlowListIterator<'a> { - it: dlist::IterMut<'a, FlowRef>, + it: linked_list::IterMut<'a, FlowRef>, } impl FlowList { @@ -72,7 +72,7 @@ impl FlowList { #[inline] pub fn new() -> FlowList { FlowList { - flows: DList::new(), + flows: LinkedList::new(), } } diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index 2e109af57cf..d39d0c4f74d 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -39,7 +39,7 @@ use util::smallvec::SmallVec; use util::str::is_whitespace; use std::borrow::ToOwned; use std::cmp::{max, min}; -use std::collections::DList; +use std::collections::LinkedList; use std::fmt; use std::num::ToPrimitive; use std::str::FromStr; @@ -829,7 +829,7 @@ impl Fragment { /// Transforms this fragment into an ellipsis fragment, preserving all the other data. pub fn transform_into_ellipsis(&self, layout_context: &LayoutContext) -> Fragment { - let mut unscanned_ellipsis_fragments = DList::new(); + let mut unscanned_ellipsis_fragments = LinkedList::new(); unscanned_ellipsis_fragments.push_back(self.transform( self.border_box.size, SpecificFragmentInfo::UnscannedText(UnscannedTextFragmentInfo::from_text( @@ -1950,7 +1950,7 @@ impl Fragment { /// into account. /// /// If `coordinate_system` is `Parent`, this returns the border box in the parent stacking - /// context's coordinate system. Otherwise, if `coordinate_system` is `Self` and this fragment + /// context's coordinate system. Otherwise, if `coordinate_system` is `Own` and this fragment /// establishes a stacking context itself, this returns a border box anchored at (0, 0). (If /// this fragment does not establish a stacking context, then it always belongs to its parent /// stacking context and thus `coordinate_system` is ignored.) @@ -1966,7 +1966,7 @@ impl Fragment { let container_size = relative_containing_block_size.to_physical(relative_containing_block_mode); let border_box = self.border_box.to_physical(self.style.writing_mode, container_size); - if coordinate_system == CoordinateSystem::Self && self.establishes_stacking_context() { + if coordinate_system == CoordinateSystem::Own && self.establishes_stacking_context() { return Rect(ZERO_POINT, border_box.size) } @@ -2119,7 +2119,7 @@ pub enum CoordinateSystem { /// The border box returned is relative to the fragment's parent stacking context. Parent, /// The border box returned is relative to the fragment's own stacking context, if applicable. - Self, + Own, } /// Given a range and a text run, adjusts the range to eliminate trailing whitespace. Returns true diff --git a/components/layout/generated_content.rs b/components/layout/generated_content.rs index f90e8f79753..b64a9970a0d 100644 --- a/components/layout/generated_content.rs +++ b/components/layout/generated_content.rs @@ -16,7 +16,7 @@ use incremental::{self, RESOLVE_GENERATED_CONTENT}; use text::TextRunScanner; use gfx::display_list::OpaqueNode; -use std::collections::{DList, HashMap}; +use std::collections::{LinkedList, HashMap}; use std::sync::Arc; use style::computed_values::content::ContentItem; use style::computed_values::{display, list_style_type}; @@ -421,7 +421,7 @@ fn render_text(layout_context: &LayoutContext, style: Arc<ComputedValues>, string: String) -> SpecificFragmentInfo { - let mut fragments = DList::new(); + let mut fragments = LinkedList::new(); let info = SpecificFragmentInfo::UnscannedText(UnscannedTextFragmentInfo::from_text(string)); fragments.push_back(Fragment::from_opaque_node_and_style(node, style, diff --git a/components/layout/inline.rs b/components/layout/inline.rs index 5fb3ec9f180..97d88bb06b2 100644 --- a/components/layout/inline.rs +++ b/components/layout/inline.rs @@ -18,7 +18,7 @@ use layout_debug; use model::IntrinsicISizesContribution; use text; -use collections::{RingBuf}; +use collections::{VecDeque}; use geom::{Point2D, Rect}; use gfx::font::FontMetrics; use gfx::font_context::FontContext; @@ -171,7 +171,7 @@ struct LineBreaker { /// The resulting fragment list for the flow, consisting of possibly-broken fragments. new_fragments: Vec<Fragment>, /// The next fragment or fragments that we need to work on. - work_list: RingBuf<Fragment>, + work_list: VecDeque<Fragment>, /// The line we're currently working on. pending_line: Line, /// The lines we've already committed. @@ -187,7 +187,7 @@ impl LineBreaker { fn new(float_context: Floats, first_line_indentation: Au) -> LineBreaker { LineBreaker { new_fragments: Vec::new(), - work_list: RingBuf::new(), + work_list: VecDeque::new(), pending_line: Line { range: Range::empty(), bounds: LogicalRect::zero(float_context.writing_mode), @@ -513,7 +513,7 @@ impl LineBreaker { .expect("LineBreaker: this split case makes no sense!"); let writing_mode = self.floats.writing_mode; - let split_fragment = |&: split: SplitInfo| { + let split_fragment = |split: SplitInfo| { let size = LogicalSize::new(writing_mode, split.inline_size, in_fragment.border_box.size.block); @@ -1342,7 +1342,7 @@ impl Flow for InlineFlow { self.base .absolute_position_info .relative_containing_block_mode, - CoordinateSystem::Self); + CoordinateSystem::Own); let clip = fragment.clipping_region_for_children(&self.base.clip, &stacking_relative_border_box); match fragment.specific { diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs index 2a1bd02e369..fa670ca1191 100644 --- a/components/layout/layout_task.rs +++ b/components/layout/layout_task.rs @@ -96,6 +96,7 @@ pub struct LayoutTaskData { /// The root stacking context. pub stacking_context: Option<Arc<StackingContext>>, + /// Performs CSS selector matching and style resolution. pub stylist: Box<Stylist>, /// The workers that we use for parallel operation. @@ -178,7 +179,7 @@ impl ImageResponder<UntrustedNodeAddress> for LayoutImageResponder { fn respond(&self) -> Box<Fn(ImageResponseMsg, UntrustedNodeAddress)+Send> { let id = self.id.clone(); let script_chan = self.script_chan.clone(); - box move |&:_, node_address| { + box move |_, node_address| { let ScriptControlChan(ref chan) = script_chan; debug!("Dirtying {:x}", node_address.0 as uint); let mut nodes = SmallVec1::new(); @@ -281,10 +282,13 @@ impl LayoutTask { let local_image_cache = Arc::new(Mutex::new(LocalImageCache::new(image_cache_task.clone()))); let screen_size = Size2D(Au(0), Au(0)); - let device = Device::new(MediaType::Screen, opts::get().initial_window_size.as_f32() * ScaleFactor(1.0)); + let device = Device::new( + MediaType::Screen, + opts::get().initial_window_size.as_f32() * ScaleFactor::new(1.0)); let parallel_traversal = if opts::get().layout_threads != 1 { Some(WorkQueue::new("LayoutWorker", task_state::LAYOUT, - opts::get().layout_threads, SharedLayoutContextWrapper(ptr::null()))) + opts::get().layout_threads, + SharedLayoutContextWrapper(ptr::null()))) } else { None }; @@ -568,7 +572,7 @@ impl LayoutTask { let mut rw_data = self.lock_rw_data(possibly_locked_rw_data); if mq.evaluate(&rw_data.stylist.device) { - iter_font_face_rules(&sheet, &rw_data.stylist.device, &|&:family, src| { + iter_font_face_rules(&sheet, &rw_data.stylist.device, &|family, src| { self.font_cache_task.add_web_font(family.to_owned(), (*src).clone()); }); rw_data.stylist.add_stylesheet(sheet); diff --git a/components/layout/lib.rs b/components/layout/lib.rs index 58650b5d3c8..45322b6edf4 100644 --- a/components/layout/lib.rs +++ b/components/layout/lib.rs @@ -16,10 +16,13 @@ #![feature(thread_local)] #![feature(unicode)] #![feature(unsafe_destructor)] +#![feature(unsafe_no_drop_flag)] #![deny(unsafe_blocks)] #![allow(unrooted_must_root)] -#![allow(missing_copy_implementations)] + +#![plugin(string_cache_plugin)] +#![plugin(plugins)] #[macro_use] extern crate log; @@ -37,7 +40,7 @@ extern crate "rustc-serialize" as rustc_serialize; extern crate png; extern crate style; #[macro_use] -#[no_link] #[plugin] +#[no_link] extern crate "plugins" as servo_plugins; extern crate net; extern crate msg; @@ -45,8 +48,6 @@ extern crate selectors; #[macro_use] extern crate util; -#[no_link] #[macro_use] #[plugin] -extern crate string_cache_macros; extern crate string_cache; extern crate alloc; diff --git a/components/layout/text.rs b/components/layout/text.rs index 4c5a2a6436d..9c25dbccf02 100644 --- a/components/layout/text.rs +++ b/components/layout/text.rs @@ -20,7 +20,7 @@ use util::geometry::Au; use util::logical_geometry::{LogicalSize, WritingMode}; use util::range::Range; use util::smallvec::{SmallVec, SmallVec1}; -use std::collections::DList; +use std::collections::LinkedList; use std::mem; use style::computed_values::{line_height, text_orientation, text_rendering, text_transform}; use style::computed_values::{white_space}; @@ -30,17 +30,17 @@ use std::sync::Arc; /// A stack-allocated object for scanning an inline flow into `TextRun`-containing `TextFragment`s. pub struct TextRunScanner { - pub clump: DList<Fragment>, + pub clump: LinkedList<Fragment>, } impl TextRunScanner { pub fn new() -> TextRunScanner { TextRunScanner { - clump: DList::new(), + clump: LinkedList::new(), } } - pub fn scan_for_runs(&mut self, font_context: &mut FontContext, mut fragments: DList<Fragment>) + pub fn scan_for_runs(&mut self, font_context: &mut FontContext, mut fragments: LinkedList<Fragment>) -> InlineFragments { debug!("TextRunScanner: scanning {} fragments for text runs...", fragments.len()); @@ -160,7 +160,7 @@ impl TextRunScanner { // TextRuns contain a cycle which is usually resolved by the teardown sequence. // If no clump takes ownership, however, it will leak. if run_text.len() == 0 { - self.clump = DList::new(); + self.clump = LinkedList::new(); return last_whitespace } @@ -183,15 +183,15 @@ impl TextRunScanner { flags: flags, }; - Arc::new(box TextRun::new(&mut *fontgroup.fonts.get(0).borrow_mut(), - run_text, - &options)) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let mut font = fontgroup.fonts.get(0).borrow_mut(); + Arc::new(box TextRun::new(&mut *font, run_text, &options)) }; // Make new fragments with the run and adjusted text indices. debug!("TextRunScanner: pushing {} fragment(s)", self.clump.len()); for (logical_offset, old_fragment) in - mem::replace(&mut self.clump, DList::new()).into_iter().enumerate() { + mem::replace(&mut self.clump, LinkedList::new()).into_iter().enumerate() { let range = *new_ranges.get(logical_offset); if range.is_empty() { debug!("Elided an `SpecificFragmentInfo::UnscannedText` because it was \ @@ -304,7 +304,9 @@ fn bounding_box_for_run_metrics(metrics: &RunMetrics, writing_mode: WritingMode) pub fn font_metrics_for_style(font_context: &mut FontContext, font_style: Arc<FontStyle>) -> FontMetrics { let fontgroup = font_context.get_layout_font_group_for_style(font_style); - fontgroup.fonts.get(0).borrow().metrics.clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let font = fontgroup.fonts.get(0).borrow(); + font.metrics.clone() } /// Returns the line block-size needed by the given computed style and font size. diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 52623f75ad9..ce42907f119 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -63,7 +63,7 @@ use msg::constellation_msg::{PipelineId, SubpageId}; use util::str::{LengthOrPercentageOrAuto, is_whitespace}; use std::borrow::ToOwned; use std::cell::{Ref, RefMut}; -use std::marker::ContravariantLifetime; +use std::marker::PhantomData; use std::mem; use std::sync::mpsc::Sender; use string_cache::{Atom, Namespace}; @@ -173,8 +173,8 @@ pub struct LayoutNode<'a> { /// The wrapped node. node: LayoutJS<Node>, - /// Being chained to a ContravariantLifetime prevents `LayoutNode`s from escaping. - pub chain: ContravariantLifetime<'a>, + /// Being chained to a PhantomData prevents `LayoutNode`s from escaping. + pub chain: PhantomData<&'a ()>, } impl<'ln> Clone for LayoutNode<'ln> { @@ -347,7 +347,9 @@ impl<'ln> LayoutNode<'ln> { } } -impl<'ln> TNode<'ln, LayoutElement<'ln>> for LayoutNode<'ln> { +impl<'ln> TNode<'ln> for LayoutNode<'ln> { + type Element = LayoutElement<'ln>; + fn parent_node(self) -> Option<LayoutNode<'ln>> { unsafe { self.node.parent_node_ref().map(|node| self.new_with_this_lifetime(&node)) diff --git a/components/layout_traits/lib.rs b/components/layout_traits/lib.rs index d72063383f0..66d0ccc624c 100644 --- a/components/layout_traits/lib.rs +++ b/components/layout_traits/lib.rs @@ -2,8 +2,6 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#![allow(missing_copy_implementations)] - extern crate gfx; extern crate script_traits; extern crate msg; diff --git a/components/msg/Cargo.toml b/components/msg/Cargo.toml index 82b3c97d1f3..4eeb3a3b524 100644 --- a/components/msg/Cargo.toml +++ b/components/msg/Cargo.toml @@ -20,10 +20,6 @@ git = "https://github.com/servo/rust-azure" [dependencies.geom] git = "https://github.com/servo/rust-geom" -[dependencies.hyper] -git = "https://github.com/servo/hyper" -branch = "servo" - [dependencies.layers] git = "https://github.com/servo/rust-layers" @@ -36,3 +32,4 @@ git = "https://github.com/servo/rust-io-surface" [dependencies] url = "0.2.16" bitflags = "*" +hyper = "0.3" diff --git a/components/msg/lib.rs b/components/msg/lib.rs index 8741de21f75..b7aec05fe87 100644 --- a/components/msg/lib.rs +++ b/components/msg/lib.rs @@ -5,8 +5,6 @@ #![feature(hash)] #![feature(int_uint)] -#![allow(missing_copy_implementations)] - extern crate azure; #[macro_use] extern crate bitflags; extern crate geom; diff --git a/components/net/Cargo.toml b/components/net/Cargo.toml index a80a07b7dba..440bed882e6 100644 --- a/components/net/Cargo.toml +++ b/components/net/Cargo.toml @@ -13,10 +13,6 @@ path = "../util" [dependencies.geom] git = "https://github.com/servo/rust-geom" -[dependencies.hyper] -git = "https://github.com/servo/hyper" -branch = "servo" - [dependencies.png] git = "https://github.com/servo/rust-png" @@ -26,8 +22,9 @@ git = "https://github.com/servo/rust-stb-image" [dependencies] url = "0.2.16" time = "0.1.17" -openssl="0.3.1" -rustc-serialize = "0.2" +openssl="0.5.1" +rustc-serialize = "0.3" cookie="*" regex = "0.1.14" regex_macros = "0.1.8" +hyper = "0.3" diff --git a/components/net/about_loader.rs b/components/net/about_loader.rs index 37f11466a5f..06dea8c7659 100644 --- a/components/net/about_loader.rs +++ b/components/net/about_loader.rs @@ -11,7 +11,7 @@ use hyper::http::RawStatus; use util::resource_files::resources_dir_path; use std::borrow::IntoCow; -use std::old_io::fs::PathExtensions; +use std::fs::PathExt; use std::sync::mpsc::Sender; pub fn factory(mut load_data: LoadData, start_chan: Sender<TargetedLoadResponse>) { @@ -36,7 +36,7 @@ pub fn factory(mut load_data: LoadData, start_chan: Sender<TargetedLoadResponse> let mut path = resources_dir_path(); path.push("failure.html"); assert!(path.exists()); - load_data.url = Url::from_file_path(&path).unwrap(); + load_data.url = Url::from_file_path(&*path).unwrap(); } _ => { start_sending(senders, Metadata::default(load_data.url)) diff --git a/components/net/cookie_storage.rs b/components/net/cookie_storage.rs index deeb9c534e2..0f3cf180aac 100644 --- a/components/net/cookie_storage.rs +++ b/components/net/cookie_storage.rs @@ -93,7 +93,7 @@ impl CookieStorage { // http://tools.ietf.org/html/rfc6265#section-5.4 pub fn cookies_for_url(&mut self, url: &Url, source: CookieSource) -> Option<String> { - let filterer = |&:c: &&mut Cookie| -> bool { + let filterer = |c: &&mut Cookie| -> bool { info!(" === SENT COOKIE : {} {} {:?} {:?}", c.cookie.name, c.cookie.value, c.cookie.domain, c.cookie.path); info!(" === SENT COOKIE RESULT {}", c.appropriate_for_url(url, source)); // Step 1 @@ -104,7 +104,7 @@ impl CookieStorage { let mut url_cookies: Vec<&mut Cookie> = self.cookies.iter_mut().filter(filterer).collect(); url_cookies.sort_by(|a, b| CookieStorage::cookie_comparator(*a, *b)); - let reducer = |&:acc: String, c: &mut &mut Cookie| -> String { + let reducer = |acc: String, c: &mut &mut Cookie| -> String { // Step 3 c.touch(); diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index 9b81de49f8c..ccaf8d318e8 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -19,7 +19,7 @@ use hyper::net::HttpConnector; use hyper::status::{StatusCode, StatusClass}; use std::error::Error; use openssl::ssl::{SslContext, SslVerifyMode}; -use std::old_io::{IoError, IoErrorKind, Reader}; +use std::io::{self, Read, Write}; use std::sync::mpsc::{Sender, channel}; use std::thunk::Invoke; use util::task::spawn_named; @@ -119,12 +119,14 @@ reason: \"certificate verify failed\" }]"; let mut req = match Request::with_connector(load_data.method.clone(), url.clone(), &mut connector) { Ok(req) => req, - Err(HttpError::HttpIoError(IoError {kind: IoErrorKind::OtherIoError, - desc: "Error in OpenSSL", - detail: Some(ref det)})) if det.as_slice() == ssl_err_string => { + Err(HttpError::HttpIoError(ref io_error)) if ( + io_error.kind() == io::ErrorKind::Other && + io_error.description() == "Error in OpenSSL" && + io_error.detail() == Some(ssl_err_string.to_owned()) + ) => { let mut image = resources_dir_path(); image.push("badcert.html"); - let load_data = LoadData::new(Url::from_file_path(&image).unwrap(), senders.eventual_consumer); + let load_data = LoadData::new(Url::from_file_path(&*image).unwrap(), senders.eventual_consumer); file_loader::factory(load_data, senders.immediate_consumer); return; }, @@ -186,7 +188,7 @@ reason: \"certificate verify failed\" }]"; }; match writer.write_all(&*data) { Err(e) => { - send_error(url, e.desc.to_string(), senders); + send_error(url, e.description().to_string(), senders); return; } _ => {} @@ -301,7 +303,7 @@ reason: \"certificate verify failed\" }]"; unsafe { buf.set_len(1024); } match response.read(buf.as_mut_slice()) { - Ok(len) => { + Ok(len) if len > 0 => { unsafe { buf.set_len(len); } if progress_chan.send(Payload(buf)).is_err() { // The send errors when the receiver is out of scope, @@ -310,7 +312,7 @@ reason: \"certificate verify failed\" }]"; return; } } - Err(_) => { + Ok(_) | Err(_) => { let _ = progress_chan.send(Done(Ok(()))); break; } diff --git a/components/net/image/holder.rs b/components/net/image/holder.rs index 8ec15b02940..80b5ab5ea14 100644 --- a/components/net/image/holder.rs +++ b/components/net/image/holder.rs @@ -24,7 +24,7 @@ pub struct ImageHolder<NodeAddress> { local_image_cache: Arc<Mutex<LocalImageCache<NodeAddress>>>, } -impl<NodeAddress: Send> ImageHolder<NodeAddress> { +impl<NodeAddress: Send + 'static> ImageHolder<NodeAddress> { pub fn new(url: Url, local_image_cache: Arc<Mutex<LocalImageCache<NodeAddress>>>) -> ImageHolder<NodeAddress> { debug!("ImageHolder::new() {}", url.serialize()); diff --git a/components/net/image_cache_task.rs b/components/net/image_cache_task.rs index 6a0d0832353..16d390bf6d1 100644 --- a/components/net/image_cache_task.rs +++ b/components/net/image_cache_task.rs @@ -470,8 +470,8 @@ fn load_image_data(url: Url, resource_task: ResourceTask) -> Result<Vec<u8>, ()> pub fn spawn_listener<F, A>(f: F) -> Sender<A> - where F: FnOnce(Receiver<A>) + Send, - A: Send + where F: FnOnce(Receiver<A>) + Send + 'static, + A: Send + 'static { let (setup_chan, setup_port) = channel(); @@ -566,7 +566,7 @@ mod tests { } } - fn mock_resource_task<T: Closure+Send>(on_load: Box<T>) -> ResourceTask { + fn mock_resource_task<T: Closure + Send + 'static>(on_load: Box<T>) -> ResourceTask { spawn_listener(move |port: Receiver<resource_task::ControlMsg>| { loop { match port.recv().unwrap() { @@ -602,8 +602,8 @@ mod tests { } #[test] - #[should_fail] - fn should_fail_if_unprefetched_image_is_requested() { + #[should_panic] + fn should_panic_if_unprefetched_image_is_requested() { let mock_resource_task = mock_resource_task(box DoesNothing); let image_cache_task = ImageCacheTask::new(mock_resource_task.clone(), TaskPool::new(4), profiler()); diff --git a/components/net/lib.rs b/components/net/lib.rs index 2c2a96a828c..e29a4cfdaed 100644 --- a/components/net/lib.rs +++ b/components/net/lib.rs @@ -16,6 +16,8 @@ #![allow(missing_copy_implementations)] +#![plugin(regex_macros)] + extern crate "cookie" as cookie_rs; extern crate collections; extern crate geom; @@ -30,8 +32,6 @@ extern crate stb_image; extern crate time; extern crate url; -#[plugin] #[no_link] -extern crate regex_macros; extern crate regex; /// Image handling. diff --git a/components/net/local_image_cache.rs b/components/net/local_image_cache.rs index e26fd6e834d..61ef5869372 100644 --- a/components/net/local_image_cache.rs +++ b/components/net/local_image_cache.rs @@ -47,7 +47,7 @@ struct ImageState { last_response: ImageResponseMsg } -impl<NodeAddress: Send> LocalImageCache<NodeAddress> { +impl<NodeAddress: Send + 'static> LocalImageCache<NodeAddress> { /// The local cache will only do a single remote request for a given /// URL in each 'round'. Layout should call this each time it begins pub fn next_round(&mut self, on_image_available: Box<ImageResponder<NodeAddress> + Send>) { diff --git a/components/net/resource_task.rs b/components/net/resource_task.rs index 8ceb0d82306..688c507c06f 100644 --- a/components/net/resource_task.rs +++ b/components/net/resource_task.rs @@ -38,7 +38,7 @@ use std::old_io::net::tcp::TcpListener; static mut HOST_TABLE: Option<*mut HashMap<String, String>> = None; pub fn global_init() { - if let Ok(host_file_path) = env::var_string("HOST_FILE") { + if let Ok(host_file_path) = env::var("HOST_FILE") { //TODO: handle bad file path let path = Path::new(host_file_path); let mut file = BufferedReader::new(File::open(&path)); @@ -241,7 +241,7 @@ pub fn parse_hostsfile(hostsfile_content: &str) -> Box<HashMap<String, String>> let address = ip_host[0].to_owned(); for token in ip_host.iter().skip(1) { - if token[].as_bytes()[0] == b'#' { + if token.as_bytes()[0] == b'#' { break; } host_table.insert(token.to_owned().to_string(), address.clone()); @@ -326,7 +326,7 @@ impl ResourceManager { fn from_factory(factory: fn(LoadData, Sender<TargetedLoadResponse>)) -> Box<Invoke<(LoadData, Sender<TargetedLoadResponse>)> + Send> { - box move |&:(load_data, start_chan)| { + box move |(load_data, start_chan)| { factory(load_data, start_chan) } } diff --git a/components/plugins/casing.rs b/components/plugins/casing.rs index b7b002b21a4..a6fc4a6c53e 100644 --- a/components/plugins/casing.rs +++ b/components/plugins/casing.rs @@ -48,7 +48,7 @@ fn expand_cased<'cx, T>(cx: &'cx mut ExtCtxt, sp: Span, tts: &[ast::TokenTree], match (res, it.count()) { (Some((s, span)), 0) => { let new_s = s.chars().map(transform).collect::<String>(); - base::MacExpr::new(cx.expr_str(span, token::intern_and_get_ident(new_s.as_slice()))) + base::MacEager::expr(cx.expr_str(span, token::intern_and_get_ident(new_s.as_slice()))) } (_, rest) => { if rest > 0 { diff --git a/components/plugins/jstraceable.rs b/components/plugins/jstraceable.rs index 046881c079e..cf0089c7f71 100644 --- a/components/plugins/jstraceable.rs +++ b/components/plugins/jstraceable.rs @@ -34,7 +34,7 @@ pub fn expand_dom_struct(_: &mut ExtCtxt, _: Span, _: &MetaItem, item: P<Item>) /// Provides the hook to expand `#[jstraceable]` into an implementation of `JSTraceable` /// /// The expansion basically calls `trace()` on all of the fields of the struct/enum, erroring if they do not implement the method. -pub fn expand_jstraceable(cx: &mut ExtCtxt, span: Span, mitem: &MetaItem, item: &Item, mut push: Box<FnMut(P<Item>)>) { +pub fn expand_jstraceable(cx: &mut ExtCtxt, span: Span, mitem: &MetaItem, item: &Item, push: &mut FnMut(P<Item>)) { let trait_def = TraitDef { span: span, attributes: Vec::new(), diff --git a/components/plugins/lib.rs b/components/plugins/lib.rs index 26e7b07e04a..3a7da6a20f8 100644 --- a/components/plugins/lib.rs +++ b/components/plugins/lib.rs @@ -14,8 +14,6 @@ #![feature(plugin_registrar, quote, plugin, box_syntax, rustc_private, core, unicode)] -#![allow(missing_copy_implementations)] - #[macro_use] extern crate syntax; #[macro_use] diff --git a/components/plugins/lints/inheritance_integrity.rs b/components/plugins/lints/inheritance_integrity.rs index d806b1cad1c..d8cf22a102b 100644 --- a/components/plugins/lints/inheritance_integrity.rs +++ b/components/plugins/lints/inheritance_integrity.rs @@ -41,8 +41,9 @@ impl LintPass for InheritancePass { .map(|(_, f)| f.span); // Find all #[dom_struct] fields let dom_spans: Vec<_> = def.fields.iter().enumerate().filter_map(|(ctr, f)| { - if let ast::TyPath(_, ty_id) = f.node.ty.node { - if let Some(def::DefTy(def_id, _)) = cx.tcx.def_map.borrow().get(&ty_id).cloned() { + if let ast::TyPath(..) = f.node.ty.node { + if let Some(&def::PathResolution { base_def: def::DefTy(def_id, _), .. }) = + cx.tcx.def_map.borrow().get(&f.node.ty.id) { if ty::has_attr(cx.tcx, def_id, "_dom_struct_marker") { // If the field is not the first, it's probably // being misused (a) diff --git a/components/plugins/lints/transmute_type.rs b/components/plugins/lints/transmute_type.rs index 6facd362108..25b931bce87 100644 --- a/components/plugins/lints/transmute_type.rs +++ b/components/plugins/lints/transmute_type.rs @@ -26,7 +26,7 @@ impl LintPass for TransmutePass { match ex.node { ast::ExprCall(ref expr, ref args) => { match expr.node { - ast::ExprPath(ref path) => { + ast::ExprPath(_, ref path) => { if path.segments.last() .map_or(false, |ref segment| segment.identifier.name.as_str() == "transmute") && args.len() == 1 { diff --git a/components/plugins/lints/unrooted_must_root.rs b/components/plugins/lints/unrooted_must_root.rs index 80b37a714ba..a0a9706bf7a 100644 --- a/components/plugins/lints/unrooted_must_root.rs +++ b/components/plugins/lints/unrooted_must_root.rs @@ -33,9 +33,9 @@ fn lint_unrooted_ty(cx: &Context, ty: &ast::Ty, warning: &str) { match ty.node { ast::TyVec(ref t) | ast::TyFixedLengthVec(ref t, _) | ast::TyPtr(ast::MutTy { ty: ref t, ..}) | ast::TyRptr(_, ast::MutTy { ty: ref t, ..}) => lint_unrooted_ty(cx, &**t, warning), - ast::TyPath(_, id) => { - match cx.tcx.def_map.borrow()[id].clone() { - def::DefTy(def_id, _) => { + ast::TyPath(..) => { + match cx.tcx.def_map.borrow()[ty.id] { + def::PathResolution{ base_def: def::DefTy(def_id, _), .. } => { if ty::has_attr(cx.tcx, def_id, "must_root") { cx.span_lint(UNROOTED_MUST_ROOT, ty.span, warning); } diff --git a/components/plugins/reflector.rs b/components/plugins/reflector.rs index 43f2f625df4..6c2213cdabc 100644 --- a/components/plugins/reflector.rs +++ b/components/plugins/reflector.rs @@ -10,7 +10,7 @@ use syntax::ast; use utils::match_ty_unwrap; -pub fn expand_reflector(cx: &mut ExtCtxt, span: Span, _: &MetaItem, item: &Item, mut push: Box<FnMut(P<Item>) -> ()>) { +pub fn expand_reflector(cx: &mut ExtCtxt, span: Span, _: &MetaItem, item: &Item, push: &mut FnMut(P<Item>) -> ()) { if let ast::ItemStruct(ref def, _) = item.node { let struct_name = item.ident; // This path has to be hardcoded, unfortunately, since we can't resolve paths at expansion time diff --git a/components/plugins/utils.rs b/components/plugins/utils.rs index 0bc146186be..6c1d7e38268 100644 --- a/components/plugins/utils.rs +++ b/components/plugins/utils.rs @@ -16,7 +16,7 @@ use syntax::attr::mark_used; /// Try not to use this for types defined in crates you own, use match_lang_ty instead (for lint passes) pub fn match_ty_unwrap<'a>(ty: &'a Ty, segments: &[&str]) -> Option<&'a [P<Ty>]> { match ty.node { - TyPath(Path {segments: ref seg, ..}, _) => { + TyPath(_, Path {segments: ref seg, ..}) => { // So ast::Path isn't the full path, just the tokens that were provided. // I could muck around with the maps and find the full path // however the more efficient way is to simply reverse the iterators and zip them @@ -38,13 +38,13 @@ pub fn match_ty_unwrap<'a>(ty: &'a Ty, segments: &[&str]) -> Option<&'a [P<Ty>]> /// Checks if a type has a #[servo_lang = "str"] attribute pub fn match_lang_ty(cx: &Context, ty: &Ty, value: &str) -> bool { - let ty_id = match ty.node { - TyPath(_, ty_id) => ty_id, + match ty.node { + TyPath(..) => {}, _ => return false, - }; + } - let def_id = match cx.tcx.def_map.borrow().get(&ty_id).cloned() { - Some(def::DefTy(def_id, _)) => def_id, + let def_id = match cx.tcx.def_map.borrow().get(&ty.id) { + Some(&def::PathResolution { base_def: def::DefTy(def_id, _), .. }) => def_id, _ => return false, }; diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml index 62a44c31109..d7f1b2916b5 100644 --- a/components/script/Cargo.toml +++ b/components/script/Cargo.toml @@ -51,10 +51,6 @@ git = "https://github.com/servo/rust-geom" [dependencies.html5ever] git = "https://github.com/servo/html5ever" -[dependencies.hyper] -git = "https://github.com/servo/hyper" -branch = "servo" - [dependencies.js] git = "https://github.com/servo/rust-mozjs" @@ -64,7 +60,7 @@ git = "https://github.com/rust-lang/uuid" [dependencies.string_cache] git = "https://github.com/servo/string-cache" -[dependencies.string_cache_macros] +[dependencies.string_cache_plugin] git = "https://github.com/servo/string-cache" [dependencies] @@ -74,3 +70,4 @@ time = "0.1.12" bitflags = "*" rustc-serialize = "*" libc = "*" +hyper = "0.3" diff --git a/components/script/dom/bindings/conversions.rs b/components/script/dom/bindings/conversions.rs index 9aa6331f2ed..56f647ce841 100644 --- a/components/script/dom/bindings/conversions.rs +++ b/components/script/dom/bindings/conversions.rs @@ -54,11 +54,12 @@ use js::jsval::{StringValue, ObjectValue, ObjectOrNullValue}; use libc; use std::borrow::ToOwned; use std::default; +use std::marker::MarkerTrait; use std::slice; /// A trait to retrieve the constants necessary to check if a `JSObject` /// implements a given interface. -pub trait IDLInterface { +pub trait IDLInterface: MarkerTrait { /// Returns the prototype ID. fn get_prototype_id() -> PrototypeList::ID; /// Returns the prototype depth, i.e., the number of interfaces this @@ -74,6 +75,7 @@ pub trait ToJSValConvertible { /// A trait to convert `JSVal`s to Rust types. pub trait FromJSValConvertible { + /// Optional configurable behaviour switch; use () for no configuration. type Config; /// Convert `val` to type `Self`. /// Optional configuration of type `T` can be passed as the `option` diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index 7ada9f45d14..72f4c16e832 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -62,7 +62,7 @@ use util::smallvec::{SmallVec, SmallVec16}; use core::nonzero::NonZero; use std::cell::{Cell, UnsafeCell}; use std::default::Default; -use std::marker::ContravariantLifetime; +use std::marker::PhantomData; use std::mem; use std::ops::Deref; @@ -677,7 +677,7 @@ impl<T: Reflectable> Root<T> { pub fn r<'b>(&'b self) -> JSRef<'b, T> { JSRef { ptr: self.ptr, - chain: ContravariantLifetime, + chain: PhantomData, } } @@ -688,7 +688,7 @@ impl<T: Reflectable> Root<T> { pub fn get_unsound_ref_forever<'b>(&self) -> JSRef<'b, T> { JSRef { ptr: self.ptr, - chain: ContravariantLifetime, + chain: PhantomData, } } } @@ -713,7 +713,7 @@ impl<'a, T: Reflectable> Deref for JSRef<'a, T> { /// copyable. pub struct JSRef<'a, T> { ptr: NonZero<*const T>, - chain: ContravariantLifetime<'a>, + chain: PhantomData<&'a ()>, } impl<'a, T> Copy for JSRef<'a, T> {} diff --git a/components/script/dom/bindings/refcounted.rs b/components/script/dom/bindings/refcounted.rs index b7f039cb527..c009687e40a 100644 --- a/components/script/dom/bindings/refcounted.rs +++ b/components/script/dom/bindings/refcounted.rs @@ -32,6 +32,7 @@ use libc; use std::cell::RefCell; use std::collections::hash_map::HashMap; use std::collections::hash_map::Entry::{Vacant, Occupied}; +use std::marker::PhantomData; use std::rc::Rc; use std::sync::{Arc, Mutex}; @@ -53,6 +54,7 @@ pub struct Trusted<T> { refcount: Arc<Mutex<usize>>, script_chan: Box<ScriptChan + Send>, owner_thread: *const libc::c_void, + phantom: PhantomData<T>, } unsafe impl<T: Reflectable> Send for Trusted<T> {} @@ -71,6 +73,7 @@ impl<T: Reflectable> Trusted<T> { refcount: refcount, script_chan: script_chan.clone(), owner_thread: (&*live_references) as *const _ as *const libc::c_void, + phantom: PhantomData, } }) } @@ -102,6 +105,7 @@ impl<T: Reflectable> Clone for Trusted<T> { refcount: self.refcount.clone(), script_chan: self.script_chan.clone(), owner_thread: self.owner_thread, + phantom: PhantomData, } } } diff --git a/components/script/dom/bindings/str.rs b/components/script/dom/bindings/str.rs index 38e7d898e97..88561210617 100644 --- a/components/script/dom/bindings/str.rs +++ b/components/script/dom/bindings/str.rs @@ -5,7 +5,7 @@ //! The `ByteString` struct. use std::borrow::ToOwned; -use std::hash::{Hash, SipHasher}; +use std::hash::{Hash, Hasher}; use std::str; use std::str::FromStr; @@ -144,8 +144,8 @@ impl ByteString { } } -impl Hash<SipHasher> for ByteString { - fn hash(&self, state: &mut SipHasher) { +impl Hash for ByteString { + fn hash<H: Hasher>(&self, state: &mut H) { let ByteString(ref vec) = *self; vec.hash(state); } diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs index e0738e3b07a..505307dd7bf 100644 --- a/components/script/dom/bindings/trace.rs +++ b/components/script/dom/bindings/trace.rs @@ -184,10 +184,10 @@ impl<T: JSTraceable> JSTraceable for Option<T> { } impl<K,V,S> JSTraceable for HashMap<K, V, S> - where K: Hash<<S as HashState>::Hasher> + Eq + JSTraceable, + where K: Hash + Eq + JSTraceable, V: JSTraceable, S: HashState, - <S as HashState>::Hasher: Hasher<Output=u64>, + <S as HashState>::Hasher: Hasher, { #[inline] fn trace(&self, trc: *mut JSTracer) { diff --git a/components/script/dom/bindings/utils.rs b/components/script/dom/bindings/utils.rs index 67a06b21a48..c24c6110821 100644 --- a/components/script/dom/bindings/utils.rs +++ b/components/script/dom/bindings/utils.rs @@ -577,7 +577,10 @@ pub extern fn outerize_global(_cx: *mut JSContext, obj: JSHandleObject) -> *mut debug!("outerizing"); let obj = *obj.unnamed_field1; let win: Root<window::Window> = native_from_reflector_jsmanaged(obj).unwrap().root(); - win.r().browser_context().as_ref().unwrap().window_proxy() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let win = win.r(); + let context = win.browser_context(); + context.as_ref().unwrap().window_proxy() } } diff --git a/components/script/dom/characterdata.rs b/components/script/dom/characterdata.rs index b7703e7e72a..9320322f841 100644 --- a/components/script/dom/characterdata.rs +++ b/components/script/dom/characterdata.rs @@ -68,7 +68,9 @@ impl CharacterData { impl<'a> CharacterDataMethods for JSRef<'a, CharacterData> { fn Data(self) -> DOMString { - self.data.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let data = self.data.borrow(); + data.clone() } fn SetData(self, arg: DOMString) -> ErrorResult { @@ -77,11 +79,15 @@ impl<'a> CharacterDataMethods for JSRef<'a, CharacterData> { } fn Length(self) -> u32 { - self.data.borrow().chars().count() as u32 + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let data = self.data.borrow(); + data.chars().count() as u32 } fn SubstringData(self, offset: u32, count: u32) -> Fallible<DOMString> { - Ok(self.data.borrow().slice_chars(offset as usize, (offset + count) as usize).to_owned()) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let data = self.data.borrow(); + Ok(data.slice_chars(offset as usize, (offset + count) as usize).to_owned()) } fn AppendData(self, arg: DOMString) -> ErrorResult { diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index 3ae4cbc147e..fa72ae297ff 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -188,9 +188,11 @@ pub trait DedicatedWorkerGlobalScopeHelpers { impl<'a> DedicatedWorkerGlobalScopeHelpers for JSRef<'a, DedicatedWorkerGlobalScope> { fn script_chan(self) -> Box<ScriptChan+Send> { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let worker = self.worker.borrow(); box SendableWorkerScriptChan { sender: self.own_sender.clone(), - worker: self.worker.borrow().as_ref().unwrap().clone(), + worker: worker.as_ref().unwrap().clone(), } } } diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs index 6da0dd57316..8a7d87ba6b6 100644 --- a/components/script/dom/document.rs +++ b/components/script/dom/document.rs @@ -365,10 +365,13 @@ impl<'a> DocumentHelpers<'a> for JSRef<'a, Document> { /// https://html.spec.whatwg.org/multipage/#the-indicated-part-of-the-document fn find_fragment_node(self, fragid: DOMString) -> Option<Temporary<Element>> { self.GetElementById(fragid.clone()).or_else(|| { - let check_anchor = |&:&node: &JSRef<HTMLAnchorElement>| { + let check_anchor = |&node: &JSRef<HTMLAnchorElement>| { let elem: JSRef<Element> = ElementCast::from_ref(node); elem.get_attribute(ns!(""), &atom!("name")).root().map_or(false, |attr| { - attr.r().value().as_slice() == fragid.as_slice() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + value.as_slice() == fragid.as_slice() }) }; let doc_node: JSRef<Node> = NodeCast::from_ref(self); @@ -461,7 +464,10 @@ impl<'a> DocumentHelpers<'a> for JSRef<'a, Document> { /// Sends this document's title to the compositor. fn send_title_to_compositor(self) { let window = self.window().root(); - window.r().compositor().set_title(window.r().pipeline(), Some(self.Title())); + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let window = window.r(); + let mut compositor = window.compositor(); + compositor.set_title(window.pipeline(), Some(self.Title())); } fn dirty_all_nodes(self) { @@ -843,12 +849,16 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { // http://dom.spec.whatwg.org/#dom-document-characterset fn CharacterSet(self) -> DOMString { - self.encoding_name.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let encoding_name = self.encoding_name.borrow(); + encoding_name.clone() } // http://dom.spec.whatwg.org/#dom-document-inputencoding fn InputEncoding(self) -> DOMString { - self.encoding_name.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let encoding_name = self.encoding_name.borrow(); + encoding_name.clone() } // http://dom.spec.whatwg.org/#dom-document-content_type @@ -893,7 +903,9 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { // http://dom.spec.whatwg.org/#dom-nonelementparentnode-getelementbyid fn GetElementById(self, id: DOMString) -> Option<Temporary<Element>> { let id = Atom::from_slice(id.as_slice()); - match self.idmap.borrow().get(&id) { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let idmap = self.idmap.borrow(); + match idmap.get(&id) { None => None, Some(ref elements) => Some(Temporary::new((*elements)[0].clone())), } @@ -1218,7 +1230,10 @@ impl<'a> DocumentMethods for JSRef<'a, Document> { None => return false, }; element.get_attribute(ns!(""), &atom!("name")).root().map_or(false, |attr| { - attr.r().value().as_slice() == name.as_slice() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + value.as_slice() == name.as_slice() }) }) } diff --git a/components/script/dom/domtokenlist.rs b/components/script/dom/domtokenlist.rs index c0ba2e1ebd1..2d0a4338be5 100644 --- a/components/script/dom/domtokenlist.rs +++ b/components/script/dom/domtokenlist.rs @@ -67,15 +67,23 @@ impl<'a> DOMTokenListMethods for JSRef<'a, DOMTokenList> { // http://dom.spec.whatwg.org/#dom-domtokenlist-length fn Length(self) -> u32 { self.attribute().root().map(|attr| { - attr.r().value().tokens().map(|tokens| tokens.len()).unwrap_or(0) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + value.tokens().map(|tokens| tokens.len()).unwrap_or(0) }).unwrap_or(0) as u32 } // http://dom.spec.whatwg.org/#dom-domtokenlist-item fn Item(self, index: u32) -> Option<DOMString> { - self.attribute().root().and_then(|attr| attr.r().value().tokens().and_then(|tokens| { - tokens.get(index as usize).map(|token| token.as_slice().to_owned()) - })) + self.attribute().root().and_then(|attr| { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + value.tokens().and_then(|tokens| { + tokens.get(index as usize).map(|token| token.as_slice().to_owned()) + }) + }) } fn IndexedGetter(self, index: u32, found: &mut bool) -> Option<DOMString> { @@ -88,12 +96,13 @@ impl<'a> DOMTokenListMethods for JSRef<'a, DOMTokenList> { fn Contains(self, token: DOMString) -> Fallible<bool> { self.check_token_exceptions(token.as_slice()).map(|token| { self.attribute().root().map(|attr| { - attr.r() - .value() - .tokens() - .expect("Should have parsed this attribute") - .iter() - .any(|atom| *atom == token) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + value.tokens() + .expect("Should have parsed this attribute") + .iter() + .any(|atom| *atom == token) }).unwrap_or(false) }) } diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 3576f20f78c..d8ebb804c87 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -618,9 +618,14 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { } fn get_attributes(self, local_name: &Atom) -> Vec<Temporary<Attr>> { - self.attrs.borrow().iter().map(|attr| attr.root()).filter_map(|attr| { - if *attr.r().local_name() == *local_name { - Some(Temporary::from_rooted(attr.r())) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attrs = self.attrs.borrow(); + attrs.iter().map(|attr| attr.root()).filter_map(|attr| { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let attr_local_name = attr.local_name(); + if *attr_local_name == *local_name { + Some(Temporary::from_rooted(attr)) } else { None } @@ -746,12 +751,15 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { let owner_doc = node.owner_doc().root(); owner_doc.r().quirks_mode() }; - let is_equal = |&:lhs: &Atom, rhs: &Atom| match quirks_mode { + let is_equal = |lhs: &Atom, rhs: &Atom| match quirks_mode { NoQuirks | LimitedQuirks => lhs == rhs, Quirks => lhs.as_slice().eq_ignore_ascii_case(rhs.as_slice()) }; self.get_attribute(ns!(""), &atom!("class")).root().map(|attr| { - attr.r().value().tokens().map(|tokens| { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + value.tokens().map(|tokens| { tokens.iter().any(|atom| is_equal(name, atom)) }).unwrap_or(false) }).unwrap_or(false) @@ -764,9 +772,15 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { } fn has_attribute(self, name: &Atom) -> bool { - assert!(name.as_slice().bytes().all(|&:b| b.to_ascii_lowercase() == b)); - self.attrs.borrow().iter().map(|attr| attr.root()).any(|attr| { - *attr.r().local_name() == *name && *attr.r().namespace() == ns!("") + assert!(name.as_slice().bytes().all(|b| b.to_ascii_lowercase() == b)); + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attrs = self.attrs.borrow(); + attrs.iter().map(|attr| attr.root()).any(|attr| { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let local_name = attr.local_name(); + let namespace = attr.namespace(); + *local_name == *name && *namespace == ns!("") }) } @@ -811,11 +825,12 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> { fn get_tokenlist_attribute(self, name: &Atom) -> Vec<Atom> { self.get_attribute(ns!(""), name).root().map(|attr| { - attr.r() - .value() - .tokens() - .expect("Expected a TokenListAttrValue") - .to_vec() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + value.tokens() + .expect("Expected a TokenListAttrValue") + .to_vec() }).unwrap_or(vec!()) } @@ -1328,14 +1343,20 @@ impl<'a> style::node::TElement<'a> for JSRef<'a, Element> { fn get_attr(self, namespace: &Namespace, attr: &Atom) -> Option<&'a str> { self.get_attribute(namespace.clone(), attr).root().map(|attr| { // This transmute is used to cheat the lifetime restriction. - unsafe { mem::transmute(attr.r().value().as_slice()) } + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + unsafe { mem::transmute(value.as_slice()) } }) } #[allow(unsafe_blocks)] fn get_attrs(self, attr: &Atom) -> Vec<&'a str> { self.get_attributes(attr).into_iter().map(|attr| attr.root()).map(|attr| { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); // This transmute is used to cheat the lifetime restriction. - unsafe { mem::transmute(attr.r().value().as_slice()) } + unsafe { mem::transmute(value.as_slice()) } }).collect() } fn get_link(self) -> Option<&'a str> { @@ -1375,7 +1396,10 @@ impl<'a> style::node::TElement<'a> for JSRef<'a, Element> { fn get_id(self) -> Option<Atom> { self.get_attribute(ns!(""), &atom!("id")).map(|attr| { let attr = attr.root(); - match *attr.r().value() { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + match *value { AttrValue::Atom(ref val) => val.clone(), _ => panic!("`id` attribute should be AttrValue::Atom"), } diff --git a/components/script/dom/errorevent.rs b/components/script/dom/errorevent.rs index d16df30c7d5..5aed667e3b6 100644 --- a/components/script/dom/errorevent.rs +++ b/components/script/dom/errorevent.rs @@ -68,12 +68,14 @@ impl ErrorEvent { let event: JSRef<Event> = EventCast::from_ref(ev.r()); event.InitEvent(type_, bubbles == EventBubbles::Bubbles, cancelable == EventCancelable::Cancelable); - *ev.r().message.borrow_mut() = message; - *ev.r().filename.borrow_mut() = filename; - ev.r().lineno.set(lineno); - ev.r().colno.set(colno); - ev.r().error.set(error); - Temporary::from_rooted(ev.r()) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let ev = ev.r(); + *ev.message.borrow_mut() = message; + *ev.filename.borrow_mut() = filename; + ev.lineno.set(lineno); + ev.colno.set(colno); + ev.error.set(error); + Temporary::from_rooted(ev) } pub fn Constructor(global: GlobalRef, @@ -116,11 +118,15 @@ impl<'a> ErrorEventMethods for JSRef<'a, ErrorEvent> { } fn Message(self) -> DOMString { - self.message.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let message = self.message.borrow(); + message.clone() } fn Filename(self) -> DOMString { - self.filename.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let filename = self.filename.borrow(); + filename.clone() } fn Error(self, _cx: *mut JSContext) -> JSVal { diff --git a/components/script/dom/event.rs b/components/script/dom/event.rs index 2a284fcb45e..a225c7b3439 100644 --- a/components/script/dom/event.rs +++ b/components/script/dom/event.rs @@ -178,7 +178,9 @@ impl<'a> EventMethods for JSRef<'a, Event> { } fn Type(self) -> DOMString { - self.type_.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let type_ = self.type_.borrow(); + type_.clone() } fn GetTarget(self) -> Option<Temporary<EventTarget>> { diff --git a/components/script/dom/eventtarget.rs b/components/script/dom/eventtarget.rs index ee4fd3b2745..018579e6127 100644 --- a/components/script/dom/eventtarget.rs +++ b/components/script/dom/eventtarget.rs @@ -245,7 +245,9 @@ impl<'a> EventTargetHelpers for JSRef<'a, EventTarget> { } fn has_handlers(self) -> bool { - !self.handlers.borrow().is_empty() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let handlers = self.handlers.borrow(); + !handlers.is_empty() } } diff --git a/components/script/dom/formdata.rs b/components/script/dom/formdata.rs index 5d8e5a8f809..a40e269aaaa 100644 --- a/components/script/dom/formdata.rs +++ b/components/script/dom/formdata.rs @@ -84,8 +84,10 @@ impl<'a> FormDataMethods for JSRef<'a, FormData> { #[allow(unsafe_blocks)] fn Get(self, name: DOMString) -> Option<FileOrString> { - if self.data.borrow().contains_key(&name) { - match (*self.data.borrow())[name][0].clone() { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let data = self.data.borrow(); + if data.contains_key(&name) { + match data[name][0].clone() { FormDatum::StringData(ref s) => Some(eString(s.clone())), FormDatum::FileData(ref f) => { Some(eFile(Unrooted::from_js(*f))) @@ -97,7 +99,9 @@ impl<'a> FormDataMethods for JSRef<'a, FormData> { } fn Has(self, name: DOMString) -> bool { - self.data.borrow().contains_key(&name) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let data = self.data.borrow(); + data.contains_key(&name) } #[allow(unrooted_must_root)] fn Set(self, name: DOMString, value: JSRef<Blob>, filename: Option<DOMString>) { diff --git a/components/script/dom/htmlbuttonelement.rs b/components/script/dom/htmlbuttonelement.rs index 718727b5487..8f09c5d8745 100644 --- a/components/script/dom/htmlbuttonelement.rs +++ b/components/script/dom/htmlbuttonelement.rs @@ -229,7 +229,7 @@ impl<'a> Activatable for JSRef<'a, HTMLButtonElement> { h }) .find(|r| r.form_owner() == owner) - .map(|&:s| s.synthetic_click_activation(ctrlKey, shiftKey, altKey, metaKey)); + .map(|s| s.synthetic_click_activation(ctrlKey, shiftKey, altKey, metaKey)); } } } diff --git a/components/script/dom/htmlelement.rs b/components/script/dom/htmlelement.rs index 98bcbd6d92e..973de33d34d 100644 --- a/components/script/dom/htmlelement.rs +++ b/components/script/dom/htmlelement.rs @@ -32,6 +32,7 @@ use util::str::DOMString; use string_cache::Atom; +use std::ascii::AsciiExt; use std::borrow::ToOwned; use std::default::Default; @@ -161,7 +162,7 @@ impl<'a> HTMLElementCustomAttributeHelpers for JSRef<'a, HTMLElement> { fn set_custom_attr(self, name: DOMString, value: DOMString) -> ErrorResult { if name.as_slice().chars() .skip_while(|&ch| ch != '\u{2d}') - .nth(1).map_or(false, |ch| ch as u8 - b'a' < 26) { + .nth(1).map_or(false, |ch| ch >= 'a' && ch <= 'z') { return Err(Syntax); } let element: JSRef<Element> = ElementCast::from_ref(self); @@ -172,7 +173,10 @@ impl<'a> HTMLElementCustomAttributeHelpers for JSRef<'a, HTMLElement> { let element: JSRef<Element> = ElementCast::from_ref(self); element.get_attribute(ns!(""), &Atom::from_slice(to_snake_case(name).as_slice())).map(|attr| { let attr = attr.root(); - attr.r().value().as_slice().to_owned() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + value.as_slice().to_owned() }) } diff --git a/components/script/dom/htmlinputelement.rs b/components/script/dom/htmlinputelement.rs index 15d5ee0182d..670d02c9a37 100644 --- a/components/script/dom/htmlinputelement.rs +++ b/components/script/dom/htmlinputelement.rs @@ -238,7 +238,9 @@ impl<'a> HTMLInputElementMethods for JSRef<'a, HTMLInputElement> { // https://html.spec.whatwg.org/multipage/forms.html#dom-input-value fn Value(self) -> DOMString { - self.textinput.borrow().get_content() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let textinput = self.textinput.borrow(); + textinput.get_content() } // https://html.spec.whatwg.org/multipage/forms.html#dom-input-value @@ -781,7 +783,7 @@ impl<'a> Activatable for JSRef<'a, HTMLInputElement> { h }) .find(|r| r.form_owner() == owner) - .map(|&:s| s.synthetic_click_activation(ctrlKey, shiftKey, altKey, metaKey)); + .map(|s| s.synthetic_click_activation(ctrlKey, shiftKey, altKey, metaKey)); } } } diff --git a/components/script/dom/htmllinkelement.rs b/components/script/dom/htmllinkelement.rs index 0cf9bf40ae0..8014a7af4af 100644 --- a/components/script/dom/htmllinkelement.rs +++ b/components/script/dom/htmllinkelement.rs @@ -59,7 +59,12 @@ impl HTMLLinkElement { fn get_attr(element: JSRef<Element>, name: &Atom) -> Option<String> { let elem = element.get_attribute(ns!(""), name).root(); - elem.map(|e| e.r().value().as_slice().to_owned()) + elem.map(|e| { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let e = e.r(); + let value = e.value(); + value.as_slice().to_owned() + }) } fn is_stylesheet(value: &Option<String>) -> bool { diff --git a/components/script/dom/htmltextareaelement.rs b/components/script/dom/htmltextareaelement.rs index acacf3cb01a..dcf79d70091 100644 --- a/components/script/dom/htmltextareaelement.rs +++ b/components/script/dom/htmltextareaelement.rs @@ -177,7 +177,9 @@ impl<'a> HTMLTextAreaElementMethods for JSRef<'a, HTMLTextAreaElement> { // https://html.spec.whatwg.org/multipage/forms.html#dom-textarea-value fn Value(self) -> DOMString { - self.textinput.borrow().get_content() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let textinput = self.textinput.borrow(); + textinput.get_content() } // https://html.spec.whatwg.org/multipage/forms.html#dom-textarea-value diff --git a/components/script/dom/keyboardevent.rs b/components/script/dom/keyboardevent.rs index 8ff5fe27e63..025c64ac59c 100644 --- a/components/script/dom/keyboardevent.rs +++ b/components/script/dom/keyboardevent.rs @@ -85,15 +85,17 @@ impl KeyboardEvent { let ev = KeyboardEvent::new_uninitialized(window).root(); ev.r().InitKeyboardEvent(type_, canBubble, cancelable, view, key, location, "".to_owned(), repeat, "".to_owned()); - *ev.r().code.borrow_mut() = code; - ev.r().ctrl.set(ctrlKey); - ev.r().alt.set(altKey); - ev.r().shift.set(shiftKey); - ev.r().meta.set(metaKey); - ev.r().char_code.set(char_code); - ev.r().key_code.set(key_code); - ev.r().is_composing.set(isComposing); - Temporary::from_rooted(ev.r()) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let ev = ev.r(); + *ev.code.borrow_mut() = code; + ev.ctrl.set(ctrlKey); + ev.alt.set(altKey); + ev.shift.set(shiftKey); + ev.meta.set(metaKey); + ev.char_code.set(char_code); + ev.key_code.set(key_code); + ev.is_composing.set(isComposing); + Temporary::from_rooted(ev) } pub fn Constructor(global: GlobalRef, @@ -571,11 +573,15 @@ impl<'a> KeyboardEventMethods for JSRef<'a, KeyboardEvent> { } fn Key(self) -> DOMString { - self.key.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let key = self.key.borrow(); + key.clone() } fn Code(self) -> DOMString { - self.code.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let code = self.code.borrow(); + code.clone() } fn Location(self) -> u32 { diff --git a/components/script/dom/namednodemap.rs b/components/script/dom/namednodemap.rs index 74989ec3ddc..6b6bf0e64cd 100644 --- a/components/script/dom/namednodemap.rs +++ b/components/script/dom/namednodemap.rs @@ -33,11 +33,19 @@ impl NamedNodeMap { impl<'a> NamedNodeMapMethods for JSRef<'a, NamedNodeMap> { fn Length(self) -> u32 { - self.owner.root().r().attrs().len() as u32 + let owner = self.owner.root(); + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let owner = owner.r(); + let attrs = owner.attrs(); + attrs.len() as u32 } fn Item(self, index: u32) -> Option<Temporary<Attr>> { - self.owner.root().r().attrs().as_slice().get(index as uint).map(|x| Temporary::new(x.clone())) + let owner = self.owner.root(); + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let owner = owner.r(); + let attrs = owner.attrs(); + attrs.as_slice().get(index as uint).map(|x| Temporary::new(x.clone())) } fn IndexedGetter(self, index: u32, found: &mut bool) -> Option<Temporary<Attr>> { diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 699477a5a2e..0981c5e802d 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -856,7 +856,9 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { } fn get_unique_id(self) -> String { - self.unique_id.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let id = self.unique_id.borrow(); + id.clone() } fn summarize(self) -> NodeInfo { @@ -865,8 +867,10 @@ impl<'a> NodeHelpers<'a> for JSRef<'a, Node> { *unique_id = uuid::Uuid::new_v4().to_simple_string(); } + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let unique_id = self.unique_id.borrow(); NodeInfo { - uniqueId: self.unique_id.borrow().clone(), + uniqueId: unique_id.clone(), baseURI: self.GetBaseURI().unwrap_or("".to_owned()), parent: self.GetParentNode().root().map(|node| node.r().get_unique_id()).unwrap_or("".to_owned()), nodeType: self.NodeType() as uint, @@ -1122,7 +1126,7 @@ impl NodeIterator { } fn next_child<'b>(&self, node: JSRef<'b, Node>) -> Option<JSRef<'b, Node>> { - let skip = |&:element: JSRef<Element>| { + let skip = |element: JSRef<Element>| { !self.include_descendants_of_void && element.is_void() }; @@ -1163,10 +1167,10 @@ impl<'a> Iterator for NodeIterator { .expect("Got to root without reaching start node") .root() .get_unsound_ref_forever(); - self.depth -= 1; if JS::from_rooted(candidate) == self.start_node { break; } + self.depth -= 1; } if JS::from_rooted(candidate) != self.start_node { candidate.next_sibling().map(|node| JS::from_rooted(node.root().r())) @@ -2058,13 +2062,18 @@ impl<'a> NodeMethods for JSRef<'a, Node> { fn is_equal_characterdata(node: JSRef<Node>, other: JSRef<Node>) -> bool { let characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(node).unwrap(); let other_characterdata: JSRef<CharacterData> = CharacterDataCast::to_ref(other).unwrap(); - *characterdata.data() == *other_characterdata.data() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let own_data = characterdata.data(); + let other_data = other_characterdata.data(); + *own_data == *other_data } fn is_equal_element_attrs(node: JSRef<Node>, other: JSRef<Node>) -> bool { let element: JSRef<Element> = ElementCast::to_ref(node).unwrap(); let other_element: JSRef<Element> = ElementCast::to_ref(other).unwrap(); assert!(element.attrs().len() == other_element.attrs().len()); - element.attrs().iter().map(|attr| attr.root()).all(|attr| { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attrs = element.attrs(); + attrs.iter().map(|attr| attr.root()).all(|attr| { other_element.attrs().iter().map(|attr| attr.root()).any(|other_attr| { (*attr.r().namespace() == *other_attr.r().namespace()) && (attr.r().local_name() == other_attr.r().local_name()) && @@ -2217,7 +2226,9 @@ impl<'a> VirtualMethods for JSRef<'a, Node> { } } -impl<'a> style::node::TNode<'a, JSRef<'a, Element>> for JSRef<'a, Node> { +impl<'a> style::node::TNode<'a> for JSRef<'a, Node> { + type Element = JSRef<'a, Element>; + fn parent_node(self) -> Option<JSRef<'a, Node>> { // FIXME(zwarich): Remove this when UFCS lands and there is a better way // of disambiguating methods. @@ -2305,12 +2316,22 @@ impl<'a> style::node::TNode<'a, JSRef<'a, Element>> for JSRef<'a, Node> { match attr.namespace { NamespaceConstraint::Specific(ref ns) => { self.as_element().get_attribute(ns.clone(), name).root() - .map_or(false, |attr| test(attr.r().value().as_slice())) + .map_or(false, |attr| { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + test(value.as_slice()) + }) }, NamespaceConstraint::Any => { self.as_element().get_attributes(name).into_iter() .map(|attr| attr.root()) - .any(|attr| test(attr.r().value().as_slice())) + .any(|attr| { + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let attr = attr.r(); + let value = attr.value(); + test(value.as_slice()) + }) } } } diff --git a/components/script/dom/treewalker.rs b/components/script/dom/treewalker.rs index c05798532da..f74e5f975b0 100644 --- a/components/script/dom/treewalker.rs +++ b/components/script/dom/treewalker.rs @@ -344,7 +344,7 @@ impl<'a> PrivateTreeWalkerHelpers for JSRef<'a, TreeWalker> { } } -pub trait TreeWalkerHelpers<'a> { +pub trait TreeWalkerHelpers { fn parent_node(self) -> Fallible<Option<Temporary<Node>>>; fn first_child(self) -> Fallible<Option<Temporary<Node>>>; fn last_child(self) -> Fallible<Option<Temporary<Node>>>; @@ -354,7 +354,7 @@ pub trait TreeWalkerHelpers<'a> { fn prev_node(self) -> Fallible<Option<Temporary<Node>>>; } -impl<'a> TreeWalkerHelpers<'a> for JSRef<'a, TreeWalker> { +impl<'a> TreeWalkerHelpers for JSRef<'a, TreeWalker> { // http://dom.spec.whatwg.org/#dom-treewalker-parentnode fn parent_node(self) -> Fallible<Option<Temporary<Node>>> { // "1. Let node be the value of the currentNode attribute." diff --git a/components/script/dom/urlsearchparams.rs b/components/script/dom/urlsearchparams.rs index b76504f4137..a8cfa3caf7d 100644 --- a/components/script/dom/urlsearchparams.rs +++ b/components/script/dom/urlsearchparams.rs @@ -53,7 +53,10 @@ impl URLSearchParams { let u = u.root(); let usp = usp.r(); let mut map = usp.data.borrow_mut(); - *map = u.r().data.borrow().clone(); + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let r = u.r(); + let data = r.data.borrow(); + *map = data.clone(); }, None => {} } @@ -81,11 +84,15 @@ impl<'a> URLSearchParamsMethods for JSRef<'a, URLSearchParams> { } fn Get(self, name: DOMString) -> Option<DOMString> { - self.data.borrow().get(&name).map(|v| v[0].clone()) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let data = self.data.borrow(); + data.get(&name).map(|v| v[0].clone()) } fn Has(self, name: DOMString) -> bool { - self.data.borrow().contains_key(&name) + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let data = self.data.borrow(); + data.contains_key(&name) } fn Set(self, name: DOMString, value: DOMString) { diff --git a/components/script/dom/webidls/Window.webidl b/components/script/dom/webidls/Window.webidl index c24057eeeba..ff0d9f31388 100644 --- a/components/script/dom/webidls/Window.webidl +++ b/components/script/dom/webidls/Window.webidl @@ -10,7 +10,7 @@ //[Unforgeable] readonly attribute WindowProxy window; //[Replaceable] readonly attribute WindowProxy self; readonly attribute Window window; - readonly attribute Window self; + [BinaryName="Self_"] readonly attribute Window self; /*[Unforgeable]*/ readonly attribute Document document; // attribute DOMString name; /*[PutForwards=href, Unforgeable]*/ readonly attribute Location location; diff --git a/components/script/dom/webidls/WorkerGlobalScope.webidl b/components/script/dom/webidls/WorkerGlobalScope.webidl index abb15523d98..1a53893b53e 100644 --- a/components/script/dom/webidls/WorkerGlobalScope.webidl +++ b/components/script/dom/webidls/WorkerGlobalScope.webidl @@ -5,7 +5,7 @@ // http://www.whatwg.org/html/#workerglobalscope //[Exposed=Worker] interface WorkerGlobalScope : EventTarget { - readonly attribute WorkerGlobalScope self; + [BinaryName="Self_"] readonly attribute WorkerGlobalScope self; readonly attribute WorkerLocation location; //void close(); diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 70c12abc9f3..5705a5235e1 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -179,11 +179,11 @@ impl Window { &self.image_cache_task } - pub fn compositor(&self) -> RefMut<Box<ScriptListener+'static>> { + pub fn compositor<'a>(&'a self) -> RefMut<'a, Box<ScriptListener+'static>> { self.compositor.borrow_mut() } - pub fn browser_context(&self) -> Ref<Option<BrowserContext>> { + pub fn browser_context<'a>(&'a self) -> Ref<'a, Option<BrowserContext>> { self.browser_context.borrow() } @@ -281,7 +281,9 @@ impl<'a> WindowMethods for JSRef<'a, Window> { } fn Document(self) -> Temporary<Document> { - self.browser_context().as_ref().unwrap().active_document() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let context = self.browser_context(); + context.as_ref().unwrap().active_document() } fn Location(self) -> Temporary<Location> { @@ -301,7 +303,9 @@ impl<'a> WindowMethods for JSRef<'a, Window> { } fn GetFrameElement(self) -> Option<Temporary<Element>> { - self.browser_context().as_ref().unwrap().frame_element() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let context = self.browser_context(); + context.as_ref().unwrap().frame_element() } fn Navigator(self) -> Temporary<Navigator> { @@ -356,7 +360,7 @@ impl<'a> WindowMethods for JSRef<'a, Window> { Temporary::from_rooted(self) } - fn Self(self) -> Temporary<Window> { + fn Self_(self) -> Temporary<Window> { self.Window() } @@ -373,7 +377,10 @@ impl<'a> WindowMethods for JSRef<'a, Window> { browser_context.frame_element().map_or(self.Window(), |fe| { let frame_element = fe.root(); let window = window_from_node(frame_element.r()).root(); - window.r().browser_context().as_ref().unwrap().active_window() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let r = window.r(); + let context = r.browser_context(); + context.as_ref().unwrap().active_window() }) } @@ -644,7 +651,9 @@ impl<'a> WindowHelpers for JSRef<'a, Window> { } fn steal_fragment_name(self) -> Option<String> { - self.fragment_name.borrow_mut().take() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let mut name = self.fragment_name.borrow_mut(); + name.take() } fn set_window_size(self, size: WindowSizeData) { @@ -688,7 +697,9 @@ impl<'a> WindowHelpers for JSRef<'a, Window> { } fn layout_is_idle(self) -> bool { - self.layout_join_port.borrow().is_none() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let port = self.layout_join_port.borrow(); + port.is_none() } fn set_resize_event(self, event: WindowSizeData) { diff --git a/components/script/dom/workerglobalscope.rs b/components/script/dom/workerglobalscope.rs index 86d93db6ce0..1a8e8b89e1e 100644 --- a/components/script/dom/workerglobalscope.rs +++ b/components/script/dom/workerglobalscope.rs @@ -84,7 +84,7 @@ impl WorkerGlobalScope { } impl<'a> WorkerGlobalScopeMethods for JSRef<'a, WorkerGlobalScope> { - fn Self(self) -> Temporary<WorkerGlobalScope> { + fn Self_(self) -> Temporary<WorkerGlobalScope> { Temporary::from_rooted(self) } diff --git a/components/script/dom/xmlhttprequest.rs b/components/script/dom/xmlhttprequest.rs index cb257f1ed25..36f9a0b06f7 100644 --- a/components/script/dom/xmlhttprequest.rs +++ b/components/script/dom/xmlhttprequest.rs @@ -369,9 +369,13 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { // Step 4 Some(Method::Connect) | Some(Method::Trace) => Err(Security), Some(Method::Extension(ref t)) if t.as_slice() == "TRACK" => Err(Security), - Some(_) if method.is_token() => { + Some(parsed_method) => { + // Step 3 + if !method.is_token() { + return Err(Syntax) + } - *self.request_method.borrow_mut() = maybe_method.unwrap(); + *self.request_method.borrow_mut() = parsed_method; // Step 6 let base = self.global.root().r().get_url(); @@ -675,7 +679,9 @@ impl<'a> XMLHttpRequestMethods for JSRef<'a, XMLHttpRequest> { self.status.get() } fn StatusText(self) -> ByteString { - self.status_text.borrow().clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let status_text = self.status_text.borrow(); + status_text.clone() } fn GetResponseHeader(self, name: ByteString) -> Option<ByteString> { self.filter_response_headers().iter().find(|h| { @@ -981,9 +987,12 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { None => {} } + + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let response = self.response.borrow(); // According to Simon, decode() should never return an error, so unwrap()ing // the result should be fine. XXXManishearth have a closer look at this later - encoding.decode(self.response.borrow().as_slice(), DecoderTrap::Replace).unwrap().to_owned() + encoding.decode(response.as_slice(), DecoderTrap::Replace).unwrap().to_owned() } fn filter_response_headers(self) -> Headers { // http://fetch.spec.whatwg.org/#concept-response-header-list @@ -992,7 +1001,7 @@ impl<'a> PrivateXMLHttpRequestHelpers for JSRef<'a, XMLHttpRequest> { use hyper::header::SetCookie; // a dummy header so we can use headers.remove::<SetCookie2>() - #[derive(Clone)] + #[derive(Clone, Debug)] struct SetCookie2; impl Header for SetCookie2 { fn header_name() -> &'static str { diff --git a/components/script/lib.rs b/components/script/lib.rs index a88bc2f5fa9..901a5a19687 100644 --- a/components/script/lib.rs +++ b/components/script/lib.rs @@ -14,13 +14,16 @@ #![feature(std_misc)] #![feature(unicode)] #![feature(unsafe_destructor)] +#![feature(custom_attribute)] #![deny(unsafe_blocks)] #![allow(non_snake_case)] -#![allow(missing_copy_implementations)] #![doc="The script crate contains all matters DOM."] +#![plugin(string_cache_plugin)] +#![plugin(plugins)] + #[macro_use] extern crate log; @@ -42,16 +45,12 @@ extern crate time; extern crate canvas; extern crate script_traits; extern crate selectors; -#[no_link] #[plugin] #[macro_use] -extern crate "plugins" as servo_plugins; extern crate util; #[macro_use] extern crate style; extern crate url; extern crate uuid; extern crate string_cache; -#[no_link] #[macro_use] #[plugin] -extern crate string_cache_macros; pub mod cors; diff --git a/components/script/script_task.rs b/components/script/script_task.rs index 3b17c49e45c..238763f3035 100644 --- a/components/script/script_task.rs +++ b/components/script/script_task.rs @@ -831,7 +831,7 @@ impl ScriptTask { fn handle_page_fetch_complete(&self, id: PipelineId, subpage: Option<SubpageId>, response: LoadResponse) { // Any notification received should refer to an existing, in-progress load that is tracked. - let idx = self.incomplete_loads.borrow().iter().position(|&:load| { + let idx = self.incomplete_loads.borrow().iter().position(|load| { load.pipeline_id == id && load.subpage_id.map(|sub| sub.1) == subpage }).unwrap(); let load = self.incomplete_loads.borrow_mut().remove(idx); diff --git a/components/script/timers.rs b/components/script/timers.rs index 23ae75ce98e..ea0c081d323 100644 --- a/components/script/timers.rs +++ b/components/script/timers.rs @@ -23,7 +23,7 @@ use std::cmp; use std::collections::HashMap; use std::sync::mpsc::{channel, Sender}; use std::sync::mpsc::Select; -use std::hash::{Hash, Hasher, Writer}; +use std::hash::{Hash, Hasher}; use std::old_io::timer::Timer; use std::time::duration::Duration; @@ -47,8 +47,8 @@ pub enum TimerCallback { FunctionTimerCallback(Function) } -impl<H: Writer + Hasher> Hash<H> for TimerId { - fn hash(&self, state: &mut H) { +impl Hash for TimerId { + fn hash<H: Hasher>(&self, state: &mut H) { let TimerId(id) = *self; id.hash(state); } diff --git a/components/script_traits/lib.rs b/components/script_traits/lib.rs index 05ed3f25097..d6e81a90ac0 100644 --- a/components/script_traits/lib.rs +++ b/components/script_traits/lib.rs @@ -5,8 +5,6 @@ #![feature(core)] #![feature(int_uint)] -#![allow(missing_copy_implementations)] - extern crate devtools_traits; extern crate geom; extern crate libc; diff --git a/components/servo/.cargo/config b/components/servo/.cargo/config index 6c935952e2c..eeea9a3ee22 100644 --- a/components/servo/.cargo/config +++ b/components/servo/.cargo/config @@ -1,4 +1,4 @@ paths = ["../../support/android-rs-glue"] [target.arm-linux-androideabi] -linker = "../../support/android-rs-glue/apk-builder/target/apk-builder" +linker = "../../support/android-rs-glue/apk-builder/target/debug/apk-builder" diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index f58178f144d..0b4505c6023 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -3,7 +3,7 @@ name = "servo" version = "0.0.1" dependencies = [ "android_glue 0.0.1", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", "devtools 0.0.1", "gfx 0.0.1", @@ -13,25 +13,19 @@ dependencies = [ "net 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", "script 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "android_glue" version = "0.0.1" -dependencies = [ - "compile_msg 0.1.5 (git+https://github.com/huonw/compile_msg)", -] [[package]] name = "android_glue" version = "0.0.1" -source = "git+https://github.com/tomaka/android-rs-glue#f9da46ed02736508d75333008d54506eec87a33b" -dependencies = [ - "compile_msg 0.1.5 (git+https://github.com/huonw/compile_msg)", -] +source = "git+https://github.com/tomaka/android-rs-glue#5a68056599fb498b0cf3715fd359894825e3b856" [[package]] name = "azure" @@ -44,14 +38,14 @@ dependencies = [ "egl 0.1.0 (git+https://github.com/servo/rust-egl)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "skia 0.0.20130412 (git+https://github.com/servo/skia?branch=upstream-2014-06-16)", "xlib 0.1.0 (git+https://github.com/servo/rust-xlib)", ] [[package]] name = "bitflags" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -68,7 +62,7 @@ dependencies = [ [[package]] name = "cgl" version = "0.0.1" -source = "git+https://github.com/servo/rust-cgl#7b7090729f65e2287c3d80651df02e547911b119" +source = "git+https://github.com/servo/rust-cgl#211afc4d1572d8fe67b91c452441b6cb292a2bc7" dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", ] @@ -76,18 +70,13 @@ dependencies = [ [[package]] name = "cocoa" version = "0.1.1" -source = "git+https://github.com/servo/rust-cocoa?branch=backport-20150306#c9b0a66dedd93d696e7281c9a3d743e54b502b96" +source = "git+https://github.com/servo/rust-cocoa#ca3441a14783aa0683e073f1a1f990ed21900718" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "compile_msg" -version = "0.1.5" -source = "git+https://github.com/huonw/compile_msg#9b01f38964c227a012b4c8196407db63d415ac89" - -[[package]] name = "compositing" version = "0.0.1" dependencies = [ @@ -100,36 +89,39 @@ dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", "layout_traits 0.0.1", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", "script_traits 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "cookie" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "openssl 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "core_foundation" version = "0.1.0" -source = "git+https://github.com/servo/rust-core-foundation#da9a52655fce4727dcf261d6ed9a49eeddc7b131" +source = "git+https://github.com/servo/rust-core-foundation#c577bd64b0301fe926cf7b757b9852a1ce1d521d" +dependencies = [ + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "core_graphics" version = "0.1.0" -source = "git+https://github.com/servo/rust-core-graphics#9434e2bda65d259f825104170b5fa6cc6dbaf5a9" +source = "git+https://github.com/servo/rust-core-graphics#e169ad38f71ed003c21fb550a9dfa0e51423ed3a" dependencies = [ "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", ] @@ -137,7 +129,7 @@ dependencies = [ [[package]] name = "core_text" version = "0.1.0" -source = "git+https://github.com/servo/rust-core-text#e769be9cb3366f9d403ddbee040e031ce03d32bb" +source = "git+https://github.com/servo/rust-core-text#8809f011445585d023d5e2a0712a1adcbf7ce609" dependencies = [ "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", @@ -146,11 +138,11 @@ dependencies = [ [[package]] name = "cssparser" version = "0.2.0" -source = "git+https://github.com/servo/rust-cssparser#cf59a4cf55b6386db255d6205b9804d8d74efd35" +source = "git+https://github.com/servo/rust-cssparser#56d5f94d5239d4bd68358813405e4d5823c01ff6" dependencies = [ - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "text_writer 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "text_writer 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -159,8 +151,8 @@ version = "0.0.1" dependencies = [ "devtools_traits 0.0.1", "msg 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -169,8 +161,8 @@ name = "devtools_traits" version = "0.0.1" dependencies = [ "msg 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -181,19 +173,19 @@ source = "git+https://github.com/servo/rust-egl#328e79b6256dea346f1821ccc4215e95 [[package]] name = "encoding" -version = "0.2.20" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "encoding-index-japanese 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-japanese 1.20141219.2 (registry+https://github.com/rust-lang/crates.io-index)", "encoding-index-korean 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", "encoding-index-simpchinese 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", "encoding-index-singlebyte 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-tradchinese 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-tradchinese 1.20141219.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "encoding-index-japanese" -version = "1.20141219.1" +version = "1.20141219.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "encoding_index_tests 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -225,7 +217,7 @@ dependencies = [ [[package]] name = "encoding-index-tradchinese" -version = "1.20141219.1" +version = "1.20141219.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "encoding_index_tests 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -239,7 +231,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "expat-sys" version = "2.1.0" -source = "git+https://github.com/servo/libexpat#fe8c3222efdd486b95ef198ef4eee0506e37a809" +source = "git+https://github.com/servo/libexpat#523a2f2f51b41adf7bb5c4c65e80db0cb615d70b" [[package]] name = "fontconfig" @@ -261,40 +253,40 @@ dependencies = [ [[package]] name = "freetype" version = "0.1.0" -source = "git+https://github.com/servo/rust-freetype#47ead45f939fe934af40e9652205c9d2a8b8e5e0" +source = "git+https://github.com/servo/rust-freetype#f256a9ac84893f0a183b8966de2a3a03d7552b8b" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "freetype-sys" version = "2.4.11" -source = "git+https://github.com/servo/libfreetype2#7b9d112c0a93574b4bf518922d16b8879c7aadae" +source = "git+https://github.com/servo/libfreetype2#a488dfd86872bf9c163d54a7f73a5dc4d3c4fd9e" [[package]] name = "gcc" -version = "0.1.7" -source = "git+https://github.com/alexcrichton/gcc-rs#016cc1597bbe52c26e41cf687476ba93f27fec41" +version = "0.3.1" +source = "git+https://github.com/alexcrichton/gcc-rs#564247d019449ba46f25f64ffdefade5968b6ae7" [[package]] name = "gcc" -version = "0.1.7" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "gdi32-sys" -version = "0.0.3" +version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "geom" version = "0.1.0" -source = "git+https://github.com/servo/rust-geom#876c2fceee211130d1294eacdc1bd8742c52540e" +source = "git+https://github.com/servo/rust-geom#c47fc0f927b6d6e5543fe3b5445c86810831dce1" dependencies = [ - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -302,7 +294,7 @@ name = "gfx" version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", "core_text 0.1.0 (git+https://github.com/servo/rust-core-text)", @@ -311,18 +303,18 @@ dependencies = [ "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "harfbuzz 0.1.0 (git+https://github.com/servo/rust-harfbuzz)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "skia 0.0.20130412 (git+https://github.com/servo/skia?branch=upstream-2014-06-16)", "stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)", "style 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -331,126 +323,129 @@ name = "gl_common" version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gl_generator" -version = "0.0.17" +version = "0.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "xml-rs 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "xml-rs 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gleam" version = "0.0.1" -source = "git+https://github.com/servo/gleam#1a85194298997cf602270d4c1aeb0a043ce339e7" +source = "git+https://github.com/servo/gleam#fb17a364f314a35a6d209e875b5e90a920d41e86" dependencies = [ "gl_common 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gl_generator 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.0.19 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "glutin" -version = "0.0.4" -source = "git+https://github.com/servo/glutin?branch=backport-20150306#89fbec47145eef519e2f3d7e0ad84e5f905f7295" +version = "0.0.7" +source = "git+https://github.com/servo/glutin#183d96b44e497fcc441f94d32d5228e4c3d28c4d" dependencies = [ "android_glue 0.0.1 (git+https://github.com/tomaka/android-rs-glue)", - "cocoa 0.1.1 (git+https://github.com/servo/rust-cocoa?branch=backport-20150306)", + "cocoa 0.1.1 (git+https://github.com/servo/rust-cocoa)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", - "gdi32-sys 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "gdi32-sys 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "gl_common 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gl_generator 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.0.19 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.0.11 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "user32-sys 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "user32-sys 0.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "glutin_app" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", "compositing 0.0.1", "egl 0.1.0 (git+https://github.com/servo/rust-egl)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "gleam 0.0.1 (git+https://github.com/servo/gleam)", - "glutin 0.0.4 (git+https://github.com/servo/glutin?branch=backport-20150306)", + "glutin 0.0.7 (git+https://github.com/servo/glutin)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "glx" version = "0.0.1" -source = "git+https://github.com/servo/rust-glx#d8a3329d1f68dc4cf72509daca7ef837b8ce94d6" +source = "git+https://github.com/servo/rust-glx#f2103861d38076ef5e01a8c2f58df1e79ca12f41" dependencies = [ "gl_common 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gl_generator 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.0.19 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "harfbuzz" version = "0.1.0" -source = "git+https://github.com/servo/rust-harfbuzz#d583ad55cc27600ffd33a8924812ec5ddb826c70" +source = "git+https://github.com/servo/rust-harfbuzz#cc875777f820da0b85f39c2359d9609650b16600" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "html5ever" version = "0.0.0" -source = "git+https://github.com/servo/html5ever#1c8c09934657fa8edb8ac94070a9061bc040621d" +source = "git+https://github.com/servo/html5ever#8bad1ca8e1e05a7972be80acc64efd729ffdc8a5" dependencies = [ "html5ever_macros 0.0.0 (git+https://github.com/servo/html5ever)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "phf 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_macros 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "mac 0.0.2 (git+https://github.com/reem/rust-mac)", + "phf 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_macros 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "html5ever_macros" version = "0.0.0" -source = "git+https://github.com/servo/html5ever#1c8c09934657fa8edb8ac94070a9061bc040621d" +source = "git+https://github.com/servo/html5ever#8bad1ca8e1e05a7972be80acc64efd729ffdc8a5" +dependencies = [ + "mac 0.0.2 (git+https://github.com/reem/rust-mac)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "hyper" -version = "0.1.10" -source = "git+https://github.com/servo/hyper?branch=servo#1f5547c4b7fd29781426f82dd857a96f1478b01c" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cookie 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mucell 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "unsafe-any 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "cookie 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "unicase 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "io_surface" version = "0.1.0" -source = "git+https://github.com/servo/rust-io-surface#691cbccc320c4fb9b75e215da9b0b82539d729bd" +source = "git+https://github.com/servo/rust-io-surface#f380a03a9b0e0316866d4320d46a78dda87efbec" dependencies = [ "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", @@ -461,18 +456,18 @@ dependencies = [ [[package]] name = "js" version = "0.1.0" -source = "git+https://github.com/servo/rust-mozjs#510f763c4410891a87a721b2c76c191c46413370" +source = "git+https://github.com/servo/rust-mozjs#77421145e3d983482939e8f1f1ef3a858eaef46f" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "mozjs-sys 0.0.0 (git+https://github.com/servo/mozjs)", ] [[package]] name = "kernel32-sys" -version = "0.0.6" +version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -483,7 +478,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "layers" version = "0.1.0" -source = "git+https://github.com/servo/rust-layers#62870a30b06fb8776e01140167e55d1f2370b503" +source = "git+https://github.com/servo/rust-layers#df3a14d00260c8ab506565972555931444361ff8" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", @@ -493,7 +488,7 @@ dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", "glx 0.0.1 (git+https://github.com/servo/rust-glx)", "io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "skia 0.0.20130412 (git+https://github.com/servo/skia?branch=upstream-2014-06-16)", "xlib 0.1.0 (git+https://github.com/servo/rust-xlib)", ] @@ -503,26 +498,26 @@ name = "layout" version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "gfx 0.0.1", "layout_traits 0.0.1", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "script_traits 0.0.1", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", "style 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -534,18 +529,18 @@ dependencies = [ "msg 0.0.1", "net 0.0.1", "script_traits 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "lazy_static" -version = "0.1.7" -source = "git+https://github.com/Kimundi/lazy-static.rs#b48b0c551087af9d598a0452f4e3973d98d4419b" +version = "0.1.8" +source = "git+https://github.com/Kimundi/lazy-static.rs#56b4be4141d3c58273cf5ee1d2e956e2f22248b9" [[package]] name = "libc" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -558,25 +553,30 @@ dependencies = [ [[package]] name = "log" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] +name = "mac" +version = "0.0.2" +source = "git+https://github.com/reem/rust-mac#6316d3f4663756180fd236b126a84e245e978765" + +[[package]] name = "matches" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "mime" -version = "0.0.8" +version = "0.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "mod_path" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -589,83 +589,89 @@ name = "msg" version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "hyper 0.1.10 (git+https://github.com/servo/hyper?branch=servo)", + "hyper 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", "style 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] -name = "mucell" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] name = "net" version = "0.0.1" dependencies = [ - "cookie 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "cookie 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "hyper 0.1.10 (git+https://github.com/servo/hyper?branch=servo)", - "openssl 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "png 0.1.0 (git+https://github.com/servo/rust-png)", - "regex 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "regex_macros 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "regex_macros 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "openssl" -version = "0.3.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "openssl-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "openssl-sys" -version = "0.3.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "libressl-pnacl-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "phf" -version = "0.6.4" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "phf_shared 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "phf_generator" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "phf_shared 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_shared 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "phf_macros" -version = "0.6.4" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "phf_shared 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_generator 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_shared 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "phf_shared" -version = "0.6.4" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "pkg-config" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -680,72 +686,81 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "png" version = "0.1.0" -source = "git+https://github.com/servo/rust-png#687f103498654815682d2a750f26bbefc46d9da4" +source = "git+https://github.com/servo/rust-png#da851d68159fe0a7dba81dfbee594e5226b72884" dependencies = [ - "gcc 0.1.7 (git+https://github.com/alexcrichton/gcc-rs)", + "gcc 0.3.1 (git+https://github.com/alexcrichton/gcc-rs)", "png-sys 1.6.16 (git+https://github.com/servo/rust-png)", ] [[package]] name = "png-sys" version = "1.6.16" -source = "git+https://github.com/servo/rust-png#687f103498654815682d2a750f26bbefc46d9da4" +source = "git+https://github.com/servo/rust-png#da851d68159fe0a7dba81dfbee594e5226b72884" [[package]] name = "rand" -version = "0.1.2" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex" -version = "0.1.14" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "regex_macros" -version = "0.1.8" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rustc-serialize" -version = "0.2.12" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "script" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", "devtools_traits 0.0.1", - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "gfx 0.0.1", "html5ever 0.0.0 (git+https://github.com/servo/html5ever)", - "hyper 0.1.10 (git+https://github.com/servo/hyper?branch=servo)", + "hyper 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "js 0.1.0 (git+https://github.com/servo/rust-mozjs)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", "style 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "uuid 0.1.9 (git+https://github.com/rust-lang/uuid)", + "uuid 0.1.11 (git+https://github.com/rust-lang/uuid)", ] [[package]] @@ -754,29 +769,29 @@ version = "0.0.1" dependencies = [ "devtools_traits 0.0.1", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "selectors" version = "0.1.0" -source = "git+https://github.com/servo/rust-selectors#2a492d522ef596a05c3677bb74bf8a5b73d01855" +source = "git+https://github.com/servo/rust-selectors#f3cffb2c37cf1a4dac06a02eb00a882626039a0c" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", ] [[package]] name = "skia" version = "0.0.20130412" -source = "git+https://github.com/servo/skia?branch=upstream-2014-06-16#76b626df0d6cfb32eb1ee5ba3c7b52aadd5a42e3" +source = "git+https://github.com/servo/skia?branch=upstream-2014-06-16#db5b5393c83da9ff5b8fb2076481e98fb2b659f2" dependencies = [ "expat-sys 2.1.0 (git+https://github.com/servo/libexpat)", "freetype-sys 2.4.11 (git+https://github.com/servo/libfreetype2)", @@ -785,46 +800,47 @@ dependencies = [ [[package]] name = "stb_image" version = "0.1.0" -source = "git+https://github.com/servo/rust-stb-image#8fb5031333ea142802724719ce20bfa132bc4802" +source = "git+https://github.com/servo/rust-stb-image#b683cc9e7ba52a1bb65361347da0df1bc9c5e854" [[package]] name = "string_cache" version = "0.0.0" -source = "git+https://github.com/servo/string-cache#12b84faff894d358a546bf064b0daf5f04f2a96b" +source = "git+https://github.com/servo/string-cache#8c05fdf456a0e4f884e85d7e3a7700b2e4ca91eb" dependencies = [ - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", - "phf 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_macros 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "xxhash 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", + "phf 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_macros 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", ] [[package]] -name = "string_cache_macros" +name = "string_cache_plugin" version = "0.0.0" -source = "git+https://github.com/servo/string-cache#12b84faff894d358a546bf064b0daf5f04f2a96b" +source = "git+https://github.com/servo/string-cache#8c05fdf456a0e4f884e85d7e3a7700b2e4ca91eb" dependencies = [ - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", + "mac 0.0.2 (git+https://github.com/reem/rust-mac)", ] [[package]] name = "style" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mod_path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "mod_path 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "text_writer 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", + "text_writer 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -834,101 +850,99 @@ version = "0.0.1" [[package]] name = "text_writer" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "time" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "unicase" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unsafe-any" -version = "0.2.2" +version = "0.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "url" -version = "0.2.19" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "user32-sys" -version = "0.0.8" +version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "util" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rand 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", "task_info 0.0.1", - "text_writer 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "text_writer 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "uuid" -version = "0.1.9" -source = "git+https://github.com/rust-lang/uuid#3128649cde7c4ba390b31298093d6c181a23eb61" +version = "0.1.11" +source = "git+https://github.com/rust-lang/uuid#c7862508f84b114d22bb68ec01202eafc50a81b2" dependencies = [ - "rand 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "winapi" -version = "0.1.9" +version = "0.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" + +[[package]] +name = "winapi" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "xlib" version = "0.1.0" -source = "git+https://github.com/servo/rust-xlib#4f1bfc476256c37a152980d42213116a62629599" +source = "git+https://github.com/servo/rust-xlib#715e6f9bb3dfcd925996caedeb77aefb31c2bd65" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xml-rs" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "xxhash" -version = "0.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - diff --git a/components/servo/lib.rs b/components/servo/lib.rs index c41b5df01af..52f4595b41e 100644 --- a/components/servo/lib.rs +++ b/components/servo/lib.rs @@ -4,8 +4,6 @@ #![feature(core, env, libc, path, rustc_private, std_misc, thread_local)] -#![allow(missing_copy_implementations)] - #[macro_use] extern crate log; @@ -57,13 +55,14 @@ use std::sync::mpsc::channel; #[cfg(not(test))] use std::thread::Builder; -pub struct Browser<Window> { +pub struct Browser { compositor: Box<CompositorEventListener + 'static>, } -impl<Window> Browser<Window> where Window: WindowMethods + 'static { +impl Browser { #[cfg(not(test))] - pub fn new(window: Option<Rc<Window>>) -> Browser<Window> { + pub fn new<Window>(window: Option<Rc<Window>>) -> Browser + where Window: WindowMethods + 'static { use std::env; ::util::opts::set_experimental_enabled(opts::get().enable_experimental); @@ -120,7 +119,7 @@ impl<Window> Browser<Window> where Window: WindowMethods + 'static { let url = match url::Url::parse(&*url) { Ok(url) => url, Err(url::ParseError::RelativeUrlWithoutBase) - => url::Url::from_file_path(&cwd.join(&*url)).unwrap(), + => url::Url::from_file_path(&*cwd.join(&*url)).unwrap(), Err(_) => panic!("URL parsing failed"), }; diff --git a/components/servo/main.rs b/components/servo/main.rs index 1e7683a9e06..f0d338d9c93 100644 --- a/components/servo/main.rs +++ b/components/servo/main.rs @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#![feature(env, os)] +#![feature(env, os, start)] #[cfg(target_os="android")] extern crate libc; @@ -41,7 +41,7 @@ use std::borrow::ToOwned; #[cfg(not(test))] struct BrowserWrapper { - browser: Browser<app::window::Window>, + browser: Browser, } #[cfg(target_os="android")] @@ -58,7 +58,7 @@ fn get_args() -> Vec<String> { #[cfg(not(target_os="android"))] fn get_args() -> Vec<String> { use std::env; - env::args().map(|s| s.into_string().unwrap()).collect() + env::args().collect() } #[cfg(target_os="android")] diff --git a/components/style/Cargo.toml b/components/style/Cargo.toml index a992d5406e9..dde46e98962 100644 --- a/components/style/Cargo.toml +++ b/components/style/Cargo.toml @@ -30,13 +30,13 @@ git = "https://github.com/Kimundi/lazy-static.rs" [dependencies.string_cache] git = "https://github.com/servo/string-cache" -[dependencies.string_cache_macros] +[dependencies.string_cache_plugin] git = "https://github.com/servo/string-cache" [dependencies] text_writer = "0.1.1" encoding = "0.2" -rustc-serialize = "0.2" +rustc-serialize = "0.3" matches = "0.1" url = "0.2.16" mod_path = "0.1" diff --git a/components/style/build.rs b/components/style/build.rs index 908bd3a4414..ff177c4f702 100644 --- a/components/style/build.rs +++ b/components/style/build.rs @@ -2,7 +2,7 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -#![feature(path, io, env)] +#![feature(env, old_io, old_path)] use std::env; use std::old_path::Path; @@ -28,6 +28,6 @@ fn main() { .output() .unwrap(); assert_eq!(result.status, ProcessExit::ExitStatus(0)); - let out = Path::new(env::var_string("OUT_DIR").unwrap()); + let out = Path::new(env::var("OUT_DIR").unwrap()); File::create(&out.join("properties.rs")).unwrap().write_all(&*result.output).unwrap(); } diff --git a/components/style/legacy.rs b/components/style/legacy.rs index 65d05514754..d8c1d627491 100644 --- a/components/style/legacy.rs +++ b/components/style/legacy.rs @@ -66,14 +66,13 @@ pub trait PresentationalHintSynthesis { /// `common_style_affecting_attributes` or `rare_style_affecting_attributes` as appropriate. If /// you don't, you risk strange random nondeterministic failures due to false positives in /// style sharing. - fn synthesize_presentational_hints_for_legacy_attributes<'a,E,N,V>( + fn synthesize_presentational_hints_for_legacy_attributes<'a,N,V>( &self, node: &N, matching_rules_list: &mut V, shareable: &mut bool) - where E: TElement<'a> + - TElementAttributes, - N: TNode<'a,E>, + where N: TNode<'a>, + N::Element: TElementAttributes, V: VecLike<DeclarationBlock<Vec<PropertyDeclaration>>>; /// Synthesizes rules for the legacy `bgcolor` attribute. fn synthesize_presentational_hint_for_legacy_background_color_attribute<'a,E,V>( @@ -100,14 +99,13 @@ pub trait PresentationalHintSynthesis { } impl PresentationalHintSynthesis for Stylist { - fn synthesize_presentational_hints_for_legacy_attributes<'a,E,N,V>( + fn synthesize_presentational_hints_for_legacy_attributes<'a,N,V>( &self, node: &N, matching_rules_list: &mut V, shareable: &mut bool) - where E: TElement<'a> + - TElementAttributes, - N: TNode<'a,E>, + where N: TNode<'a>, + N::Element: TElementAttributes, V: VecLike<DeclarationBlock<Vec<PropertyDeclaration>>> { let element = node.as_element(); match element.get_local_name() { diff --git a/components/style/lib.rs b/components/style/lib.rs index 4e301cfc181..32e4a3bf3ef 100644 --- a/components/style/lib.rs +++ b/components/style/lib.rs @@ -12,9 +12,11 @@ #![allow(missing_copy_implementations)] +#![plugin(string_cache_plugin)] +#![plugin(mod_path)] + #[macro_use] extern crate log; #[macro_use] extern crate bitflags; -#[no_link] #[macro_use] #[plugin] extern crate string_cache_macros; extern crate collections; extern crate geom; @@ -37,8 +39,6 @@ extern crate lazy_static; extern crate util; -#[plugin] #[no_link] extern crate mod_path; - pub mod stylesheets; pub mod parser; diff --git a/components/style/properties.mako.rs b/components/style/properties.mako.rs index 5603c5ebf71..bb9c66462a5 100644 --- a/components/style/properties.mako.rs +++ b/components/style/properties.mako.rs @@ -3886,26 +3886,24 @@ pub mod shorthands { // TODO(SimonSapin): Convert this to a syntax extension rather than a Mako template. // Maybe submit for inclusion in libstd? mod property_bit_field { - use std::uint; - use std::mem; pub struct PropertyBitField { - storage: [uint; (${len(LONGHANDS)} - 1 + uint::BITS) / uint::BITS] + storage: [u32; (${len(LONGHANDS)} - 1 + 32) / 32] } impl PropertyBitField { #[inline] pub fn new() -> PropertyBitField { - PropertyBitField { storage: unsafe { mem::zeroed() } } + PropertyBitField { storage: [0; (${len(LONGHANDS)} - 1 + 32) / 32] } } #[inline] fn get(&self, bit: uint) -> bool { - (self.storage[bit / uint::BITS] & (1 << (bit % uint::BITS))) != 0 + (self.storage[bit / 32] & (1 << (bit % 32))) != 0 } #[inline] fn set(&mut self, bit: uint) { - self.storage[bit / uint::BITS] |= 1 << (bit % uint::BITS) + self.storage[bit / 32] |= 1 << (bit % 32) } % for i, property in enumerate(LONGHANDS): % if property.derived_from is None: diff --git a/components/style/selector_matching.rs b/components/style/selector_matching.rs index b0553bf31c1..bc74eb1c122 100644 --- a/components/style/selector_matching.rs +++ b/components/style/selector_matching.rs @@ -169,7 +169,7 @@ impl Stylist { /// The returned boolean indicates whether the style is *shareable*; that is, whether the /// matched selectors are simple enough to allow the matching logic to be reduced to the logic /// in `css::matching::PrivateMatchMethods::candidate_element_allows_for_style_sharing`. - pub fn push_applicable_declarations<'a,E,N,V>( + pub fn push_applicable_declarations<'a,N,V>( &self, element: &N, parent_bf: &Option<Box<BloomFilter>>, @@ -177,8 +177,8 @@ impl Stylist { pseudo_element: Option<PseudoElement>, applicable_declarations: &mut V) -> bool - where E: TElement<'a> + TElementAttributes, - N: TNode<'a,E>, + where N: TNode<'a>, + N::Element: TElementAttributes, V: VecLike<DeclarationBlock> { assert!(!self.is_dirty); assert!(element.is_element()); diff --git a/components/style/values.rs b/components/style/values.rs index e152c9d954a..b4db577d461 100644 --- a/components/style/values.rs +++ b/components/style/values.rs @@ -873,6 +873,7 @@ pub mod computed { use geom::size::Size2D; use properties::longhands; use std::fmt; + use std::marker::MarkerTrait; use std::ops::{Add, Mul}; use url::Url; use util::geometry::Au; @@ -909,7 +910,7 @@ pub mod computed { fn to_computed_value(&self, _context: &Context) -> Self::ComputedValue; } - pub trait ComputedValueAsSpecified {} + pub trait ComputedValueAsSpecified: MarkerTrait {} impl<T> ToComputedValue for T where T: ComputedValueAsSpecified + Clone { type ComputedValue = T; diff --git a/components/util/Cargo.toml b/components/util/Cargo.toml index 968338771b7..2070c9bb158 100644 --- a/components/util/Cargo.toml +++ b/components/util/Cargo.toml @@ -36,7 +36,7 @@ path = "../../support/rust-task_info" [dependencies.string_cache] git = "https://github.com/servo/string-cache" -[dependencies.string_cache_macros] +[dependencies.string_cache_plugin] git = "https://github.com/servo/string-cache" [dependencies.lazy_static] @@ -47,7 +47,7 @@ bitflags = "*" libc = "*" rand = "*" regex = "0.1.14" -rustc-serialize = "0.2" +rustc-serialize = "0.3" text_writer = "0.1.1" time = "0.1.12" url = "0.2.16" diff --git a/components/util/cache.rs b/components/util/cache.rs index 757a6d60c20..8e81bb2b8bf 100644 --- a/components/util/cache.rs +++ b/components/util/cache.rs @@ -12,6 +12,7 @@ use std::hash::{Hash, Hasher, SipHasher}; use std::iter::repeat; use rand; use std::slice::Iter; +use std::default::Default; #[cfg(test)] use std::cell::Cell; @@ -21,12 +22,12 @@ pub struct HashCache<K, V> { } impl<K, V> HashCache<K,V> - where K: Clone + PartialEq + Eq + Hash<SipHasher>, + where K: Clone + PartialEq + Eq + Hash, V: Clone, { pub fn new() -> HashCache<K,V> { HashCache { - entries: HashMap::with_hash_state(DefaultState), + entries: HashMap::with_hash_state(<DefaultState<SipHasher> as Default>::default()), } } @@ -133,7 +134,7 @@ pub struct SimpleHashCache<K,V> { k1: u64, } -impl<K:Clone+Eq+Hash<SipHasher>,V:Clone> SimpleHashCache<K,V> { +impl<K:Clone+Eq+Hash,V:Clone> SimpleHashCache<K,V> { pub fn new(cache_size: usize) -> SimpleHashCache<K,V> { let mut r = rand::thread_rng(); SimpleHashCache { @@ -149,7 +150,7 @@ impl<K:Clone+Eq+Hash<SipHasher>,V:Clone> SimpleHashCache<K,V> { } #[inline] - fn bucket_for_key<Q:Hash<SipHasher>>(&self, key: &Q) -> usize { + fn bucket_for_key<Q:Hash>(&self, key: &Q) -> usize { let mut hasher = SipHasher::new_with_keys(self.k0, self.k1); key.hash(&mut hasher); self.to_bucket(hasher.finish() as usize) @@ -160,7 +161,7 @@ impl<K:Clone+Eq+Hash<SipHasher>,V:Clone> SimpleHashCache<K,V> { self.entries[bucket_index] = Some((key, value)); } - pub fn find<Q>(&self, key: &Q) -> Option<V> where Q: PartialEq<K> + Hash<SipHasher> + Eq { + pub fn find<Q>(&self, key: &Q) -> Option<V> where Q: PartialEq<K> + Hash + Eq { let bucket_index = self.bucket_for_key(key); match self.entries[bucket_index] { Some((ref existing_key, ref value)) if key == existing_key => Some((*value).clone()), diff --git a/components/util/deque/mod.rs b/components/util/deque/mod.rs index 089edf6bd43..888646a03d1 100644 --- a/components/util/deque/mod.rs +++ b/components/util/deque/mod.rs @@ -78,6 +78,8 @@ struct Deque<T> { pool: BufferPool<T>, } +unsafe impl<T> Send for Deque<T> {} + /// Worker half of the work-stealing deque. This worker has exclusive access to /// one side of the deque, and uses `push` and `pop` method to manipulate it. /// @@ -144,7 +146,7 @@ struct Buffer<T> { unsafe impl<T: 'static> Send for Buffer<T> { } -impl<T: Send> BufferPool<T> { +impl<T: Send + 'static> BufferPool<T> { /// Allocates a new buffer pool which in turn can be used to allocate new /// deques. pub fn new() -> BufferPool<T> { @@ -182,7 +184,7 @@ impl<T: Send> Clone for BufferPool<T> { fn clone(&self) -> BufferPool<T> { BufferPool { pool: self.pool.clone() } } } -impl<T: Send> Worker<T> { +impl<T: Send + 'static> Worker<T> { /// Pushes data onto the front of this work queue. pub fn push(&self, t: T) { unsafe { self.deque.push(t) } @@ -201,7 +203,7 @@ impl<T: Send> Worker<T> { } } -impl<T: Send> Stealer<T> { +impl<T: Send + 'static> Stealer<T> { /// Steals work off the end of the queue (opposite of the worker's end) pub fn steal(&self) -> Stolen<T> { unsafe { self.deque.steal() } @@ -224,7 +226,7 @@ impl<T: Send> Clone for Stealer<T> { // Almost all of this code can be found directly in the paper so I'm not // personally going to heavily comment what's going on here. -impl<T: Send> Deque<T> { +impl<T: Send + 'static> Deque<T> { fn new(mut pool: BufferPool<T>) -> Deque<T> { let buf = pool.alloc(MIN_BITS); Deque { @@ -330,7 +332,7 @@ impl<T: Send> Deque<T> { #[unsafe_destructor] -impl<T: Send> Drop for Deque<T> { +impl<T: Send + 'static> Drop for Deque<T> { fn drop(&mut self) { let t = self.top.load(SeqCst); let b = self.bottom.load(SeqCst); diff --git a/components/util/dlist.rs b/components/util/dlist.rs index ce55743f14b..95cadd025c1 100644 --- a/components/util/dlist.rs +++ b/components/util/dlist.rs @@ -4,14 +4,14 @@ //! Utility functions for doubly-linked lists. -use std::collections::DList; +use std::collections::LinkedList; use std::mem; /// Splits the head off a list in O(1) time, and returns the head. -pub fn split_off_head<T>(list: &mut DList<T>) -> DList<T> { +pub fn split_off_head<T>(list: &mut LinkedList<T>) -> LinkedList<T> { // FIXME: Work around https://github.com/rust-lang/rust/issues/22244 if list.len() == 1 { - return mem::replace(list, DList::new()); + return mem::replace(list, LinkedList::new()); } let tail = list.split_off(1); mem::replace(list, tail) @@ -19,7 +19,7 @@ pub fn split_off_head<T>(list: &mut DList<T>) -> DList<T> { /// Prepends the items in the other list to this one, leaving the other list empty. #[inline] -pub fn prepend_from<T>(this: &mut DList<T>, other: &mut DList<T>) { +pub fn prepend_from<T>(this: &mut LinkedList<T>, other: &mut LinkedList<T>) { other.append(this); mem::swap(this, other); } diff --git a/components/util/fnv.rs b/components/util/fnv.rs index 61b4cd73d48..9f4f0f69b24 100644 --- a/components/util/fnv.rs +++ b/components/util/fnv.rs @@ -5,7 +5,8 @@ //! This file stolen wholesale from rustc/src/librustc/util/nodemap.rs use std::default::Default; -use std::hash::{Hasher, Writer}; +use std::hash::Hasher; +use std::num::wrapping::WrappingOps; /// A speedy hash algorithm for node ids and def ids. The hashmap in /// libcollections by default uses SipHash which isn't quite as speedy as we @@ -22,17 +23,12 @@ impl Default for FnvHasher { } impl Hasher for FnvHasher { - type Output = u64; - fn reset(&mut self) { *self = Default::default(); } fn finish(&self) -> u64 { self.0 } -} - -impl Writer for FnvHasher { fn write(&mut self, bytes: &[u8]) { let FnvHasher(mut hash) = *self; for byte in bytes.iter() { hash = hash ^ (*byte as u64); - hash = hash * 0x100000001b3; + hash = hash.wrapping_mul(0x100000001b3); } *self = FnvHasher(hash); } diff --git a/components/util/geometry.rs b/components/util/geometry.rs index f67859b4503..05b1469a1b1 100644 --- a/components/util/geometry.rs +++ b/components/util/geometry.rs @@ -132,7 +132,7 @@ impl Add for Au { fn add(self, other: Au) -> Au { let Au(s) = self; let Au(o) = other; - Au(s + o) + Au(s.wrapping_add(o)) } } @@ -143,7 +143,7 @@ impl Sub for Au { fn sub(self, other: Au) -> Au { let Au(s) = self; let Au(o) = other; - Au(s - o) + Au(s.wrapping_sub(o)) } } @@ -154,7 +154,7 @@ impl Mul<i32> for Au { #[inline] fn mul(self, other: i32) -> Au { let Au(s) = self; - Au(s * other) + Au(s.wrapping_mul(other)) } } diff --git a/components/util/lib.rs b/components/util/lib.rs index 49fa606f39d..6cebd0155a5 100644 --- a/components/util/lib.rs +++ b/components/util/lib.rs @@ -18,7 +18,7 @@ #![feature(unicode)] #![feature(unsafe_destructor)] -#![allow(missing_copy_implementations)] +#![plugin(string_cache_plugin)] #[macro_use] extern crate log; @@ -44,8 +44,6 @@ extern crate string_cache; extern crate unicode; extern crate url; -#[no_link] #[macro_use] #[plugin] -extern crate string_cache_macros; extern crate lazy_static; pub use selectors::smallvec; diff --git a/components/util/memory.rs b/components/util/memory.rs index 56bd91c3f88..6c9f38c6141 100644 --- a/components/util/memory.rs +++ b/components/util/memory.rs @@ -6,7 +6,8 @@ use libc::{c_char,c_int,c_void,size_t}; use std::borrow::ToOwned; -use std::collections::{DList, HashMap}; +use std::collections::HashMap; +use std::collections::LinkedList as DList; use std::ffi::CString; #[cfg(target_os = "linux")] use std::iter::AdditiveIterator; diff --git a/components/util/opts.rs b/components/util/opts.rs index e6b593593ab..19198cc84da 100644 --- a/components/util/opts.rs +++ b/components/util/opts.rs @@ -271,7 +271,7 @@ pub fn from_cmdline_args(args: &[String]) -> bool { }; let device_pixels_per_px = opt_match.opt_str("device-pixel-ratio").map(|dppx_str| - ScaleFactor(dppx_str.parse().unwrap()) + ScaleFactor::new(dppx_str.parse().unwrap()) ); let mut paint_threads: usize = match opt_match.opt_str("t") { diff --git a/components/util/persistent_list.rs b/components/util/persistent_list.rs index e78dc3daa1e..b49cd44cd8b 100644 --- a/components/util/persistent_list.rs +++ b/components/util/persistent_list.rs @@ -74,7 +74,7 @@ pub struct PersistentListIterator<'a,T> where T: 'a + Send + Sync { entry: Option<&'a PersistentListEntry<T>>, } -impl<'a,T> Iterator for PersistentListIterator<'a,T> where T: Send + Sync { +impl<'a,T> Iterator for PersistentListIterator<'a,T> where T: Send + Sync + 'static { type Item = &'a T; #[inline] diff --git a/components/util/range.rs b/components/util/range.rs index dba80b458f2..df32d0cffd3 100644 --- a/components/util/range.rs +++ b/components/util/range.rs @@ -7,6 +7,7 @@ use std::iter; use std::fmt; use std::num; use std::num::Int; +use std::marker::PhantomData; /// An index type to be used by a `Range` pub trait RangeIndex: Int + fmt::Debug { @@ -27,93 +28,93 @@ impl RangeIndex for int { /// Implements a range index type with operator overloads #[macro_export] macro_rules! int_range_index { - ($(#[$attr:meta])* struct $Self:ident($T:ty)) => ( + ($(#[$attr:meta])* struct $Self_:ident($T:ty)) => ( #[derive(Clone, PartialEq, PartialOrd, Eq, Ord, Debug, Copy)] $(#[$attr])* - pub struct $Self(pub $T); + pub struct $Self_(pub $T); - impl $Self { + impl $Self_ { #[inline] pub fn to_uint(self) -> uint { self.get() as uint } } - impl RangeIndex for $Self { + impl RangeIndex for $Self_ { type Index = $T; #[inline] - fn new(x: $T) -> $Self { - $Self(x) + fn new(x: $T) -> $Self_ { + $Self_(x) } #[inline] fn get(self) -> $T { - match self { $Self(x) => x } + match self { $Self_(x) => x } } } - impl ::std::num::Int for $Self { - fn zero() -> $Self { $Self(0) } - fn one() -> $Self { $Self(1) } - fn min_value() -> $Self { $Self(::std::num::Int::min_value()) } - fn max_value() -> $Self { $Self(::std::num::Int::max_value()) } - fn count_ones(self) -> uint { self.get().count_ones() } - fn leading_zeros(self) -> uint { self.get().leading_zeros() } - fn trailing_zeros(self) -> uint { self.get().trailing_zeros() } - fn rotate_left(self, n: uint) -> $Self { $Self(self.get().rotate_left(n)) } - fn rotate_right(self, n: uint) -> $Self { $Self(self.get().rotate_right(n)) } - fn swap_bytes(self) -> $Self { $Self(self.get().swap_bytes()) } - fn checked_add(self, other: $Self) -> Option<$Self> { - self.get().checked_add(other.get()).map($Self) + impl ::std::num::Int for $Self_ { + fn zero() -> $Self_ { $Self_(0) } + fn one() -> $Self_ { $Self_(1) } + fn min_value() -> $Self_ { $Self_(::std::num::Int::min_value()) } + fn max_value() -> $Self_ { $Self_(::std::num::Int::max_value()) } + fn count_ones(self) -> u32 { self.get().count_ones() } + fn leading_zeros(self) -> u32 { self.get().leading_zeros() } + fn trailing_zeros(self) -> u32 { self.get().trailing_zeros() } + fn rotate_left(self, n: u32) -> $Self_ { $Self_(self.get().rotate_left(n)) } + fn rotate_right(self, n: u32) -> $Self_ { $Self_(self.get().rotate_right(n)) } + fn swap_bytes(self) -> $Self_ { $Self_(self.get().swap_bytes()) } + fn checked_add(self, other: $Self_) -> Option<$Self_> { + self.get().checked_add(other.get()).map($Self_) } - fn checked_sub(self, other: $Self) -> Option<$Self> { - self.get().checked_sub(other.get()).map($Self) + fn checked_sub(self, other: $Self_) -> Option<$Self_> { + self.get().checked_sub(other.get()).map($Self_) } - fn checked_mul(self, other: $Self) -> Option<$Self> { - self.get().checked_mul(other.get()).map($Self) + fn checked_mul(self, other: $Self_) -> Option<$Self_> { + self.get().checked_mul(other.get()).map($Self_) } - fn checked_div(self, other: $Self) -> Option<$Self> { - self.get().checked_div(other.get()).map($Self) + fn checked_div(self, other: $Self_) -> Option<$Self_> { + self.get().checked_div(other.get()).map($Self_) } } - impl Add<$Self> for $Self { - type Output = $Self; + impl Add<$Self_> for $Self_ { + type Output = $Self_; #[inline] - fn add(self, other: $Self) -> $Self { - $Self(self.get() + other.get()) + fn add(self, other: $Self_) -> $Self_ { + $Self_(self.get() + other.get()) } } - impl Sub<$Self> for $Self { - type Output = $Self; + impl Sub<$Self_> for $Self_ { + type Output = $Self_; #[inline] - fn sub(self, other: $Self) -> $Self { - $Self(self.get() - other.get()) + fn sub(self, other: $Self_) -> $Self_ { + $Self_(self.get() - other.get()) } } - impl Mul<$Self> for $Self { - type Output = $Self; + impl Mul<$Self_> for $Self_ { + type Output = $Self_; #[inline] - fn mul(self, other: $Self) -> $Self { - $Self(self.get() * other.get()) + fn mul(self, other: $Self_) -> $Self_ { + $Self_(self.get() * other.get()) } } - impl Neg for $Self { - type Output = $Self; + impl Neg for $Self_ { + type Output = $Self_; #[inline] - fn neg(self) -> $Self { - $Self(-self.get()) + fn neg(self) -> $Self_ { + $Self_(-self.get()) } } - impl ToPrimitive for $Self { + impl ToPrimitive for $Self_ { fn to_i64(&self) -> Option<i64> { Some(self.get() as i64) } @@ -123,65 +124,92 @@ macro_rules! int_range_index { } } - impl ::std::num::NumCast for $Self { - fn from<T: ToPrimitive>(n: T) -> Option<$Self> { - n.to_int().map($Self) + impl ::std::num::NumCast for $Self_ { + fn from<T: ToPrimitive>(n: T) -> Option<$Self_> { + n.to_int().map($Self_) } } - impl Div<$Self> for $Self { - type Output = $Self; - fn div(self, other: $Self) -> $Self { - $Self(self.get() / other.get()) + impl Div<$Self_> for $Self_ { + type Output = $Self_; + fn div(self, other: $Self_) -> $Self_ { + $Self_(self.get() / other.get()) } } - impl Rem<$Self> for $Self { - type Output = $Self; - fn rem(self, other: $Self) -> $Self { - $Self(self.get() % other.get()) + impl Rem<$Self_> for $Self_ { + type Output = $Self_; + fn rem(self, other: $Self_) -> $Self_ { + $Self_(self.get() % other.get()) } } - impl Not for $Self { - type Output = $Self; - fn not(self) -> $Self { - $Self(!self.get()) + impl Not for $Self_ { + type Output = $Self_; + fn not(self) -> $Self_ { + $Self_(!self.get()) } } - impl BitAnd<$Self> for $Self { - type Output = $Self; - fn bitand(self, other: $Self) -> $Self { - $Self(self.get() & other.get()) + impl BitAnd<$Self_> for $Self_ { + type Output = $Self_; + fn bitand(self, other: $Self_) -> $Self_ { + $Self_(self.get() & other.get()) } } - impl BitOr<$Self> for $Self { - type Output = $Self; - fn bitor(self, other: $Self) -> $Self { - $Self(self.get() | other.get()) + impl BitOr<$Self_> for $Self_ { + type Output = $Self_; + fn bitor(self, other: $Self_) -> $Self_ { + $Self_(self.get() | other.get()) } } - impl BitXor<$Self> for $Self { - type Output = $Self; - fn bitxor(self, other: $Self) -> $Self { - $Self(self.get() ^ other.get()) + impl BitXor<$Self_> for $Self_ { + type Output = $Self_; + fn bitxor(self, other: $Self_) -> $Self_ { + $Self_(self.get() ^ other.get()) } } - impl Shl<uint> for $Self { - type Output = $Self; - fn shl(self, n: uint) -> $Self { - $Self(self.get() << n) + impl Shl<uint> for $Self_ { + type Output = $Self_; + fn shl(self, n: uint) -> $Self_ { + $Self_(self.get() << n) } } - impl Shr<uint> for $Self { - type Output = $Self; - fn shr(self, n: uint) -> $Self { - $Self(self.get() >> n) + impl Shr<uint> for $Self_ { + type Output = $Self_; + fn shr(self, n: uint) -> $Self_ { + $Self_(self.get() >> n) + } + } + + impl ::std::num::wrapping::WrappingOps for $Self_ { + fn wrapping_add(self, rhs: $Self_) -> $Self_ { + $Self_(self.get().wrapping_add(rhs.get())) + } + fn wrapping_sub(self, rhs: $Self_) -> $Self_ { + $Self_(self.get().wrapping_sub(rhs.get())) + } + fn wrapping_mul(self, rhs: $Self_) -> $Self_ { + $Self_(self.get().wrapping_mul(rhs.get())) + } + } + + impl ::std::num::wrapping::OverflowingOps for $Self_ { + fn overflowing_add(self, rhs: $Self_) -> ($Self_, bool) { + let (x, b) = self.get().overflowing_add(rhs.get()); + ($Self_(x), b) + } + fn overflowing_sub(self, rhs: $Self_) -> ($Self_, bool) { + let (x, b) = self.get().overflowing_sub(rhs.get()); + ($Self_(x), b) + } + fn overflowing_mul(self, rhs: $Self_) -> ($Self_, bool) { + let (x, b) = self.get().overflowing_mul(rhs.get()); + ($Self_(x), b) } } ) @@ -203,10 +231,11 @@ impl<I: RangeIndex> fmt::Debug for Range<I> { /// An iterator over each index in a range pub struct EachIndex<T, I> { it: iter::Range<T>, + phantom: PhantomData<I>, } pub fn each_index<T: Int, I: RangeIndex<Index=T>>(start: I, stop: I) -> EachIndex<T, I> { - EachIndex { it: iter::range(start.get(), stop.get()) } + EachIndex { it: iter::range(start.get(), stop.get()), phantom: PhantomData } } impl<T: Int, I: RangeIndex<Index=T>> Iterator for EachIndex<T, I> { diff --git a/components/util/resource_files.rs b/components/util/resource_files.rs index c1defd887f0..47967981a61 100644 --- a/components/util/resource_files.rs +++ b/components/util/resource_files.rs @@ -2,22 +2,22 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -use std::old_io::{File, IoResult}; -use std::old_path::Path; +use std::fs::{File, PathExt}; +use std::io::{self, Read}; +use std::path::PathBuf; #[cfg(target_os = "android")] -pub fn resources_dir_path() -> Path { - Path::new("/sdcard/servo/") +pub fn resources_dir_path() -> PathBuf { + PathBuf::new("/sdcard/servo/") } #[cfg(not(target_os = "android"))] -pub fn resources_dir_path() -> Path { +pub fn resources_dir_path() -> PathBuf { use opts; use std::env; - use std::old_io::fs::PathExtensions; match opts::get().resources_path { - Some(ref path) => Path::new(path), + Some(ref path) => PathBuf::new(path), None => { // FIXME: Find a way to not rely on the executable being // under `<servo source>/components/servo/target` @@ -39,9 +39,13 @@ pub fn resources_dir_path() -> Path { } -pub fn read_resource_file(relative_path_components: &[&str]) -> IoResult<Vec<u8>> { +pub fn read_resource_file(relative_path_components: &[&str]) -> io::Result<Vec<u8>> { let mut path = resources_dir_path(); - path.push_many(relative_path_components); + for component in relative_path_components { + path.push(component); + } let mut file = try!(File::open(&path)); - file.read_to_end() + let mut data = Vec::new(); + try!(file.read_to_end(&mut data)); + Ok(data) } diff --git a/components/util/str.rs b/components/util/str.rs index 80cdd1ae230..bc193002ff1 100644 --- a/components/util/str.rs +++ b/components/util/str.rs @@ -35,25 +35,11 @@ pub fn null_str_as_empty_ref<'a>(s: &'a Option<DOMString>) -> &'a str { } /// Whitespace as defined by HTML5 § 2.4.1. -struct Whitespace; - -impl CharEq for Whitespace { - #[inline] - fn matches(&mut self, ch: char) -> bool { - match ch { - ' ' | '\t' | '\x0a' | '\x0c' | '\x0d' => true, - _ => false, - } - } - - #[inline] - fn only_ascii(&self) -> bool { - true - } -} +// TODO(SimonSapin) Maybe a custom Pattern can be more efficient? +const WHITESPACE: &'static [char] = &[' ', '\t', '\x0a', '\x0c', '\x0d']; pub fn is_whitespace(s: &str) -> bool { - s.chars().all(|c| Whitespace.matches(c)) + s.chars().all(|c| WHITESPACE.contains(&c)) } /// A "space character" according to: @@ -144,7 +130,7 @@ pub enum LengthOrPercentageOrAuto { /// Parses a length per HTML5 § 2.4.4.4. If unparseable, `Auto` is returned. pub fn parse_length(mut value: &str) -> LengthOrPercentageOrAuto { - value = value.trim_left_matches(Whitespace); + value = value.trim_left_matches(WHITESPACE); if value.len() == 0 { return LengthOrPercentageOrAuto::Auto } @@ -200,7 +186,7 @@ pub fn parse_legacy_color(mut input: &str) -> Result<RGBA,()> { } // Step 3. - input = input.trim_left_matches(Whitespace).trim_right_matches(Whitespace); + input = input.trim_matches(WHITESPACE); // Step 4. if input.eq_ignore_ascii_case("transparent") { diff --git a/components/util/task.rs b/components/util/task.rs index d59d6233860..88acbd65e09 100644 --- a/components/util/task.rs +++ b/components/util/task.rs @@ -9,7 +9,7 @@ use std::sync::mpsc::Sender; use std::thread::Builder; pub fn spawn_named<F>(name: String, f: F) - where F: FnOnce() + Send + where F: FnOnce() + Send + 'static { let builder = thread::Builder::new().name(name); builder.spawn(move || { @@ -23,13 +23,13 @@ pub fn spawn_named_with_send_on_failure<F, T>(name: &'static str, f: F, msg: T, dest: Sender<T>) - where F: FnOnce() + Send, - T: Send + where F: FnOnce() + Send + 'static, + T: Send + 'static { - let future_handle = thread::Builder::new().name(name.to_owned()).scoped(move || { + let future_handle = thread::Builder::new().name(name.to_owned()).spawn(move || { task_state::initialize(state); f() - }); + }).unwrap(); let watcher_name = format!("{}Watcher", name); Builder::new().name(watcher_name).spawn(move || { diff --git a/components/util/taskpool.rs b/components/util/taskpool.rs index d3f52c5018b..e091d0b5d6d 100644 --- a/components/util/taskpool.rs +++ b/components/util/taskpool.rs @@ -21,7 +21,7 @@ use std::sync::mpsc::{channel, Sender, Receiver}; use std::thunk::Thunk; pub struct TaskPool { - tx: Sender<Thunk<()>>, + tx: Sender<Thunk<'static, ()>>, } impl TaskPool { @@ -52,7 +52,7 @@ impl TaskPool { } pub fn execute<F>(&self, job: F) - where F: FnOnce() + Send + where F: FnOnce() + Send + 'static { self.tx.send(Thunk::new(job)).unwrap(); } diff --git a/components/util/workqueue.rs b/components/util/workqueue.rs index c24f40602f9..b1709cdf6e0 100644 --- a/components/util/workqueue.rs +++ b/components/util/workqueue.rs @@ -7,15 +7,15 @@ //! Data associated with queues is simply a pair of unsigned integers. It is expected that a //! higher-level API on top of this could allow safe fork-join parallelism. +use deque::{Abort, BufferPool, Data, Empty, Stealer, Worker}; use task::spawn_named; use task_state; use libc::funcs::posix88::unistd::usleep; -use std::mem; use rand::{Rng, weak_rng, XorShiftRng}; +use std::mem; use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::mpsc::{channel, Sender, Receiver}; -use deque::{Abort, BufferPool, Data, Empty, Stealer, Worker}; /// A unit of work. /// @@ -184,7 +184,7 @@ pub struct WorkerProxy<'a, QueueData: 'a, WorkData: 'a> { worker_index: u8, } -impl<'a, QueueData: 'static, WorkData: Send> WorkerProxy<'a, QueueData, WorkData> { +impl<'a, QueueData: 'static, WorkData: Send + 'static> WorkerProxy<'a, QueueData, WorkData> { /// Enqueues a block into the work queue. #[inline] pub fn push(&mut self, work_unit: WorkUnit<QueueData, WorkData>) { @@ -297,7 +297,9 @@ impl<QueueData: Send, WorkData: Send> WorkQueue<QueueData, WorkData> { // Tell the workers to start. let mut work_count = AtomicUsize::new(self.work_count); for worker in self.workers.iter_mut() { - worker.chan.send(WorkerMsg::Start(worker.deque.take().unwrap(), &mut work_count, &self.data)).unwrap() + worker.chan.send(WorkerMsg::Start(worker.deque.take().unwrap(), + &mut work_count, + &self.data)).unwrap() } // Wait for the work to finish. diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index b7fb83f53aa..507790e1348 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -4,7 +4,7 @@ version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", - "cocoa 0.1.1 (git+https://github.com/servo/rust-cocoa?branch=backport-20150306)", + "cocoa 0.1.1 (git+https://github.com/servo/rust-cocoa)", "compositing 0.0.1", "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", "core_text 0.1.0 (git+https://github.com/servo/rust-core-text)", @@ -15,7 +15,7 @@ dependencies = [ "glutin_app 0.0.1", "js 0.1.0 (git+https://github.com/servo/rust-mozjs)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", @@ -24,17 +24,14 @@ dependencies = [ "servo 0.0.1", "stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)", "style 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "android_glue" version = "0.0.1" -source = "git+https://github.com/tomaka/android-rs-glue#f9da46ed02736508d75333008d54506eec87a33b" -dependencies = [ - "compile_msg 0.1.3 (git+https://github.com/huonw/compile_msg)", -] +source = "git+https://github.com/tomaka/android-rs-glue#5a68056599fb498b0cf3715fd359894825e3b856" [[package]] name = "azure" @@ -47,14 +44,14 @@ dependencies = [ "egl 0.1.0 (git+https://github.com/servo/rust-egl)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "skia 0.0.20130412 (git+https://github.com/servo/skia?branch=upstream-2014-06-16)", "xlib 0.1.0 (git+https://github.com/servo/rust-xlib)", ] [[package]] name = "bitflags" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -71,7 +68,7 @@ dependencies = [ [[package]] name = "cgl" version = "0.0.1" -source = "git+https://github.com/servo/rust-cgl#7b7090729f65e2287c3d80651df02e547911b119" +source = "git+https://github.com/servo/rust-cgl#211afc4d1572d8fe67b91c452441b6cb292a2bc7" dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", ] @@ -79,18 +76,13 @@ dependencies = [ [[package]] name = "cocoa" version = "0.1.1" -source = "git+https://github.com/servo/rust-cocoa?branch=backport-20150306#c9b0a66dedd93d696e7281c9a3d743e54b502b96" +source = "git+https://github.com/servo/rust-cocoa#ca3441a14783aa0683e073f1a1f990ed21900718" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "compile_msg" -version = "0.1.3" -source = "git+https://github.com/huonw/compile_msg#b19da50cacf5b11bbc065da6b449f6b4fe7c019a" - -[[package]] name = "compositing" version = "0.0.1" dependencies = [ @@ -103,36 +95,39 @@ dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", "layout_traits 0.0.1", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", "script_traits 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "cookie" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "openssl 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "core_foundation" version = "0.1.0" -source = "git+https://github.com/servo/rust-core-foundation#da9a52655fce4727dcf261d6ed9a49eeddc7b131" +source = "git+https://github.com/servo/rust-core-foundation#c577bd64b0301fe926cf7b757b9852a1ce1d521d" +dependencies = [ + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "core_graphics" version = "0.1.0" -source = "git+https://github.com/servo/rust-core-graphics#9434e2bda65d259f825104170b5fa6cc6dbaf5a9" +source = "git+https://github.com/servo/rust-core-graphics#e169ad38f71ed003c21fb550a9dfa0e51423ed3a" dependencies = [ "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", ] @@ -140,7 +135,7 @@ dependencies = [ [[package]] name = "core_text" version = "0.1.0" -source = "git+https://github.com/servo/rust-core-text#e769be9cb3366f9d403ddbee040e031ce03d32bb" +source = "git+https://github.com/servo/rust-core-text#8809f011445585d023d5e2a0712a1adcbf7ce609" dependencies = [ "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", @@ -149,11 +144,11 @@ dependencies = [ [[package]] name = "cssparser" version = "0.2.0" -source = "git+https://github.com/servo/rust-cssparser#cf59a4cf55b6386db255d6205b9804d8d74efd35" +source = "git+https://github.com/servo/rust-cssparser#56d5f94d5239d4bd68358813405e4d5823c01ff6" dependencies = [ - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "text_writer 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "text_writer 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -162,8 +157,8 @@ version = "0.0.1" dependencies = [ "devtools_traits 0.0.1", "msg 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -172,8 +167,8 @@ name = "devtools_traits" version = "0.0.1" dependencies = [ "msg 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -184,19 +179,19 @@ source = "git+https://github.com/servo/rust-egl#328e79b6256dea346f1821ccc4215e95 [[package]] name = "encoding" -version = "0.2.20" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "encoding-index-japanese 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-japanese 1.20141219.2 (registry+https://github.com/rust-lang/crates.io-index)", "encoding-index-korean 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", "encoding-index-simpchinese 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", "encoding-index-singlebyte 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-tradchinese 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-tradchinese 1.20141219.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "encoding-index-japanese" -version = "1.20141219.1" +version = "1.20141219.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "encoding_index_tests 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -228,7 +223,7 @@ dependencies = [ [[package]] name = "encoding-index-tradchinese" -version = "1.20141219.1" +version = "1.20141219.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "encoding_index_tests 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -242,7 +237,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "expat-sys" version = "2.1.0" -source = "git+https://github.com/servo/libexpat#fe8c3222efdd486b95ef198ef4eee0506e37a809" +source = "git+https://github.com/servo/libexpat#523a2f2f51b41adf7bb5c4c65e80db0cb615d70b" [[package]] name = "fontconfig" @@ -264,40 +259,40 @@ dependencies = [ [[package]] name = "freetype" version = "0.1.0" -source = "git+https://github.com/servo/rust-freetype#47ead45f939fe934af40e9652205c9d2a8b8e5e0" +source = "git+https://github.com/servo/rust-freetype#f256a9ac84893f0a183b8966de2a3a03d7552b8b" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "freetype-sys" version = "2.4.11" -source = "git+https://github.com/servo/libfreetype2#7b9d112c0a93574b4bf518922d16b8879c7aadae" +source = "git+https://github.com/servo/libfreetype2#a488dfd86872bf9c163d54a7f73a5dc4d3c4fd9e" [[package]] name = "gcc" -version = "0.1.7" -source = "git+https://github.com/alexcrichton/gcc-rs#016cc1597bbe52c26e41cf687476ba93f27fec41" +version = "0.3.1" +source = "git+https://github.com/alexcrichton/gcc-rs#564247d019449ba46f25f64ffdefade5968b6ae7" [[package]] name = "gcc" -version = "0.1.7" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "gdi32-sys" -version = "0.0.3" +version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "geom" version = "0.1.0" -source = "git+https://github.com/servo/rust-geom#876c2fceee211130d1294eacdc1bd8742c52540e" +source = "git+https://github.com/servo/rust-geom#c47fc0f927b6d6e5543fe3b5445c86810831dce1" dependencies = [ - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -305,7 +300,7 @@ name = "gfx" version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", "core_text 0.1.0 (git+https://github.com/servo/rust-core-text)", @@ -314,18 +309,18 @@ dependencies = [ "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "harfbuzz 0.1.0 (git+https://github.com/servo/rust-harfbuzz)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "skia 0.0.20130412 (git+https://github.com/servo/skia?branch=upstream-2014-06-16)", "stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)", "style 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -334,126 +329,129 @@ name = "gl_common" version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gl_generator" -version = "0.0.17" +version = "0.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "khronos_api 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "xml-rs 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "xml-rs 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gleam" version = "0.0.1" -source = "git+https://github.com/servo/gleam#1a85194298997cf602270d4c1aeb0a043ce339e7" +source = "git+https://github.com/servo/gleam#fb17a364f314a35a6d209e875b5e90a920d41e86" dependencies = [ "gl_common 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gl_generator 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.0.19 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "glutin" -version = "0.0.4" -source = "git+https://github.com/servo/glutin?branch=backport-20150306#89fbec47145eef519e2f3d7e0ad84e5f905f7295" +version = "0.0.7" +source = "git+https://github.com/servo/glutin#183d96b44e497fcc441f94d32d5228e4c3d28c4d" dependencies = [ "android_glue 0.0.1 (git+https://github.com/tomaka/android-rs-glue)", - "cocoa 0.1.1 (git+https://github.com/servo/rust-cocoa?branch=backport-20150306)", + "cocoa 0.1.1 (git+https://github.com/servo/rust-cocoa)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", - "gdi32-sys 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "gdi32-sys 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", "gl_common 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gl_generator 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.0.19 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.0.11 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "user32-sys 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "user32-sys 0.0.11 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "glutin_app" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", "compositing 0.0.1", "egl 0.1.0 (git+https://github.com/servo/rust-egl)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "gleam 0.0.1 (git+https://github.com/servo/gleam)", - "glutin 0.0.4 (git+https://github.com/servo/glutin?branch=backport-20150306)", + "glutin 0.0.7 (git+https://github.com/servo/glutin)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "glx" version = "0.0.1" -source = "git+https://github.com/servo/rust-glx#d8a3329d1f68dc4cf72509daca7ef837b8ce94d6" +source = "git+https://github.com/servo/rust-glx#f2103861d38076ef5e01a8c2f58df1e79ca12f41" dependencies = [ "gl_common 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gl_generator 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.0.19 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "harfbuzz" version = "0.1.0" -source = "git+https://github.com/servo/rust-harfbuzz#d583ad55cc27600ffd33a8924812ec5ddb826c70" +source = "git+https://github.com/servo/rust-harfbuzz#cc875777f820da0b85f39c2359d9609650b16600" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "html5ever" version = "0.0.0" -source = "git+https://github.com/servo/html5ever#1c8c09934657fa8edb8ac94070a9061bc040621d" +source = "git+https://github.com/servo/html5ever#8bad1ca8e1e05a7972be80acc64efd729ffdc8a5" dependencies = [ "html5ever_macros 0.0.0 (git+https://github.com/servo/html5ever)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "phf 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_macros 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "mac 0.0.2 (git+https://github.com/reem/rust-mac)", + "phf 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_macros 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "html5ever_macros" version = "0.0.0" -source = "git+https://github.com/servo/html5ever#1c8c09934657fa8edb8ac94070a9061bc040621d" +source = "git+https://github.com/servo/html5ever#8bad1ca8e1e05a7972be80acc64efd729ffdc8a5" +dependencies = [ + "mac 0.0.2 (git+https://github.com/reem/rust-mac)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "hyper" -version = "0.1.10" -source = "git+https://github.com/servo/hyper?branch=servo#1f5547c4b7fd29781426f82dd857a96f1478b01c" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cookie 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mucell 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "unsafe-any 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "cookie 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "unicase 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "io_surface" version = "0.1.0" -source = "git+https://github.com/servo/rust-io-surface#691cbccc320c4fb9b75e215da9b0b82539d729bd" +source = "git+https://github.com/servo/rust-io-surface#f380a03a9b0e0316866d4320d46a78dda87efbec" dependencies = [ "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", @@ -464,34 +462,29 @@ dependencies = [ [[package]] name = "js" version = "0.1.0" -source = "git+https://github.com/servo/rust-mozjs#510f763c4410891a87a721b2c76c191c46413370" +source = "git+https://github.com/servo/rust-mozjs#77421145e3d983482939e8f1f1ef3a858eaef46f" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "mozjs-sys 0.0.0 (git+https://github.com/servo/mozjs)", ] [[package]] name = "kernel32-sys" -version = "0.0.6" +version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "khronos_api" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "khronos_api" version = "0.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "layers" version = "0.1.0" -source = "git+https://github.com/servo/rust-layers#62870a30b06fb8776e01140167e55d1f2370b503" +source = "git+https://github.com/servo/rust-layers#df3a14d00260c8ab506565972555931444361ff8" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", @@ -501,7 +494,7 @@ dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", "glx 0.0.1 (git+https://github.com/servo/rust-glx)", "io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "skia 0.0.20130412 (git+https://github.com/servo/skia?branch=upstream-2014-06-16)", "xlib 0.1.0 (git+https://github.com/servo/rust-xlib)", ] @@ -511,26 +504,26 @@ name = "layout" version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "gfx 0.0.1", "layout_traits 0.0.1", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "script_traits 0.0.1", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", "style 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -542,18 +535,18 @@ dependencies = [ "msg 0.0.1", "net 0.0.1", "script_traits 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "lazy_static" -version = "0.1.7" -source = "git+https://github.com/Kimundi/lazy-static.rs#b48b0c551087af9d598a0452f4e3973d98d4419b" +version = "0.1.8" +source = "git+https://github.com/Kimundi/lazy-static.rs#56b4be4141d3c58273cf5ee1d2e956e2f22248b9" [[package]] name = "libc" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -566,25 +559,30 @@ dependencies = [ [[package]] name = "log" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] +name = "mac" +version = "0.0.2" +source = "git+https://github.com/reem/rust-mac#6316d3f4663756180fd236b126a84e245e978765" + +[[package]] name = "matches" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "mime" -version = "0.0.8" +version = "0.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "mod_path" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -597,83 +595,89 @@ name = "msg" version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "hyper 0.1.10 (git+https://github.com/servo/hyper?branch=servo)", + "hyper 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", "style 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] -name = "mucell" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] name = "net" version = "0.0.1" dependencies = [ - "cookie 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "cookie 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "hyper 0.1.10 (git+https://github.com/servo/hyper?branch=servo)", - "openssl 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "png 0.1.0 (git+https://github.com/servo/rust-png)", - "regex 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "regex_macros 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "regex_macros 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "openssl" -version = "0.3.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "openssl-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "openssl-sys" -version = "0.3.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "libressl-pnacl-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "phf" -version = "0.6.4" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "phf_shared 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "phf_generator" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "phf_shared 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_shared 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "phf_macros" -version = "0.6.4" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "phf_shared 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_generator 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_shared 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "phf_shared" -version = "0.6.4" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "pkg-config" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -688,72 +692,81 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "png" version = "0.1.0" -source = "git+https://github.com/servo/rust-png#687f103498654815682d2a750f26bbefc46d9da4" +source = "git+https://github.com/servo/rust-png#da851d68159fe0a7dba81dfbee594e5226b72884" dependencies = [ - "gcc 0.1.7 (git+https://github.com/alexcrichton/gcc-rs)", + "gcc 0.3.1 (git+https://github.com/alexcrichton/gcc-rs)", "png-sys 1.6.16 (git+https://github.com/servo/rust-png)", ] [[package]] name = "png-sys" version = "1.6.16" -source = "git+https://github.com/servo/rust-png#687f103498654815682d2a750f26bbefc46d9da4" +source = "git+https://github.com/servo/rust-png#da851d68159fe0a7dba81dfbee594e5226b72884" [[package]] name = "rand" -version = "0.1.2" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex" -version = "0.1.14" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "regex_macros" -version = "0.1.8" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rustc-serialize" -version = "0.2.12" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "script" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", "devtools_traits 0.0.1", - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "gfx 0.0.1", "html5ever 0.0.0 (git+https://github.com/servo/html5ever)", - "hyper 0.1.10 (git+https://github.com/servo/hyper?branch=servo)", + "hyper 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "js 0.1.0 (git+https://github.com/servo/rust-mozjs)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", "style 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "uuid 0.1.9 (git+https://github.com/rust-lang/uuid)", + "uuid 0.1.11 (git+https://github.com/rust-lang/uuid)", ] [[package]] @@ -762,30 +775,30 @@ version = "0.0.1" dependencies = [ "devtools_traits 0.0.1", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "selectors" version = "0.1.0" -source = "git+https://github.com/servo/rust-selectors#2a492d522ef596a05c3677bb74bf8a5b73d01855" +source = "git+https://github.com/servo/rust-selectors#f3cffb2c37cf1a4dac06a02eb00a882626039a0c" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", ] [[package]] name = "servo" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", "devtools 0.0.1", "gfx 0.0.1", @@ -795,15 +808,15 @@ dependencies = [ "net 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", "script 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "skia" version = "0.0.20130412" -source = "git+https://github.com/servo/skia?branch=upstream-2014-06-16#76b626df0d6cfb32eb1ee5ba3c7b52aadd5a42e3" +source = "git+https://github.com/servo/skia?branch=upstream-2014-06-16#db5b5393c83da9ff5b8fb2076481e98fb2b659f2" dependencies = [ "expat-sys 2.1.0 (git+https://github.com/servo/libexpat)", "freetype-sys 2.4.11 (git+https://github.com/servo/libfreetype2)", @@ -812,45 +825,47 @@ dependencies = [ [[package]] name = "stb_image" version = "0.1.0" -source = "git+https://github.com/servo/rust-stb-image#8fb5031333ea142802724719ce20bfa132bc4802" +source = "git+https://github.com/servo/rust-stb-image#b683cc9e7ba52a1bb65361347da0df1bc9c5e854" [[package]] name = "string_cache" version = "0.0.0" -source = "git+https://github.com/servo/string-cache#12b84faff894d358a546bf064b0daf5f04f2a96b" +source = "git+https://github.com/servo/string-cache#8c05fdf456a0e4f884e85d7e3a7700b2e4ca91eb" dependencies = [ - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", - "phf 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_macros 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "xxhash 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", + "phf 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_macros 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", ] [[package]] -name = "string_cache_macros" +name = "string_cache_plugin" version = "0.0.0" -source = "git+https://github.com/servo/string-cache#12b84faff894d358a546bf064b0daf5f04f2a96b" +source = "git+https://github.com/servo/string-cache#8c05fdf456a0e4f884e85d7e3a7700b2e4ca91eb" dependencies = [ - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", + "mac 0.0.2 (git+https://github.com/reem/rust-mac)", ] [[package]] name = "style" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mod_path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "mod_path 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "text_writer 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", + "text_writer 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -860,101 +875,99 @@ version = "0.0.1" [[package]] name = "text_writer" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "time" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "unicase" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unsafe-any" -version = "0.2.2" +version = "0.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "url" -version = "0.2.19" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "user32-sys" -version = "0.0.8" +version = "0.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "util" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rand 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", "task_info 0.0.1", - "text_writer 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "text_writer 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "uuid" -version = "0.1.9" -source = "git+https://github.com/rust-lang/uuid#3128649cde7c4ba390b31298093d6c181a23eb61" +version = "0.1.11" +source = "git+https://github.com/rust-lang/uuid#c7862508f84b114d22bb68ec01202eafc50a81b2" dependencies = [ - "rand 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "winapi" -version = "0.1.9" +version = "0.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] +name = "winapi" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "xlib" version = "0.1.0" -source = "git+https://github.com/servo/rust-xlib#4f1bfc476256c37a152980d42213116a62629599" +source = "git+https://github.com/servo/rust-xlib#715e6f9bb3dfcd925996caedeb77aefb31c2bd65" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xml-rs" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "xxhash" -version = "0.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - diff --git a/ports/cef/Cargo.toml b/ports/cef/Cargo.toml index d93eebb5438..913173eb169 100644 --- a/ports/cef/Cargo.toml +++ b/ports/cef/Cargo.toml @@ -67,7 +67,6 @@ git = "https://github.com/servo/rust-core-text" [dependencies.cocoa] git = "https://github.com/servo/rust-cocoa" -branch = "backport-20150306" [dependencies.gleam] git = "https://github.com/servo/gleam" diff --git a/ports/cef/browser.rs b/ports/cef/browser.rs index f572ebe86c0..cf1403d55d4 100644 --- a/ports/cef/browser.rs +++ b/ports/cef/browser.rs @@ -25,8 +25,8 @@ thread_local!(pub static BROWSERS: RefCell<Vec<CefBrowser>> = RefCell::new(vec!( pub enum ServoBrowser { Invalid, - OnScreen(Browser<glutin_app::window::Window>), - OffScreen(Browser<window::Window>), + OnScreen(Browser), + OffScreen(Browser), } impl ServoBrowser { diff --git a/ports/cef/frame.rs b/ports/cef/frame.rs index 26c287afb06..61ae9de2821 100644 --- a/ports/cef/frame.rs +++ b/ports/cef/frame.rs @@ -39,7 +39,9 @@ full_cef_class_impl! { }} fn get_url(&this,) -> cef_string_userfree_t {{ let this = this.downcast(); - (*this.url.borrow()).clone() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let url = this.url.borrow(); + (*url).clone() }} fn get_text(&this, visitor: *mut cef_string_visitor_t [CefStringVisitor],) -> () {{ let this = this.downcast(); diff --git a/ports/cef/lib.rs b/ports/cef/lib.rs index cafeeefe71f..23e2b5b8457 100644 --- a/ports/cef/lib.rs +++ b/ports/cef/lib.rs @@ -15,10 +15,10 @@ #![allow(non_camel_case_types)] +#![plugin(plugins)] + #[macro_use] extern crate log; -#[plugin] #[no_link] -extern crate "plugins" as servo_plugins; extern crate servo; extern crate compositing; diff --git a/ports/cef/types.rs b/ports/cef/types.rs index 09aa60349d5..5c0f59791cf 100644 --- a/ports/cef/types.rs +++ b/ports/cef/types.rs @@ -1112,9 +1112,9 @@ pub type cef_page_range_t = _cef_page_range_t; // pub enum cef_duplex_mode_t { DUPLEX_MODE_UNKNOWN = -1, - DUPLEX_MODE_SIMPLEX, - DUPLEX_MODE_LONG_EDGE, - DUPLEX_MODE_SHORT_EDGE, + DUPLEX_MODE_SIMPLEX = 0, + DUPLEX_MODE_LONG_EDGE = 1, + DUPLEX_MODE_SHORT_EDGE = 2, } // diff --git a/ports/cef/window.rs b/ports/cef/window.rs index c485792005b..786d6d64f6d 100644 --- a/ports/cef/window.rs +++ b/ports/cef/window.rs @@ -188,7 +188,7 @@ impl WindowMethods for Window { fn hidpi_factor(&self) -> ScaleFactor<ScreenPx,DevicePixel,f32> { let browser = self.cef_browser.borrow(); match *browser { - None => ScaleFactor(1.0), + None => ScaleFactor::new(1.0), Some(ref browser) => { let mut view_rect = cef_rect_t::zero(); browser.get_host() @@ -200,7 +200,7 @@ impl WindowMethods for Window { .get_client() .get_render_handler() .get_backing_rect((*browser).clone(), &mut backing_rect); - ScaleFactor(backing_rect.width as f32 / view_rect.width as f32) + ScaleFactor::new(backing_rect.width as f32 / view_rect.width as f32) } } } @@ -294,7 +294,9 @@ impl WindowMethods for Window { }; let frame = browser.get_main_frame(); let frame = frame.downcast(); - *frame.url.borrow_mut() = url.to_string() + // FIXME(https://github.com/rust-lang/rust/issues/23338) + let mut frame_url = frame.url.borrow_mut(); + *frame_url = url.to_string() } fn handle_key(&self, _: Key, _: KeyModifiers) { diff --git a/ports/glutin/Cargo.toml b/ports/glutin/Cargo.toml index 7d148f42dea..ca0a684d04a 100644 --- a/ports/glutin/Cargo.toml +++ b/ports/glutin/Cargo.toml @@ -28,7 +28,6 @@ path = "../../components/util" [dependencies.glutin] git = "https://github.com/servo/glutin" -branch = "backport-20150306" [dependencies.gleam] git = "https://github.com/servo/gleam" diff --git a/ports/glutin/lib.rs b/ports/glutin/lib.rs index 476ed457dea..8e56150d6af 100644 --- a/ports/glutin/lib.rs +++ b/ports/glutin/lib.rs @@ -40,7 +40,7 @@ pub fn create_window() -> Rc<Window> { // Read command-line options. let opts = opts::get(); let foreground = opts.output_file.is_none(); - let scale_factor = opts.device_pixels_per_px.unwrap_or(ScaleFactor(1.0)); + let scale_factor = opts.device_pixels_per_px.unwrap_or(ScaleFactor::new(1.0)); let size = opts.initial_window_size.as_f32() * scale_factor; // Open a window. diff --git a/ports/glutin/window.rs b/ports/glutin/window.rs index bf83b445e6a..3e5b5438713 100644 --- a/ports/glutin/window.rs +++ b/ports/glutin/window.rs @@ -450,7 +450,7 @@ impl WindowMethods for Window { } fn hidpi_factor(&self) -> ScaleFactor<ScreenPx, DevicePixel, f32> { - ScaleFactor(self.window.hidpi_factor()) + ScaleFactor::new(self.window.hidpi_factor()) } fn set_page_title(&self, title: Option<String>) { @@ -651,7 +651,7 @@ impl WindowMethods for Window { } fn hidpi_factor(&self) -> ScaleFactor<ScreenPx, DevicePixel, f32> { - ScaleFactor(1.0) + ScaleFactor::new(1.0) } fn set_page_title(&self, _: Option<String>) { diff --git a/ports/gonk/Cargo.lock b/ports/gonk/Cargo.lock index c776730575d..9ab2732a7c5 100644 --- a/ports/gonk/Cargo.lock +++ b/ports/gonk/Cargo.lock @@ -10,13 +10,13 @@ dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", "layout 0.0.1", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "script 0.0.1", "servo 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -31,14 +31,14 @@ dependencies = [ "egl 0.1.0 (git+https://github.com/servo/rust-egl)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "skia 0.0.20130412 (git+https://github.com/servo/skia?branch=upstream-2014-06-16)", "xlib 0.1.0 (git+https://github.com/servo/rust-xlib)", ] [[package]] name = "bitflags" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -55,7 +55,7 @@ dependencies = [ [[package]] name = "cgl" version = "0.0.1" -source = "git+https://github.com/servo/rust-cgl#7b7090729f65e2287c3d80651df02e547911b119" +source = "git+https://github.com/servo/rust-cgl#211afc4d1572d8fe67b91c452441b6cb292a2bc7" dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", ] @@ -73,36 +73,39 @@ dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", "layout_traits 0.0.1", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", "script_traits 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "cookie" -version = "0.1.11" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "openssl 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "core_foundation" version = "0.1.0" -source = "git+https://github.com/servo/rust-core-foundation#da9a52655fce4727dcf261d6ed9a49eeddc7b131" +source = "git+https://github.com/servo/rust-core-foundation#c577bd64b0301fe926cf7b757b9852a1ce1d521d" +dependencies = [ + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "core_graphics" version = "0.1.0" -source = "git+https://github.com/servo/rust-core-graphics#9434e2bda65d259f825104170b5fa6cc6dbaf5a9" +source = "git+https://github.com/servo/rust-core-graphics#e169ad38f71ed003c21fb550a9dfa0e51423ed3a" dependencies = [ "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", ] @@ -110,7 +113,7 @@ dependencies = [ [[package]] name = "core_text" version = "0.1.0" -source = "git+https://github.com/servo/rust-core-text#e769be9cb3366f9d403ddbee040e031ce03d32bb" +source = "git+https://github.com/servo/rust-core-text#8809f011445585d023d5e2a0712a1adcbf7ce609" dependencies = [ "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", @@ -119,11 +122,11 @@ dependencies = [ [[package]] name = "cssparser" version = "0.2.0" -source = "git+https://github.com/servo/rust-cssparser#cf59a4cf55b6386db255d6205b9804d8d74efd35" +source = "git+https://github.com/servo/rust-cssparser#56d5f94d5239d4bd68358813405e4d5823c01ff6" dependencies = [ - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "text_writer 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", + "text_writer 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -132,8 +135,8 @@ version = "0.0.1" dependencies = [ "devtools_traits 0.0.1", "msg 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -142,8 +145,8 @@ name = "devtools_traits" version = "0.0.1" dependencies = [ "msg 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -154,19 +157,19 @@ source = "git+https://github.com/servo/rust-egl#328e79b6256dea346f1821ccc4215e95 [[package]] name = "encoding" -version = "0.2.20" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "encoding-index-japanese 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-japanese 1.20141219.2 (registry+https://github.com/rust-lang/crates.io-index)", "encoding-index-korean 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", "encoding-index-simpchinese 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", "encoding-index-singlebyte 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", - "encoding-index-tradchinese 1.20141219.1 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding-index-tradchinese 1.20141219.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "encoding-index-japanese" -version = "1.20141219.1" +version = "1.20141219.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "encoding_index_tests 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -198,7 +201,7 @@ dependencies = [ [[package]] name = "encoding-index-tradchinese" -version = "1.20141219.1" +version = "1.20141219.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "encoding_index_tests 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -212,7 +215,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "expat-sys" version = "2.1.0" -source = "git+https://github.com/servo/libexpat#fe8c3222efdd486b95ef198ef4eee0506e37a809" +source = "git+https://github.com/servo/libexpat#523a2f2f51b41adf7bb5c4c65e80db0cb615d70b" [[package]] name = "fontconfig" @@ -234,32 +237,32 @@ dependencies = [ [[package]] name = "freetype" version = "0.1.0" -source = "git+https://github.com/servo/rust-freetype#47ead45f939fe934af40e9652205c9d2a8b8e5e0" +source = "git+https://github.com/servo/rust-freetype#f256a9ac84893f0a183b8966de2a3a03d7552b8b" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "freetype-sys" version = "2.4.11" -source = "git+https://github.com/servo/libfreetype2#7b9d112c0a93574b4bf518922d16b8879c7aadae" +source = "git+https://github.com/servo/libfreetype2#a488dfd86872bf9c163d54a7f73a5dc4d3c4fd9e" [[package]] name = "gcc" -version = "0.1.7" -source = "git+https://github.com/alexcrichton/gcc-rs#016cc1597bbe52c26e41cf687476ba93f27fec41" +version = "0.3.1" +source = "git+https://github.com/alexcrichton/gcc-rs#564247d019449ba46f25f64ffdefade5968b6ae7" [[package]] name = "gcc" -version = "0.1.7" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "geom" version = "0.1.0" -source = "git+https://github.com/servo/rust-geom#876c2fceee211130d1294eacdc1bd8742c52540e" +source = "git+https://github.com/servo/rust-geom#c47fc0f927b6d6e5543fe3b5445c86810831dce1" dependencies = [ - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -267,7 +270,7 @@ name = "gfx" version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "core_graphics 0.1.0 (git+https://github.com/servo/rust-core-graphics)", "core_text 0.1.0 (git+https://github.com/servo/rust-core-text)", @@ -276,18 +279,18 @@ dependencies = [ "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "harfbuzz 0.1.0 (git+https://github.com/servo/rust-harfbuzz)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "skia 0.0.20130412 (git+https://github.com/servo/skia?branch=upstream-2014-06-16)", "stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)", "style 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -296,88 +299,91 @@ name = "gl_common" version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gl_generator" -version = "0.0.17" +version = "0.0.19" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "xml-rs 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "xml-rs 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gleam" version = "0.0.1" -source = "git+https://github.com/servo/gleam#1a85194298997cf602270d4c1aeb0a043ce339e7" +source = "git+https://github.com/servo/gleam#fb17a364f314a35a6d209e875b5e90a920d41e86" dependencies = [ "gl_common 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gl_generator 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.0.19 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "glx" version = "0.0.1" -source = "git+https://github.com/servo/rust-glx#d8a3329d1f68dc4cf72509daca7ef837b8ce94d6" +source = "git+https://github.com/servo/rust-glx#f2103861d38076ef5e01a8c2f58df1e79ca12f41" dependencies = [ "gl_common 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "gl_generator 0.0.17 (registry+https://github.com/rust-lang/crates.io-index)", + "gl_generator 0.0.19 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "harfbuzz" version = "0.1.0" -source = "git+https://github.com/servo/rust-harfbuzz#d583ad55cc27600ffd33a8924812ec5ddb826c70" +source = "git+https://github.com/servo/rust-harfbuzz#cc875777f820da0b85f39c2359d9609650b16600" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "html5ever" version = "0.0.0" -source = "git+https://github.com/servo/html5ever#1c8c09934657fa8edb8ac94070a9061bc040621d" +source = "git+https://github.com/servo/html5ever#8bad1ca8e1e05a7972be80acc64efd729ffdc8a5" dependencies = [ "html5ever_macros 0.0.0 (git+https://github.com/servo/html5ever)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "phf 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_macros 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "mac 0.0.2 (git+https://github.com/reem/rust-mac)", + "phf 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_macros 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "html5ever_macros" version = "0.0.0" -source = "git+https://github.com/servo/html5ever#1c8c09934657fa8edb8ac94070a9061bc040621d" +source = "git+https://github.com/servo/html5ever#8bad1ca8e1e05a7972be80acc64efd729ffdc8a5" +dependencies = [ + "mac 0.0.2 (git+https://github.com/reem/rust-mac)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "hyper" -version = "0.1.10" -source = "git+https://github.com/servo/hyper?branch=servo#1f5547c4b7fd29781426f82dd857a96f1478b01c" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cookie 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mime 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", - "mucell 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "unicase 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)", - "unsafe-any 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "cookie 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "mime 0.0.10 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "unicase 0.0.5 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "io_surface" version = "0.1.0" -source = "git+https://github.com/servo/rust-io-surface#691cbccc320c4fb9b75e215da9b0b82539d729bd" +source = "git+https://github.com/servo/rust-io-surface#f380a03a9b0e0316866d4320d46a78dda87efbec" dependencies = [ "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", @@ -388,9 +394,9 @@ dependencies = [ [[package]] name = "js" version = "0.1.0" -source = "git+https://github.com/servo/rust-mozjs#510f763c4410891a87a721b2c76c191c46413370" +source = "git+https://github.com/servo/rust-mozjs#77421145e3d983482939e8f1f1ef3a858eaef46f" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "mozjs-sys 0.0.0 (git+https://github.com/servo/mozjs)", ] @@ -402,7 +408,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "layers" version = "0.1.0" -source = "git+https://github.com/servo/rust-layers#62870a30b06fb8776e01140167e55d1f2370b503" +source = "git+https://github.com/servo/rust-layers#df3a14d00260c8ab506565972555931444361ff8" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", "cgl 0.0.1 (git+https://github.com/servo/rust-cgl)", @@ -412,7 +418,7 @@ dependencies = [ "gleam 0.0.1 (git+https://github.com/servo/gleam)", "glx 0.0.1 (git+https://github.com/servo/rust-glx)", "io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "skia 0.0.20130412 (git+https://github.com/servo/skia?branch=upstream-2014-06-16)", "xlib 0.1.0 (git+https://github.com/servo/rust-xlib)", ] @@ -422,26 +428,26 @@ name = "layout" version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "gfx 0.0.1", "layout_traits 0.0.1", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "script 0.0.1", "script_traits 0.0.1", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", "style 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -453,18 +459,18 @@ dependencies = [ "msg 0.0.1", "net 0.0.1", "script_traits 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "lazy_static" -version = "0.1.7" -source = "git+https://github.com/Kimundi/lazy-static.rs#b48b0c551087af9d598a0452f4e3973d98d4419b" +version = "0.1.8" +source = "git+https://github.com/Kimundi/lazy-static.rs#56b4be4141d3c58273cf5ee1d2e956e2f22248b9" [[package]] name = "libc" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -477,25 +483,30 @@ dependencies = [ [[package]] name = "log" -version = "0.2.2" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] +name = "mac" +version = "0.0.2" +source = "git+https://github.com/reem/rust-mac#6316d3f4663756180fd236b126a84e245e978765" + +[[package]] name = "matches" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "mime" -version = "0.0.8" +version = "0.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "mod_path" -version = "0.1.1" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -508,83 +519,89 @@ name = "msg" version = "0.0.1" dependencies = [ "azure 0.1.0 (git+https://github.com/servo/rust-azure)", - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "core_foundation 0.1.0 (git+https://github.com/servo/rust-core-foundation)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "hyper 0.1.10 (git+https://github.com/servo/hyper?branch=servo)", + "hyper 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "io_surface 0.1.0 (git+https://github.com/servo/rust-io-surface)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", "style 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] -name = "mucell" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] name = "net" version = "0.0.1" dependencies = [ - "cookie 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "cookie 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "hyper 0.1.10 (git+https://github.com/servo/hyper?branch=servo)", - "openssl 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "png 0.1.0 (git+https://github.com/servo/rust-png)", - "regex 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "regex_macros 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "regex_macros 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "stb_image 0.1.0 (git+https://github.com/servo/rust-stb-image)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "openssl" -version = "0.3.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "openssl-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "openssl-sys" -version = "0.3.2" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "libressl-pnacl-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "pkg-config 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "phf" -version = "0.6.4" +version = "0.6.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "phf_shared 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "phf_generator" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "phf_shared 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_shared 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "phf_macros" -version = "0.6.4" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "phf_shared 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "rand 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_generator 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_shared 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "phf_shared" -version = "0.6.4" +version = "0.6.12" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "pkg-config" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -599,72 +616,81 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "png" version = "0.1.0" -source = "git+https://github.com/servo/rust-png#687f103498654815682d2a750f26bbefc46d9da4" +source = "git+https://github.com/servo/rust-png#da851d68159fe0a7dba81dfbee594e5226b72884" dependencies = [ - "gcc 0.1.7 (git+https://github.com/alexcrichton/gcc-rs)", + "gcc 0.3.1 (git+https://github.com/alexcrichton/gcc-rs)", "png-sys 1.6.16 (git+https://github.com/servo/rust-png)", ] [[package]] name = "png-sys" version = "1.6.16" -source = "git+https://github.com/servo/rust-png#687f103498654815682d2a750f26bbefc46d9da4" +source = "git+https://github.com/servo/rust-png#da851d68159fe0a7dba81dfbee594e5226b72884" [[package]] name = "rand" -version = "0.1.2" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "rand" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "log 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex" -version = "0.1.14" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "regex_macros" -version = "0.1.8" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "rustc-serialize" -version = "0.2.12" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "script" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "canvas 0.0.1", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", "devtools_traits 0.0.1", - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "gfx 0.0.1", "html5ever 0.0.0 (git+https://github.com/servo/html5ever)", - "hyper 0.1.10 (git+https://github.com/servo/hyper?branch=servo)", + "hyper 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "js 0.1.0 (git+https://github.com/servo/rust-mozjs)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", "plugins 0.0.1", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", "style 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "uuid 0.1.9 (git+https://github.com/rust-lang/uuid)", + "uuid 0.1.11 (git+https://github.com/rust-lang/uuid)", ] [[package]] @@ -673,30 +699,30 @@ version = "0.0.1" dependencies = [ "devtools_traits 0.0.1", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "selectors" version = "0.1.0" -source = "git+https://github.com/servo/rust-selectors#2a492d522ef596a05c3677bb74bf8a5b73d01855" +source = "git+https://github.com/servo/rust-selectors#f3cffb2c37cf1a4dac06a02eb00a882626039a0c" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", ] [[package]] name = "servo" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "compositing 0.0.1", "devtools 0.0.1", "gfx 0.0.1", @@ -705,15 +731,15 @@ dependencies = [ "net 0.0.1", "png 0.1.0 (git+https://github.com/servo/rust-png)", "script 0.0.1", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] [[package]] name = "skia" version = "0.0.20130412" -source = "git+https://github.com/servo/skia?branch=upstream-2014-06-16#76b626df0d6cfb32eb1ee5ba3c7b52aadd5a42e3" +source = "git+https://github.com/servo/skia?branch=upstream-2014-06-16#db5b5393c83da9ff5b8fb2076481e98fb2b659f2" dependencies = [ "expat-sys 2.1.0 (git+https://github.com/servo/libexpat)", "freetype-sys 2.4.11 (git+https://github.com/servo/libfreetype2)", @@ -722,45 +748,47 @@ dependencies = [ [[package]] name = "stb_image" version = "0.1.0" -source = "git+https://github.com/servo/rust-stb-image#8fb5031333ea142802724719ce20bfa132bc4802" +source = "git+https://github.com/servo/rust-stb-image#b683cc9e7ba52a1bb65361347da0df1bc9c5e854" [[package]] name = "string_cache" version = "0.0.0" -source = "git+https://github.com/servo/string-cache#12b84faff894d358a546bf064b0daf5f04f2a96b" +source = "git+https://github.com/servo/string-cache#8c05fdf456a0e4f884e85d7e3a7700b2e4ca91eb" dependencies = [ - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", - "phf 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "phf_macros 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "xxhash 0.0.8 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", + "phf 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "phf_macros 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", ] [[package]] -name = "string_cache_macros" +name = "string_cache_plugin" version = "0.0.0" -source = "git+https://github.com/servo/string-cache#12b84faff894d358a546bf064b0daf5f04f2a96b" +source = "git+https://github.com/servo/string-cache#8c05fdf456a0e4f884e85d7e3a7700b2e4ca91eb" dependencies = [ - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", + "mac 0.0.2 (git+https://github.com/reem/rust-mac)", ] [[package]] name = "style" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", - "encoding 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", + "encoding 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "mod_path 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "mod_path 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", - "text_writer 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", + "text_writer 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", ] @@ -770,88 +798,78 @@ version = "0.0.1" [[package]] name = "text_writer" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "time" -version = "0.1.17" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "unicase" -version = "0.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" - -[[package]] -name = "unsafe-any" -version = "0.2.2" +version = "0.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "url" -version = "0.2.19" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "util" version = "0.0.1" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "cssparser 0.2.0 (git+https://github.com/servo/rust-cssparser)", "geom 0.1.0 (git+https://github.com/servo/rust-geom)", "layers 0.1.0 (git+https://github.com/servo/rust-layers)", - "lazy_static 0.1.7 (git+https://github.com/Kimundi/lazy-static.rs)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.1.8 (git+https://github.com/Kimundi/lazy-static.rs)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "rand 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.1.0 (git+https://github.com/servo/rust-selectors)", "string_cache 0.0.0 (git+https://github.com/servo/string-cache)", - "string_cache_macros 0.0.0 (git+https://github.com/servo/string-cache)", + "string_cache_plugin 0.0.0 (git+https://github.com/servo/string-cache)", "task_info 0.0.1", - "text_writer 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", - "time 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "url 0.2.19 (registry+https://github.com/rust-lang/crates.io-index)", + "text_writer 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", + "time 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", + "url 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "uuid" -version = "0.1.9" -source = "git+https://github.com/rust-lang/uuid#3128649cde7c4ba390b31298093d6c181a23eb61" +version = "0.1.11" +source = "git+https://github.com/rust-lang/uuid#c7862508f84b114d22bb68ec01202eafc50a81b2" dependencies = [ - "rand 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-serialize 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xlib" version = "0.1.0" -source = "git+https://github.com/servo/rust-xlib#4f1bfc476256c37a152980d42213116a62629599" +source = "git+https://github.com/servo/rust-xlib#715e6f9bb3dfcd925996caedeb77aefb31c2bd65" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "xml-rs" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "bitflags 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "xxhash" -version = "0.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" - diff --git a/ports/gonk/src/lib.rs b/ports/gonk/src/lib.rs index ba5cc455563..f70f188bdc9 100644 --- a/ports/gonk/src/lib.rs +++ b/ports/gonk/src/lib.rs @@ -63,13 +63,14 @@ use std::thread::Builder; #[cfg(not(test))] use std::sync::mpsc::channel; -pub struct Browser<Window> { +pub struct Browser { compositor: Box<CompositorEventListener + 'static>, } -impl<Window> Browser<Window> where Window: WindowMethods + 'static { +impl Browser { #[cfg(not(test))] - pub fn new(window: Option<Rc<Window>>) -> Browser<Window> { + pub fn new<Window>(window: Option<Rc<Window>>) -> Browser + where Window: WindowMethods + 'static { ::util::opts::set_experimental_enabled(opts::get().enable_experimental); let opts = opts::get(); RegisterBindings::RegisterProxyHandlers(); @@ -124,7 +125,7 @@ impl<Window> Browser<Window> where Window: WindowMethods + 'static { let url = match url::Url::parse(url.as_slice()) { Ok(url) => url, Err(url::ParseError::RelativeUrlWithoutBase) - => url::Url::from_file_path(&cwd.join(url.as_slice())).unwrap(), + => url::Url::from_file_path(&*cwd.join(url.as_slice())).unwrap(), Err(_) => panic!("URL parsing failed"), }; diff --git a/ports/gonk/src/main.rs b/ports/gonk/src/main.rs index fc53e3b7900..60af0859749 100644 --- a/ports/gonk/src/main.rs +++ b/ports/gonk/src/main.rs @@ -34,12 +34,11 @@ mod window; mod input; struct BrowserWrapper { - browser: Browser<window::Window>, + browser: Browser, } fn main() { - if opts::from_cmdline_args(env::args().map(|a| a.into_string().unwrap()) - .collect::<Vec<_>>().as_slice()) { + if opts::from_cmdline_args(env::args().collect::<Vec<_>>().as_slice()) { let window = if opts::get().headless { None } else { diff --git a/ports/gonk/src/window.rs b/ports/gonk/src/window.rs index 0e8bf8451a1..c17526c67b3 100644 --- a/ports/gonk/src/window.rs +++ b/ports/gonk/src/window.rs @@ -811,7 +811,7 @@ impl WindowMethods for Window { } fn hidpi_factor(&self) -> ScaleFactor<ScreenPx, DevicePixel, f32> { - ScaleFactor(1.0) + ScaleFactor::new(1.0) } fn native_metadata(&self) -> NativeGraphicsMetadata { diff --git a/python/servo/bootstrap_commands.py b/python/servo/bootstrap_commands.py index 68edbdd38c8..b59b7fed929 100644 --- a/python/servo/bootstrap_commands.py +++ b/python/servo/bootstrap_commands.py @@ -79,7 +79,7 @@ class MachCommands(CommandBase): def bootstrap_rustc(self, force=False): rust_dir = path.join( self.context.sharedir, "rust", *self.rust_snapshot_path().split("/")) - if not force and path.exists(path.join(rust_dir, "bin", "rustc")): + if not force and path.exists(path.join(rust_dir, "rustc", "bin", "rustc")): print("Snapshot Rust compiler already downloaded.", end=" ") print("Use |bootstrap-rust --force| to download again.") return @@ -130,7 +130,9 @@ class MachCommands(CommandBase): if path.isdir(temp_dir): shutil.rmtree(temp_dir) extract(tgz_file, temp_dir) - shutil.move(path.join(temp_dir, docs_name.split("/")[1], "share", "doc", "rust", "html"), docs_dir) + shutil.move(path.join(temp_dir, docs_name.split("/")[1], + "rust-docs", "share", "doc", "rust", "html"), + docs_dir) shutil.rmtree(temp_dir) print("Rust docs ready.") diff --git a/python/servo/build_commands.py b/python/servo/build_commands.py index e4327d64b9e..ad8e58d04c2 100644 --- a/python/servo/build_commands.py +++ b/python/servo/build_commands.py @@ -93,7 +93,9 @@ class MachCommands(CommandBase): status = subprocess.call( make_cmd + ["-f", "openssl.makefile"], env=self.build_env()) - env['OPENSSL_PATH'] = path.join(self.android_support_dir(), "openssl-1.0.1k") + openssl_dir = path.join(self.android_support_dir(), "openssl-1.0.1k") + env['OPENSSL_LIB_DIR'] = openssl_dir + env['OPENSSL_INCLUDE_DIR'] = path.join(openssl_dir, "include") status = subprocess.call( ["cargo", "build"] + opts, diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 5075cad6487..25ed18bb29a 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -128,12 +128,12 @@ class CommandBase(object): if not self.config["tools"]["system-rust"] \ or self.config["tools"]["rust-root"]: env["RUST_ROOT"] = self.config["tools"]["rust-root"] - extra_path += [path.join(self.config["tools"]["rust-root"], "bin")] - extra_lib += [path.join(self.config["tools"]["rust-root"], "lib")] + extra_path += [path.join(self.config["tools"]["rust-root"], "rustc", "bin")] + extra_lib += [path.join(self.config["tools"]["rust-root"], "rustc", "lib")] if not self.config["tools"]["system-cargo"] \ or self.config["tools"]["cargo-root"]: extra_path += [ - path.join(self.config["tools"]["cargo-root"], "bin")] + path.join(self.config["tools"]["cargo-root"], "cargo", "bin")] if extra_path: env["PATH"] = "%s%s%s" % ( @@ -192,7 +192,9 @@ class CommandBase(object): "--sysroot=%(gonkdir)s/out/target/product/%(gonkproduct)s/obj/") % {"gonkdir": env["GONKDIR"], "gonkproduct": env["GONK_PRODUCT"] } # Not strictly necessary for a vanilla build, but might be when tweaking the openssl build - env["OPENSSL_PATH"] = "%(gonkdir)s/out/target/product/%(gonkproduct)s/obj/lib" % {"gonkdir": env["GONKDIR"], "gonkproduct": env["GONK_PRODUCT"] } + openssl_dir = "%(gonkdir)s/out/target/product/%(gonkproduct)s/obj/lib" % {"gonkdir": env["GONKDIR"], "gonkproduct": env["GONK_PRODUCT"] } + env["OPENSSL_LIB_DIR"] = openssl_dir + env['OPENSSL_INCLUDE_DIR'] = path.join(openssl_dir, "include") # FIXME: These are set because they are the variable names that # android-rs-glue expects. However, other submodules have makefiles that @@ -233,11 +235,11 @@ class CommandBase(object): if not self.config["tools"]["system-rust"] and \ not path.exists(path.join( - self.config["tools"]["rust-root"], "bin", "rustc")): + self.config["tools"]["rust-root"], "rustc", "bin", "rustc")): Registrar.dispatch("bootstrap-rust", context=self.context) if not self.config["tools"]["system-cargo"] and \ not path.exists(path.join( - self.config["tools"]["cargo-root"], "bin", "cargo")): + self.config["tools"]["cargo-root"], "cargo", "bin", "cargo")): Registrar.dispatch("bootstrap-cargo", context=self.context) self.context.bootstrapped = True diff --git a/python/servo/post_build_commands.py b/python/servo/post_build_commands.py index dc7da708a0d..7faf3a598cf 100644 --- a/python/servo/post_build_commands.py +++ b/python/servo/post_build_commands.py @@ -35,7 +35,7 @@ class MachCommands(CommandBase): def get_binary_path(self, release, dev): base_path = path.join("components", "servo", "target") release_path = path.join(base_path, "release", "servo") - dev_path = path.join(base_path, "servo") + dev_path = path.join(base_path, "debug", "servo") # Prefer release if both given if release and dev: diff --git a/python/servo/testing_commands.py b/python/servo/testing_commands.py index ac70aee373d..2bd4fcdad7f 100644 --- a/python/servo/testing_commands.py +++ b/python/servo/testing_commands.py @@ -36,12 +36,12 @@ class MachCommands(CommandBase): def find_test(self, prefix): target_contents = os.listdir(path.join( - self.context.topdir, "components", "servo", "target")) + self.context.topdir, "components", "servo", "target", "debug")) for filename in target_contents: if filename.startswith(prefix + "-"): filepath = path.join( self.context.topdir, "components", "servo", - "target", filename) + "target", "debug", filename) if path.isfile(filepath) and os.access(filepath, os.X_OK): return filepath diff --git a/rust-snapshot-hash b/rust-snapshot-hash index 00e97589eca..edeea6b61f2 100644 --- a/rust-snapshot-hash +++ b/rust-snapshot-hash @@ -1 +1 @@ -80627cd3cc4099b76cb2fb26ebe2f2f8a6c2335e/rustc-1.0.0-dev +d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-dev diff --git a/support/android-rs-glue b/support/android-rs-glue -Subproject f9da46ed02736508d75333008d54506eec87a33 +Subproject 34f588aace4d05ce42f4ca605d5470df8fdd236 diff --git a/support/rust-task_info/build.rs b/support/rust-task_info/build.rs index e4341cdab46..f2dc14999c4 100644 --- a/support/rust-task_info/build.rs +++ b/support/rust-task_info/build.rs @@ -4,12 +4,13 @@ #![feature(env)] #![feature(io)] +#![feature(old_io)] use std::old_io::process::{Command, ProcessExit, StdioContainer}; use std::env; fn main() { - let out_dir = env::var_string("OUT_DIR").unwrap(); + let out_dir = env::var("OUT_DIR").unwrap(); let result = Command::new("make") .args(&["-f", "makefile.cargo"]) .stdout(StdioContainer::InheritFd(1)) diff --git a/tests/contenttest.rs b/tests/contenttest.rs index c8175311304..7e8bb71fd66 100644 --- a/tests/contenttest.rs +++ b/tests/contenttest.rs @@ -13,7 +13,7 @@ extern crate getopts; extern crate test; use test::{AutoColor, TestOpts, run_tests_console, TestDesc, TestDescAndFn, DynTestFn, DynTestName}; -use test::ShouldFail; +use test::ShouldPanic; use getopts::{getopts, reqopt}; use std::{str, env}; use std::old_io::fs; @@ -30,7 +30,7 @@ struct Config { fn main() { let args = env::args(); - let config = parse_config(args.map(|x| x.into_string().unwrap()).collect()); + let config = parse_config(args.collect()); let opts = test_options(config.clone()); let tests = find_tests(config); match run_tests_console(&opts, tests) { @@ -81,7 +81,7 @@ fn make_test(file: String) -> TestDescAndFn { desc: TestDesc { name: DynTestName(file.clone()), ignore: false, - should_fail: ShouldFail::No, + should_panic: ShouldPanic::No, }, testfn: DynTestFn(Thunk::new(move || { run_test(file) })) } @@ -100,7 +100,7 @@ fn run_test(file: String) { true => prc_arg.join("servo"), _ => panic!("could not pop directory"), }; - let mut prc = match Command::new(prc_arg) + let mut prc = match Command::new(prc_arg.to_str().unwrap()) .args(args.as_slice()) .stdin(Ignored) .stdout(stdout) diff --git a/tests/reftest.rs b/tests/reftest.rs index be434b5aa24..d8a98784a29 100644 --- a/tests/reftest.rs +++ b/tests/reftest.rs @@ -21,7 +21,7 @@ use std::old_io::process::ExitStatus; use std::old_io::fs::PathExtensions; use std::old_path::Path; use std::thunk::Thunk; -use test::{AutoColor, DynTestName, DynTestFn, TestDesc, TestOpts, TestDescAndFn, ShouldFail}; +use test::{AutoColor, DynTestName, DynTestFn, TestDesc, TestOpts, TestDescAndFn, ShouldPanic}; use test::run_tests_console; use url::Url; @@ -38,7 +38,7 @@ bitflags!( fn main() { - let args: Vec<String> = env::args().map(|arg| arg.into_string().ok().expect("argument ws not a String")).collect(); + let args: Vec<String> = env::args().collect(); let mut parts = args.tail().split(|e| "--" == e.as_slice()); let harness_args = parts.next().unwrap(); // .split() is never empty @@ -183,12 +183,7 @@ fn parse_lists(file: &Path, servo_args: &[String], render_mode: RenderMode, id_o part => panic!("reftest line: '{}' has invalid kind '{}'", line, part) }; - // If we're running this directly, file.dir_path() might be relative. - // (see issue #3521) - let base = match file.dir_path().is_relative() { - true => env::current_dir().unwrap().join(file.dir_path()), - false => file.dir_path() - }; + let base = Path::new(env::current_dir().unwrap().to_str().unwrap()).join(file.dir_path()); let file_left = base.join(test_line.file_left); let file_right = base.join(test_line.file_right); @@ -239,7 +234,7 @@ fn make_test(reftest: Reftest) -> TestDescAndFn { desc: TestDesc { name: DynTestName(name), ignore: false, - should_fail: ShouldFail::No, + should_panic: ShouldPanic::No, }, testfn: DynTestFn(Thunk::new(move || { check_reftest(reftest); @@ -293,7 +288,7 @@ fn capture(reftest: &Reftest, side: usize) -> (u32, u32, Vec<u8>) { fn servo_path() -> Path { let current_exe = env::current_exe().ok().expect("Could not locate current executable"); - current_exe.dir_path().join("servo") + Path::new(current_exe.to_str().unwrap()).dir_path().join("servo") } fn check_reftest(reftest: Reftest) { @@ -311,7 +306,7 @@ fn check_reftest(reftest: Reftest) { } let pixels = left_bytes.iter().zip(right_bytes.iter()).map(|(&a, &b)| { - if a as i8 - b as i8 == 0 { + if a == b { // White for correct 0xFF } else { diff --git a/tests/wpt/metadata/XMLHttpRequest/status-async.htm.ini b/tests/wpt/metadata/XMLHttpRequest/status-async.htm.ini index 38432e84d12..3f09123c843 100644 --- a/tests/wpt/metadata/XMLHttpRequest/status-async.htm.ini +++ b/tests/wpt/metadata/XMLHttpRequest/status-async.htm.ini @@ -22,12 +22,6 @@ [XMLHttpRequest: status/statusText - various responses 23 (HEAD 503)] expected: TIMEOUT - [XMLHttpRequest: status/statusText - various responses 25 (GET 699)] - expected: FAIL - [XMLHttpRequest: status/statusText - various responses 26 (HEAD 699)] - expected: FAIL - - [XMLHttpRequest: status/statusText - various responses 27 (CHICKEN 699)] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/metadata/XMLHttpRequest/status-error.htm.ini b/tests/wpt/metadata/XMLHttpRequest/status-error.htm.ini deleted file mode 100644 index c48afe115a6..00000000000 --- a/tests/wpt/metadata/XMLHttpRequest/status-error.htm.ini +++ /dev/null @@ -1,14 +0,0 @@ -[status-error.htm] - type: testharness - [XMLHttpRequest: status error handling GET 699] - expected: FAIL - - [XMLHttpRequest: status error handling HEAD 699] - expected: FAIL - - [XMLHttpRequest: status error handling POST 699] - expected: FAIL - - [XMLHttpRequest: status error handling PUT 699] - expected: FAIL - diff --git a/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/004.html.ini b/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/004.html.ini index 8736045067f..dc00ad0dfe0 100644 --- a/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/004.html.ini +++ b/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/004.html.ini @@ -1,6 +1,7 @@ [004.html] type: testharness expected: TIMEOUT + disabled: flaky crash detection [importScripts broken script] expected: TIMEOUT diff --git a/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/005.html.ini b/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/005.html.ini index ae10d0f5f3d..4186b89c589 100644 --- a/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/005.html.ini +++ b/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/005.html.ini @@ -1,6 +1,7 @@ [005.html] type: testharness expected: TIMEOUT + disabled: flaky crash detection [importScripts separate scripts] expected: TIMEOUT diff --git a/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/006.html.ini b/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/006.html.ini index 6c3c750a2e3..11fe3bedc0d 100644 --- a/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/006.html.ini +++ b/tests/wpt/metadata/workers/interfaces/WorkerUtils/importScripts/006.html.ini @@ -1,6 +1,7 @@ [006.html] type: testharness expected: TIMEOUT + disabled: flaky crash detection [importScripts uncaught exception] expected: TIMEOUT diff --git a/tests/wpt/run.sh b/tests/wpt/run.sh index 1747d0adfdc..b2ee80395f0 100755 --- a/tests/wpt/run.sh +++ b/tests/wpt/run.sh @@ -9,6 +9,8 @@ binary_dir=$wpt_root/../../components/servo/target if [[ $1 == "--release" ]]; then binary_dir=$binary_dir/release shift +else + binary_dir=$binary_dir/debug fi PYTHON=$(which python2 2> /dev/null || echo python) |