diff options
79 files changed, 1567 insertions, 1136 deletions
diff --git a/components/gfx/Cargo.toml b/components/gfx/Cargo.toml index bc8adf69204..3ef6e183239 100644 --- a/components/gfx/Cargo.toml +++ b/components/gfx/Cargo.toml @@ -16,6 +16,7 @@ azure = {git = "https://github.com/servo/rust-azure", features = ["plugins"]} bitflags = "0.7" euclid = "0.10.1" fnv = "1.0" +fontsan = {git = "https://github.com/servo/fontsan"} gfx_traits = {path = "../gfx_traits"} harfbuzz-sys = "0.1" heapsize = "0.3.0" diff --git a/components/gfx/font_cache_thread.rs b/components/gfx/font_cache_thread.rs index 9b761900a80..055216a948d 100644 --- a/components/gfx/font_cache_thread.rs +++ b/components/gfx/font_cache_thread.rs @@ -3,6 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use font_template::{FontTemplate, FontTemplateDescriptor}; +use fontsan; use ipc_channel::ipc::{self, IpcReceiver, IpcSender}; use ipc_channel::router::ROUTER; use mime::{TopLevel, SubLevel}; @@ -252,8 +253,18 @@ impl FontCache { channel_to_self.send(msg).unwrap(); return; } - let mut bytes = bytes.lock().unwrap(); - let bytes = mem::replace(&mut *bytes, Vec::new()); + let bytes = mem::replace(&mut *bytes.lock().unwrap(), vec![]); + let bytes = match fontsan::process(&bytes) { + Ok(san) => san, + Err(_) => { + // FIXME(servo/fontsan#1): get an error message + debug!("Sanitiser rejected web font: \ + family={:?} url={}", family_name, url); + let msg = Command::AddWebFont(family_name.clone(), sources.clone(), sender.clone()); + channel_to_self.send(msg).unwrap(); + return; + }, + }; let command = Command::AddDownloadedWebFont(family_name.clone(), url.clone(), diff --git a/components/gfx/lib.rs b/components/gfx/lib.rs index bed633b9562..f8e8febc96c 100644 --- a/components/gfx/lib.rs +++ b/components/gfx/lib.rs @@ -39,6 +39,7 @@ extern crate fnv; // Platforms that use Freetype/Fontconfig library dependencies #[cfg(any(target_os = "linux", target_os = "android", all(target_os = "windows", target_env = "gnu")))] extern crate fontconfig; +extern crate fontsan; #[cfg(any(target_os = "linux", target_os = "android", all(target_os = "windows", target_env = "gnu")))] extern crate freetype; diff --git a/components/gfx/paint_thread.rs b/components/gfx/paint_thread.rs index 47d6d6590cf..13754a3cf15 100644 --- a/components/gfx/paint_thread.rs +++ b/components/gfx/paint_thread.rs @@ -29,11 +29,11 @@ use std::collections::HashMap; use std::mem as std_mem; use std::sync::Arc; use std::sync::mpsc::{Receiver, Sender, channel}; +use style::thread_state; use url::Url; use util::geometry::ExpandToPixelBoundaries; use util::opts; use util::thread; -use util::thread_state; #[derive(Clone, HeapSizeOf)] struct PaintLayer { diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs index 2c0063b7c39..ce3df3f4c47 100644 --- a/components/layout/display_list_builder.rs +++ b/components/layout/display_list_builder.rs @@ -60,6 +60,10 @@ use table_cell::CollapsedBordersForCell; use url::Url; use util::opts; +fn get_cyclic<T>(arr: &[T], index: usize) -> &T { + &arr[index % arr.len()] +} + pub struct DisplayListBuildState<'a> { pub layout_context: &'a LayoutContext<'a>, pub items: Vec<DisplayItem>, @@ -146,7 +150,7 @@ pub trait FragmentDisplayListBuilding { fn compute_background_image_size(&self, style: &ServoComputedValues, bounds: &Rect<Au>, - image: &WebRenderImageInfo) + image: &WebRenderImageInfo, index: usize) -> Size2D<Au>; /// Adds the display items necessary to paint the background image of this fragment to the @@ -157,7 +161,8 @@ pub trait FragmentDisplayListBuilding { display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &ClippingRegion, - image_url: &Url); + image_url: &Url, + background_index: usize); /// Adds the display items necessary to paint the background linear gradient of this fragment /// to the appropriate section of the display list. @@ -344,27 +349,32 @@ impl FragmentDisplayListBuilding for Fragment { if !border_radii.is_square() { clip.intersect_with_rounded_rect(absolute_bounds, &border_radii) } + let background = style.get_background(); // FIXME: This causes a lot of background colors to be displayed when they are clearly not // needed. We could use display list optimization to clean this up, but it still seems // inefficient. What we really want is something like "nearest ancestor element that // doesn't have a fragment". - let background_color = style.resolve_color(style.get_background().background_color); + let background_color = style.resolve_color(background.background_color); // 'background-clip' determines the area within which the background is painted. // http://dev.w3.org/csswg/css-backgrounds-3/#the-background-clip let mut bounds = *absolute_bounds; - match style.get_background().background_clip { - background_clip::T::border_box => {} - background_clip::T::padding_box => { + // This is the clip for the color (which is the last element in the bg array) + let color_clip = get_cyclic(&background.background_clip.0, + background.background_image.0.len() - 1); + + match *color_clip { + background_clip::single_value::T::border_box => {} + background_clip::single_value::T::padding_box => { let border = style.logical_border_width().to_physical(style.writing_mode); bounds.origin.x = bounds.origin.x + border.left; bounds.origin.y = bounds.origin.y + border.top; bounds.size.width = bounds.size.width - border.horizontal(); bounds.size.height = bounds.size.height - border.vertical(); } - background_clip::T::content_box => { + background_clip::single_value::T::content_box => { let border_padding = self.border_padding.to_physical(style.writing_mode); bounds.origin.x = bounds.origin.x + border_padding.left; bounds.origin.y = bounds.origin.y + border_padding.top; @@ -388,23 +398,26 @@ impl FragmentDisplayListBuilding for Fragment { // Implements background image, per spec: // http://www.w3.org/TR/CSS21/colors.html#background let background = style.get_background(); - match background.background_image.0 { - None => {} - Some(computed::Image::LinearGradient(ref gradient)) => { - self.build_display_list_for_background_linear_gradient(state, - display_list_section, - &bounds, - &clip, - gradient, - style); - } - Some(computed::Image::Url(ref image_url, ref _extra_data)) => { - self.build_display_list_for_background_image(state, - style, - display_list_section, - &bounds, - &clip, - image_url); + for (i, background_image) in background.background_image.0.iter().enumerate().rev() { + match background_image.0 { + None => {} + Some(computed::Image::LinearGradient(ref gradient)) => { + self.build_display_list_for_background_linear_gradient(state, + display_list_section, + &bounds, + &clip, + gradient, + style); + } + Some(computed::Image::Url(ref image_url, ref _extra_data)) => { + self.build_display_list_for_background_image(state, + style, + display_list_section, + &bounds, + &clip, + image_url, + i); + } } } } @@ -412,7 +425,8 @@ impl FragmentDisplayListBuilding for Fragment { fn compute_background_image_size(&self, style: &ServoComputedValues, bounds: &Rect<Au>, - image: &WebRenderImageInfo) + image: &WebRenderImageInfo, + index: usize) -> Size2D<Au> { // If `image_aspect_ratio` < `bounds_aspect_ratio`, the image is tall; otherwise, it is // wide. @@ -420,19 +434,22 @@ impl FragmentDisplayListBuilding for Fragment { let bounds_aspect_ratio = bounds.size.width.to_f64_px() / bounds.size.height.to_f64_px(); let intrinsic_size = Size2D::new(Au::from_px(image.width as i32), Au::from_px(image.height as i32)); - match (style.get_background().background_size.clone(), - image_aspect_ratio < bounds_aspect_ratio) { - (background_size::T::Contain, false) | (background_size::T::Cover, true) => { + let background_size = get_cyclic(&style.get_background().background_size.0, index).clone(); + match (background_size, image_aspect_ratio < bounds_aspect_ratio) { + (background_size::single_value::T::Contain, false) | + (background_size::single_value::T::Cover, true) => { Size2D::new(bounds.size.width, Au::from_f64_px(bounds.size.width.to_f64_px() / image_aspect_ratio)) } - (background_size::T::Contain, true) | (background_size::T::Cover, false) => { + (background_size::single_value::T::Contain, true) | + (background_size::single_value::T::Cover, false) => { Size2D::new(Au::from_f64_px(bounds.size.height.to_f64_px() * image_aspect_ratio), bounds.size.height) } - (background_size::T::Explicit(background_size::ExplicitSize { + (background_size::single_value::T::Explicit(background_size::single_value + ::ExplicitSize { width, height: LengthOrPercentageOrAuto::Auto, }), _) => { @@ -441,7 +458,8 @@ impl FragmentDisplayListBuilding for Fragment { Size2D::new(width, Au::from_f64_px(width.to_f64_px() / image_aspect_ratio)) } - (background_size::T::Explicit(background_size::ExplicitSize { + (background_size::single_value::T::Explicit(background_size::single_value + ::ExplicitSize { width: LengthOrPercentageOrAuto::Auto, height }), _) => { @@ -450,7 +468,8 @@ impl FragmentDisplayListBuilding for Fragment { Size2D::new(Au::from_f64_px(height.to_f64_px() * image_aspect_ratio), height) } - (background_size::T::Explicit(background_size::ExplicitSize { + (background_size::single_value::T::Explicit(background_size::single_value + ::ExplicitSize { width, height }), _) => { @@ -468,19 +487,22 @@ impl FragmentDisplayListBuilding for Fragment { display_list_section: DisplayListSection, absolute_bounds: &Rect<Au>, clip: &ClippingRegion, - image_url: &Url) { + image_url: &Url, + index: usize) { let background = style.get_background(); let fetch_image_data_as_well = !opts::get().use_webrender; let webrender_image = state.layout_context.get_webrender_image_for_url(image_url, UsePlaceholder::No, fetch_image_data_as_well); + if let Some((webrender_image, image_data)) = webrender_image { debug!("(building display list) building background image"); // Use `background-size` to get the size. let mut bounds = *absolute_bounds; - let image_size = self.compute_background_image_size(style, &bounds, &webrender_image); + let image_size = self.compute_background_image_size(style, &bounds, + &webrender_image, index); // Clip. // @@ -492,25 +514,27 @@ impl FragmentDisplayListBuilding for Fragment { let border = style.logical_border_width().to_physical(style.writing_mode); // Use 'background-origin' to get the origin value. - let (mut origin_x, mut origin_y) = match background.background_origin { - background_origin::T::padding_box => { + let origin = get_cyclic(&background.background_origin.0, index); + let (mut origin_x, mut origin_y) = match *origin { + background_origin::single_value::T::padding_box => { (Au(0), Au(0)) } - background_origin::T::border_box => { + background_origin::single_value::T::border_box => { (-border.left, -border.top) } - background_origin::T::content_box => { + background_origin::single_value::T::content_box => { let border_padding = self.border_padding.to_physical(self.style.writing_mode); (border_padding.left - border.left, border_padding.top - border.top) } }; // Use `background-attachment` to get the initial virtual origin - let (virtual_origin_x, virtual_origin_y) = match background.background_attachment { - background_attachment::T::scroll => { + let attachment = get_cyclic(&background.background_attachment.0, index); + let (virtual_origin_x, virtual_origin_y) = match *attachment { + background_attachment::single_value::T::scroll => { (absolute_bounds.origin.x, absolute_bounds.origin.y) } - background_attachment::T::fixed => { + background_attachment::single_value::T::fixed => { // If the ‘background-attachment’ value for this image is ‘fixed’, then // 'background-origin' has no effect. origin_x = Au(0); @@ -519,24 +543,25 @@ impl FragmentDisplayListBuilding for Fragment { } }; + let position = *get_cyclic(&background.background_position.0, index); // Use `background-position` to get the offset. - let horizontal_position = model::specified(background.background_position.0.horizontal, - bounds.size.width - image_size.width); - let vertical_position = model::specified(background.background_position.0.vertical, - bounds.size.height - image_size.height); + let horizontal_position = model::specified(position.horizontal, + bounds.size.width - image_size.width); + let vertical_position = model::specified(position.vertical, + bounds.size.height - image_size.height); let abs_x = border.left + virtual_origin_x + horizontal_position + origin_x; let abs_y = border.top + virtual_origin_y + vertical_position + origin_y; // Adjust origin and size based on background-repeat - match background.background_repeat { - background_repeat::T::no_repeat => { + match *get_cyclic(&background.background_repeat.0, index) { + background_repeat::single_value::T::no_repeat => { bounds.origin.x = abs_x; bounds.origin.y = abs_y; bounds.size.width = image_size.width; bounds.size.height = image_size.height; } - background_repeat::T::repeat_x => { + background_repeat::single_value::T::repeat_x => { bounds.origin.y = abs_y; bounds.size.height = image_size.height; ImageFragmentInfo::tile_image(&mut bounds.origin.x, @@ -544,7 +569,7 @@ impl FragmentDisplayListBuilding for Fragment { abs_x, image_size.width.to_nearest_px() as u32); } - background_repeat::T::repeat_y => { + background_repeat::single_value::T::repeat_y => { bounds.origin.x = abs_x; bounds.size.width = image_size.width; ImageFragmentInfo::tile_image(&mut bounds.origin.y, @@ -552,31 +577,32 @@ impl FragmentDisplayListBuilding for Fragment { abs_y, image_size.height.to_nearest_px() as u32); } - background_repeat::T::repeat => { + background_repeat::single_value::T::repeat => { ImageFragmentInfo::tile_image(&mut bounds.origin.x, - &mut bounds.size.width, - abs_x, - image_size.width.to_nearest_px() as u32); + &mut bounds.size.width, + abs_x, + image_size.width.to_nearest_px() as u32); ImageFragmentInfo::tile_image(&mut bounds.origin.y, - &mut bounds.size.height, - abs_y, - image_size.height.to_nearest_px() as u32); + &mut bounds.size.height, + abs_y, + image_size.height.to_nearest_px() as u32); } }; // Create the image display item. let base = state.create_base_display_item(&bounds, - &clip, - self.node, - style.get_cursor(Cursor::Default), - display_list_section); + &clip, + self.node, + style.get_cursor(Cursor::Default), + display_list_section); state.add_display_item(DisplayItem::ImageClass(box ImageDisplayItem { - base: base, - webrender_image: webrender_image, - image_data: image_data.map(Arc::new), - stretch_size: Size2D::new(image_size.width, image_size.height), - image_rendering: style.get_inheritedbox().image_rendering.clone(), + base: base, + webrender_image: webrender_image, + image_data: image_data.map(Arc::new), + stretch_size: Size2D::new(image_size.width, image_size.height), + image_rendering: style.get_inheritedbox().image_rendering.clone(), })); + } } diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index bfef94fdd0d..dbf6307bac1 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -2008,10 +2008,8 @@ impl Fragment { let font_derived_metrics = InlineMetrics::from_font_metrics(&info.run.font_metrics, line_height); InlineMetrics { - block_size_above_baseline: font_derived_metrics.block_size_above_baseline + - self.border_padding.block_start, - depth_below_baseline: font_derived_metrics.depth_below_baseline + - self.border_padding.block_end, + block_size_above_baseline: font_derived_metrics.block_size_above_baseline, + depth_below_baseline: font_derived_metrics.depth_below_baseline, ascent: font_derived_metrics.ascent + self.border_padding.block_start, } } diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs index 9e09007188c..3fcdaa7c986 100644 --- a/components/layout_thread/lib.rs +++ b/components/layout_thread/lib.rs @@ -110,6 +110,7 @@ use style::refcell::RefCell; use style::selector_matching::Stylist; use style::servo_selector_impl::USER_OR_USER_AGENT_STYLESHEETS; use style::stylesheets::{Stylesheet, CSSRuleIteratorExt}; +use style::thread_state; use style::timer::Timer; use style::workqueue::WorkQueue; use url::Url; @@ -118,7 +119,6 @@ use util::ipc::OptionalIpcSender; use util::opts; use util::prefs::PREFS; use util::thread; -use util::thread_state; /// The number of screens we have to traverse before we decide to generate new display lists. const DISPLAY_PORT_THRESHOLD_SIZE_FACTOR: i32 = 4; diff --git a/components/script/dom/bindings/cell.rs b/components/script/dom/bindings/cell.rs index 3eb2a978c7a..29c4f8bad09 100644 --- a/components/script/dom/bindings/cell.rs +++ b/components/script/dom/bindings/cell.rs @@ -7,8 +7,8 @@ use dom::bindings::trace::JSTraceable; use js::jsapi::JSTracer; use std::cell::{BorrowError, BorrowMutError, Ref, RefCell, RefMut}; -use util::thread_state; -use util::thread_state::SCRIPT; +use style::thread_state; +use style::thread_state::SCRIPT; /// A mutable field in the DOM. /// diff --git a/components/script/dom/bindings/js.rs b/components/script/dom/bindings/js.rs index 12ff0aa8823..6a0dfd83dea 100644 --- a/components/script/dom/bindings/js.rs +++ b/components/script/dom/bindings/js.rs @@ -43,7 +43,7 @@ use std::intrinsics::type_name; use std::mem; use std::ops::Deref; use std::ptr; -use util::thread_state; +use style::thread_state; /// A traced reference to a DOM object /// diff --git a/components/script/dom/dedicatedworkerglobalscope.rs b/components/script/dom/dedicatedworkerglobalscope.rs index dfe385f0696..68899bd36b8 100644 --- a/components/script/dom/dedicatedworkerglobalscope.rs +++ b/components/script/dom/dedicatedworkerglobalscope.rs @@ -37,9 +37,9 @@ use std::mem::replace; use std::sync::atomic::AtomicBool; use std::sync::mpsc::{Receiver, RecvError, Select, Sender, channel}; use std::sync::{Arc, Mutex}; +use style::thread_state; use url::Url; use util::thread::spawn_named; -use util::thread_state; /// Set the `worker` field of a related DedicatedWorkerGlobalScope object to a particular /// value for the duration of this object's lifetime. This ensures that the related Worker diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 26ad3eaee40..2d57ddab4d6 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -362,8 +362,11 @@ impl LayoutElementHelpers for LayoutJS<Element> { if let Some(url) = background { hints.push(from_declaration( PropertyDeclaration::BackgroundImage(DeclaredValue::Value( - background_image::SpecifiedValue(Some( - specified::Image::Url(url, specified::UrlExtraData { }))))))); + background_image::SpecifiedValue(vec![ + background_image::single_value::SpecifiedValue(Some( + specified::Image::Url(url, specified::UrlExtraData { }) + )) + ]))))); } let color = if let Some(this) = self.downcast::<HTMLFontElement>() { @@ -774,8 +777,6 @@ impl Element { Arc::make_mut(&mut declarations.declarations).remove(index); if importance.unwrap().important() { declarations.important_count -= 1; - } else { - declarations.normal_count -= 1; } } } @@ -802,11 +803,9 @@ impl Element { if existing_declaration.0.name() == incoming_declaration.name() { match (existing_declaration.1, importance) { (Importance::Normal, Importance::Important) => { - declaration_block.normal_count -= 1; declaration_block.important_count += 1; } (Importance::Important, Importance::Normal) => { - declaration_block.normal_count += 1; declaration_block.important_count -= 1; } _ => {} @@ -818,23 +817,20 @@ impl Element { existing_declarations.push((incoming_declaration, importance)); if importance.important() { declaration_block.important_count += 1; - } else { - declaration_block.normal_count += 1; } } } return; } - let (normal_count, important_count) = if importance.important() { - (0, declarations.len() as u32) + let important_count = if importance.important() { + declarations.len() as u32 } else { - (declarations.len() as u32, 0) + 0 }; *inline_declarations = Some(PropertyDeclarationBlock { declarations: Arc::new(declarations.into_iter().map(|d| (d, importance)).collect()), - normal_count: normal_count, important_count: important_count, }); } @@ -856,11 +852,9 @@ impl Element { if properties.iter().any(|p| declaration.name() == **p) { match (*importance, new_importance) { (Importance::Normal, Importance::Important) => { - block.normal_count -= 1; block.important_count += 1; } (Importance::Important, Importance::Normal) => { - block.normal_count += 1; block.important_count -= 1; } _ => {} diff --git a/components/script/dom/headers.rs b/components/script/dom/headers.rs index cb3b4d13e48..6fa4e0249c8 100644 --- a/components/script/dom/headers.rs +++ b/components/script/dom/headers.rs @@ -12,8 +12,10 @@ use dom::bindings::js::Root; use dom::bindings::reflector::{Reflector, reflect_dom_object}; use dom::bindings::str::{ByteString, is_token}; use hyper::header::Headers as HyperHeaders; +use mime::{Mime, TopLevel, SubLevel}; use std::cell::Cell; use std::result::Result; +use std::str; #[dom_struct] pub struct Headers { @@ -72,7 +74,7 @@ impl HeadersMethods for Headers { return Ok(()); } // Step 5 - if self.guard.get() == Guard::RequestNoCors && !is_cors_safelisted_request_header(&valid_name) { + if self.guard.get() == Guard::RequestNoCors && !is_cors_safelisted_request_header(&valid_name, &valid_value) { return Ok(()); } // Step 6 @@ -103,9 +105,12 @@ impl HeadersMethods for Headers { return Ok(()); } // Step 4 - if self.guard.get() == Guard::RequestNoCors && !is_cors_safelisted_request_header(&valid_name) { - return Ok(()); - } + // TODO: Requires clarification from the Fetch spec: + // ... https://github.com/whatwg/fetch/issues/372 + if self.guard.get() == Guard::RequestNoCors && + !is_cors_safelisted_request_header(&valid_name, &b"invalid".to_vec()) { + return Ok(()); + } // Step 5 if self.guard.get() == Guard::Response && is_forbidden_response_header(&valid_name) { return Ok(()); @@ -148,7 +153,7 @@ impl HeadersMethods for Headers { return Ok(()); } // Step 5 - if self.guard.get() == Guard::RequestNoCors && !is_cors_safelisted_request_header(&valid_name) { + if self.guard.get() == Guard::RequestNoCors && !is_cors_safelisted_request_header(&valid_name, &valid_value) { return Ok(()); } // Step 6 @@ -220,18 +225,35 @@ impl Headers { } } -// TODO -// "Content-Type" once parsed, the value should be -// `application/x-www-form-urlencoded`, `multipart/form-data`, -// or `text/plain`. -// "DPR", "Downlink", "Save-Data", "Viewport-Width", "Width": -// once parsed, the value should not be failure. +fn is_cors_safelisted_request_content_type(value: &[u8]) -> bool { + let value_string = if let Ok(s) = str::from_utf8(value) { + s + } else { + return false; + }; + let value_mime_result: Result<Mime, _> = value_string.parse(); + match value_mime_result { + Err(_) => false, + Ok(value_mime) => { + match value_mime { + Mime(TopLevel::Application, SubLevel::WwwFormUrlEncoded, _) | + Mime(TopLevel::Multipart, SubLevel::FormData, _) | + Mime(TopLevel::Text, SubLevel::Plain, _) => true, + _ => false, + } + } + } +} + +// TODO: "DPR", "Downlink", "Save-Data", "Viewport-Width", "Width": +// ... once parsed, the value should not be failure. // https://fetch.spec.whatwg.org/#cors-safelisted-request-header -fn is_cors_safelisted_request_header(name: &str) -> bool { +fn is_cors_safelisted_request_header(name: &str, value: &[u8]) -> bool { match name { "accept" | "accept-language" | "content-language" => true, + "content-type" => is_cors_safelisted_request_content_type(value), _ => false, } } diff --git a/components/script/dom/htmlimageelement.rs b/components/script/dom/htmlimageelement.rs index cb0f65d0b2b..f03e43d9f2e 100644 --- a/components/script/dom/htmlimageelement.rs +++ b/components/script/dom/htmlimageelement.rs @@ -86,14 +86,14 @@ impl Runnable for ImageResponseHandlerRunnable { // Update the image field let element = self.element.root(); let element_ref = element.r(); - let (image, metadata, trigger_image_load) = match self.image { + let (image, metadata, trigger_image_load, trigger_image_error) = match self.image { ImageResponse::Loaded(image) | ImageResponse::PlaceholderLoaded(image) => { - (Some(image.clone()), Some(ImageMetadata { height: image.height, width: image.width } ), true) + (Some(image.clone()), Some(ImageMetadata { height: image.height, width: image.width } ), true, false) } ImageResponse::MetadataLoaded(meta) => { - (None, Some(meta), false) + (None, Some(meta), false, false) } - ImageResponse::None => (None, None, true) + ImageResponse::None => (None, None, false, true) }; element_ref.current_request.borrow_mut().image = image; element_ref.current_request.borrow_mut().metadata = metadata; @@ -107,6 +107,11 @@ impl Runnable for ImageResponseHandlerRunnable { element.upcast::<EventTarget>().fire_simple_event("load"); } + // Fire image.onerror + if trigger_image_error { + element.upcast::<EventTarget>().fire_simple_event("error"); + } + // Trigger reflow let window = window_from_node(document.r()); window.add_pending_reflow(); diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 34e69552f18..49aa8242b34 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -76,8 +76,8 @@ use std::ops::Range; use string_cache::{Atom, Namespace, QualName}; use style::dom::OpaqueNode; use style::selector_impl::ServoSelectorImpl; +use style::thread_state; use url::Url; -use util::thread_state; use uuid::Uuid; // diff --git a/components/script/dom/serviceworkerglobalscope.rs b/components/script/dom/serviceworkerglobalscope.rs index dc8a8788a61..275fffdb99a 100644 --- a/components/script/dom/serviceworkerglobalscope.rs +++ b/components/script/dom/serviceworkerglobalscope.rs @@ -32,11 +32,11 @@ use script_traits::{TimerEvent, WorkerGlobalScopeInit, ScopeThings, ServiceWorke use std::sync::mpsc::{Receiver, RecvError, Select, Sender, channel}; use std::thread; use std::time::Duration; +use style::thread_state; +use style::thread_state::{IN_WORKER, SCRIPT}; use url::Url; use util::prefs::PREFS; use util::thread::spawn_named; -use util::thread_state; -use util::thread_state::{IN_WORKER, SCRIPT}; /// Messages used to control service worker event loop pub enum ServiceWorkerScriptMsg { diff --git a/components/script/script_runtime.rs b/components/script/script_runtime.rs index dfbb5ba5203..b16ca804f5c 100644 --- a/components/script/script_runtime.rs +++ b/components/script/script_runtime.rs @@ -25,10 +25,10 @@ use std::io::{Write, stdout}; use std::marker::PhantomData; use std::os; use std::ptr; +use style::thread_state; use time::{Tm, now}; use util::opts; use util::prefs::PREFS; -use util::thread_state; /// Common messages used to control the event loops in both the script and the worker pub enum CommonScriptMsg { diff --git a/components/script/script_thread.rs b/components/script/script_thread.rs index 4dd3a3fba7f..4834218a89b 100644 --- a/components/script/script_thread.rs +++ b/components/script/script_thread.rs @@ -99,6 +99,7 @@ use std::sync::atomic::{Ordering, AtomicBool}; use std::sync::mpsc::{Receiver, Select, Sender, channel}; use std::sync::{Arc, Mutex}; use style::context::ReflowGoal; +use style::thread_state; use task_source::TaskSource; use task_source::dom_manipulation::{DOMManipulationTaskSource, DOMManipulationTask}; use task_source::file_reading::FileReadingTaskSource; @@ -109,7 +110,6 @@ use time::Tm; use url::{Url, Position}; use util::opts; use util::thread; -use util::thread_state; use webdriver_handlers; thread_local!(pub static STACK_ROOTS: Cell<Option<RootCollectionPtr>> = Cell::new(None)); diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock index c31dc2b2e7d..4bdc0dab852 100644 --- a/components/servo/Cargo.lock +++ b/components/servo/Cargo.lock @@ -23,7 +23,7 @@ dependencies = [ "layout 0.0.1", "layout_tests 0.0.1", "layout_thread 0.0.1", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", @@ -73,7 +73,7 @@ version = "0.1.1" source = "git+https://github.com/servo/angle?branch=servo#832ffd74ac892682dfcaea27dc518130a72e280c" dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -82,7 +82,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -93,7 +93,7 @@ version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "nodrop 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "odds 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "odds 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -114,13 +114,13 @@ dependencies = [ "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 4.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "servo-skia 0.20130412.23 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -131,10 +131,10 @@ dependencies = [ "backtrace-sys 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-demangle 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -142,8 +142,8 @@ name = "backtrace-sys" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -152,7 +152,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -185,7 +185,7 @@ name = "blurz" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dbus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "dbus 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -200,7 +200,7 @@ dependencies = [ [[package]] name = "browserhtml" version = "0.1.17" -source = "git+https://github.com/browserhtml/browserhtml?branch=crate#82ab69c8a83a34c9f81adef57255557b1a52412f" +source = "git+https://github.com/browserhtml/browserhtml?branch=crate#aafbb0996b02d1fadd4713c96e3d22b542f175a1" [[package]] name = "byteorder" @@ -218,7 +218,7 @@ dependencies = [ "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "util 0.0.1", @@ -247,7 +247,7 @@ name = "caseless" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -258,11 +258,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "cgl" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -270,7 +270,7 @@ name = "cmake" version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -281,7 +281,7 @@ dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "objc 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -315,7 +315,7 @@ dependencies = [ "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.5.1 (git+https://github.com/servo/rust-layers)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -371,7 +371,7 @@ name = "content-blocker" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -393,7 +393,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -401,7 +401,7 @@ name = "core-foundation-sys" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -410,7 +410,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -421,12 +421,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "crossbeam" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -445,16 +445,16 @@ name = "dbghelp-sys" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "dbus" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -477,7 +477,7 @@ dependencies = [ [[package]] name = "device" version = "0.0.1" -source = "git+https://github.com/servo/devices#3c39846a019eeed939eb7090096631254e6b5efc" +source = "git+https://github.com/servo/devices#09ab8682bddfa73ba36025a150625504212d34da" dependencies = [ "blurz 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -488,7 +488,7 @@ version = "0.0.1" dependencies = [ "devtools_traits 0.0.1", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", @@ -508,7 +508,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -522,7 +522,7 @@ name = "dlib" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libloading 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libloading 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -535,19 +535,11 @@ name = "dwmapi-sys" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "dylib" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] name = "encoding" version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -616,7 +608,7 @@ source = "git+https://github.com/energymon/energymon-rust.git#7b30c4d88ac1fcfaf7 dependencies = [ "energy-monitor 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "energymon-default-sys 0.2.0 (git+https://github.com/energymon/energymon-sys.git)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -634,7 +626,7 @@ source = "git+https://github.com/energymon/energymon-sys.git#a0fb99b0312372958b1 dependencies = [ "energymon-builder 0.2.0 (git+https://github.com/energymon/energymon-sys.git)", "energymon-sys 0.2.0 (git+https://github.com/energymon/energymon-sys.git)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -642,7 +634,7 @@ name = "energymon-sys" version = "0.2.0" source = "git+https://github.com/energymon/energymon-sys.git#a0fb99b0312372958b110ae6378b5c89c2287172" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -650,7 +642,7 @@ name = "enum_primitive" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -659,7 +651,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -669,7 +661,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -688,7 +680,7 @@ name = "flate2" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "miniz-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -698,21 +690,31 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] +name = "fontsan" +version = "0.3.2" +source = "git+https://github.com/servo/fontsan#08bfa604bf0cc882d9b4385c57db65e200975b72" +dependencies = [ + "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "freetype" version = "0.1.0" source = "git+https://github.com/servo/rust-freetype#d564ff90a3c69d987f5c015d7ec034cfaee21aff" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "fs2" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -729,14 +731,14 @@ name = "gaol" version = "0.0.1" source = "git+https://github.com/servo/gaol#545c703ebfe7a3a0d7129eb40981527f5d680860" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gcc" -version = "0.3.28" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -744,7 +746,7 @@ name = "gdi32-sys" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -766,6 +768,7 @@ dependencies = [ "core-text 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fontsan 0.3.2 (git+https://github.com/servo/fontsan)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gfx_traits 0.0.1", "harfbuzz-sys 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -774,7 +777,7 @@ dependencies = [ "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.5.1 (git+https://github.com/servo/rust-layers)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "mime 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", @@ -788,7 +791,7 @@ dependencies = [ "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "simd 0.1.0 (git+https://github.com/huonw/simd)", + "simd 0.1.1 (git+https://github.com/huonw/simd)", "smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", "style 0.0.1", @@ -875,13 +878,13 @@ dependencies = [ "net_traits 0.0.1", "script_traits 0.0.1", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "servo-glutin 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-glutin 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "style_traits 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -891,7 +894,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gl_generator 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -900,7 +903,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -909,7 +912,7 @@ name = "heapsize" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -922,17 +925,17 @@ name = "heartbeats-simple" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "heartbeats-simple-sys 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "heartbeats-simple-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "heartbeats-simple-sys" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -990,7 +993,7 @@ dependencies = [ [[package]] name = "hyper_serde" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1011,17 +1014,17 @@ dependencies = [ [[package]] name = "image" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "enum_primitive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "gif 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "jpeg-decoder 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "jpeg-decoder 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-rational 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "png 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1033,7 +1036,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1046,11 +1049,11 @@ name = "io-surface" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "leaky-cow 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1060,7 +1063,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bincode 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1073,7 +1076,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "jpeg-decoder" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1088,18 +1091,18 @@ dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "mozjs_sys 0.0.0 (git+https://github.com/servo/mozjs)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "kernel32-sys" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1118,7 +1121,7 @@ name = "layers" version = "0.5.1" source = "git+https://github.com/servo/rust-layers#9b90d76cf0bc108ef6b29dab42d2ea36dbd718f8" dependencies = [ - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1126,12 +1129,12 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "io-surface 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-skia 0.20130412.23 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1150,7 +1153,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", @@ -1252,17 +1255,18 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libloading" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "target_build_utils 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1278,8 +1282,8 @@ name = "libz-sys" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1303,7 +1307,7 @@ name = "malloc_buf" version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1316,7 +1320,7 @@ name = "memchr" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1324,10 +1328,10 @@ name = "memmap" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "fs2 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "fs2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1355,16 +1359,16 @@ name = "miniz-sys" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "mozjs_sys" version = "0.0.0" -source = "git+https://github.com/servo/mozjs#0f2ea3416044656e09f107b8f9e0d169264a7c77" +source = "git+https://github.com/servo/mozjs#7cd66925e766ef7bc69888f167e6392fac46c54f" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "libz-sys 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1377,7 +1381,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1398,7 +1402,7 @@ dependencies = [ "devtools_traits 0.0.1", "flate2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "immeta 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1414,7 +1418,7 @@ dependencies = [ "profile_traits 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "threadpool 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "threadpool 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "tinyfiledialogs 0.1.0 (git+https://github.com/jdm/tinyfiledialogs)", "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1427,13 +1431,13 @@ dependencies = [ [[package]] name = "net2" -version = "0.2.23" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1446,7 +1450,7 @@ dependencies = [ "devtools_traits 0.0.1", "flate2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", @@ -1467,13 +1471,13 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1494,26 +1498,26 @@ name = "nodrop" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "odds 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "odds 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num" -version = "0.1.32" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-bigint" -version = "0.1.32" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1523,7 +1527,7 @@ name = "num-integer" version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1532,23 +1536,23 @@ version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-rational" -version = "0.1.32" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.1.32" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1556,7 +1560,7 @@ name = "num_cpus" version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1569,7 +1573,7 @@ dependencies = [ [[package]] name = "odds" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1577,7 +1581,7 @@ name = "offscreen_gl_context" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1585,7 +1589,7 @@ dependencies = [ "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1599,20 +1603,20 @@ version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.7.17 (registry+https://github.com/rust-lang/crates.io-index)", "openssl-sys-extras 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "openssl-sys" -version = "0.7.14" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "libressl-pnacl-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1623,9 +1627,9 @@ name = "openssl-sys-extras" version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.7.17 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1641,13 +1645,13 @@ name = "ordered-float" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "osmesa-sys" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "shared_library 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1719,7 +1723,7 @@ name = "pnacl-build-helper" version = "1.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "tempdir 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1739,11 +1743,11 @@ version = "0.0.1" dependencies = [ "heartbeats-simple 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1797,10 +1801,10 @@ dependencies = [ [[package]] name = "quickersort" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1809,7 +1813,7 @@ name = "rand" version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1818,7 +1822,7 @@ version = "0.0.1" dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1846,24 +1850,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "regex" -version = "0.1.71" +version = "0.1.73" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aho-corasick 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", "utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex-syntax" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc-demangle" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1905,17 +1909,17 @@ dependencies = [ "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "html5ever 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "js 0.1.3 (git+https://github.com/servo/rust-mozjs)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "mime 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "mime_guess 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "open 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1926,7 +1930,7 @@ dependencies = [ "range 0.0.1", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_layout_interface 0.0.1", "script_traits 0.0.1", @@ -1958,7 +1962,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", @@ -1995,10 +1999,10 @@ dependencies = [ "gfx_traits 0.0.1", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.5.1 (git+https://github.com/servo/rust-layers)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2024,7 +2028,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "quickersort 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2062,7 +2066,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "dtoa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "itoa 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2079,7 +2083,7 @@ name = "servo-egl" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2087,7 +2091,7 @@ name = "servo-fontconfig" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig-sys 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2112,31 +2116,31 @@ dependencies = [ [[package]] name = "servo-glutin" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "android_glue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "cocoa 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "dwmapi-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "objc 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "osmesa-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "osmesa-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "shared_library 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "shell32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-client 0.5.12 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-kbd 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-window 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "x11-dl 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "x11-dl 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2144,19 +2148,19 @@ name = "servo-skia" version = "0.20130412.23" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "expat-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "io-surface 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig-sys 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 4.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "servo-glutin 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-glutin 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2165,7 +2169,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2173,7 +2177,7 @@ name = "shell32-sys" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2184,8 +2188,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "simd" -version = "0.1.0" -source = "git+https://github.com/huonw/simd#03de1cd0a278ab902b4beb402d57505f3797ea56" +version = "0.1.1" +source = "git+https://github.com/huonw/simd#0d85d25d5cc3788062b252e31ad48dd19e805e90" [[package]] name = "smallvec" @@ -2227,15 +2231,16 @@ dependencies = [ "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "ordered-float 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "quickersort 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2280,15 +2285,23 @@ dependencies = [ ] [[package]] +name = "target_build_utils" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde_json 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "task_info" version = "0.0.1" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tempdir" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2296,14 +2309,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "2.1.3" +version = "2.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2322,13 +2335,13 @@ name = "thread-id" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "thread_local" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2336,7 +2349,7 @@ dependencies = [ [[package]] name = "threadpool" -version = "1.3.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2344,19 +2357,19 @@ name = "time" version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tinyfiledialogs" version = "0.1.0" -source = "git+https://github.com/jdm/tinyfiledialogs#54f6aa4f579edbc726b8a764fd759a6d6ed0dd84" +source = "git+https://github.com/jdm/tinyfiledialogs#41d4268b6852ca5e53a484f0f915a9b63bca1707" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2424,7 +2437,7 @@ name = "user32-sys" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2488,8 +2501,8 @@ name = "walkdir" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2498,9 +2511,9 @@ version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "dlib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-scanner 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-sys 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2540,7 +2553,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tempfile 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tempfile 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-client 0.5.12 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2551,7 +2564,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2562,12 +2575,12 @@ dependencies = [ "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "plugins 0.0.1", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2594,7 +2607,7 @@ dependencies = [ "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2626,7 +2639,7 @@ dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2636,7 +2649,7 @@ dependencies = [ [[package]] name = "winapi" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2649,26 +2662,27 @@ name = "ws2_32-sys" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "x11" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "x11-dl" -version = "2.4.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dylib 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] diff --git a/components/style/Cargo.toml b/components/style/Cargo.toml index 4f0d53cce20..daceb3178d1 100644 --- a/components/style/Cargo.toml +++ b/components/style/Cargo.toml @@ -34,6 +34,7 @@ heapsize_plugin = {version = "0.1.2", optional = true} lazy_static = "0.2" log = "0.3.5" matches = "0.1" +num-integer = "0.1.32" num-traits = "0.1.32" ordered-float = "0.2.2" quickersort = "2.0.0" diff --git a/components/style/lib.rs b/components/style/lib.rs index 3386f812186..fe1957d7c4e 100644 --- a/components/style/lib.rs +++ b/components/style/lib.rs @@ -56,6 +56,7 @@ extern crate log; #[allow(unused_extern_crates)] #[macro_use] extern crate matches; +extern crate num_integer; extern crate num_traits; extern crate ordered_float; extern crate quickersort; @@ -101,6 +102,7 @@ pub mod sequential; pub mod sink; pub mod str; pub mod stylesheets; +pub mod thread_state; mod tid; pub mod timer; pub mod traversal; diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index 0c717ee678c..0676df08c57 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -937,6 +937,32 @@ fn static_assert() { </%self:impl_trait> +<%def name="simple_background_array_property(name, field_name)"> + pub fn copy_background_${name}_from(&mut self, other: &Self) { + unsafe { + Gecko_EnsureImageLayersLength(&mut self.gecko.mImage, other.gecko.mImage.mLayers.len()); + } + for (layer, other) in self.gecko.mImage.mLayers.iter_mut() + .zip(other.gecko.mImage.mLayers.iter()) + .take(other.gecko.mImage.${field_name}Count as usize) { + layer.${field_name} = other.${field_name}; + } + self.gecko.mImage.${field_name}Count = other.gecko.mImage.${field_name}Count; + } + + pub fn set_background_${name}(&mut self, v: longhands::background_${name}::computed_value::T) { + unsafe { + Gecko_EnsureImageLayersLength(&mut self.gecko.mImage, v.0.len()); + } + + self.gecko.mImage.${field_name}Count = v.0.len() as u32; + for (servo, geckolayer) in v.0.into_iter().zip(self.gecko.mImage.mLayers.iter_mut()) { + geckolayer.${field_name} = { + ${caller.body()} + }; + } + } +</%def> // TODO: Gecko accepts lists in most background-related properties. We just use // the first element (which is the common case), but at some point we want to // add support for parsing these lists in servo and pushing to nsTArray's. @@ -950,109 +976,105 @@ fn static_assert() { <% impl_color("background_color", "mBackgroundColor", need_clone=True) %> - pub fn copy_background_repeat_from(&mut self, other: &Self) { - self.gecko.mImage.mRepeatCount = cmp::min(1, other.gecko.mImage.mRepeatCount); - self.gecko.mImage.mLayers.mFirstElement.mRepeat = - other.gecko.mImage.mLayers.mFirstElement.mRepeat; - } - - pub fn set_background_repeat(&mut self, v: longhands::background_repeat::computed_value::T) { - use properties::longhands::background_repeat::computed_value::T; - use gecko_bindings::structs::{NS_STYLE_IMAGELAYER_REPEAT_REPEAT, NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT}; + <%self:simple_background_array_property name="repeat" field_name="mRepeat"> + use properties::longhands::background_repeat::single_value::computed_value::T; use gecko_bindings::structs::nsStyleImageLayers_Repeat; - let (repeat_x, repeat_y) = match v { - T::repeat_x => (NS_STYLE_IMAGELAYER_REPEAT_REPEAT, - NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT), - T::repeat_y => (NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT, - NS_STYLE_IMAGELAYER_REPEAT_REPEAT), - T::repeat => (NS_STYLE_IMAGELAYER_REPEAT_REPEAT, - NS_STYLE_IMAGELAYER_REPEAT_REPEAT), - T::no_repeat => (NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT, - NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT), - }; + use gecko_bindings::structs::NS_STYLE_IMAGELAYER_REPEAT_REPEAT; + use gecko_bindings::structs::NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT; - self.gecko.mImage.mRepeatCount = 1; - self.gecko.mImage.mLayers.mFirstElement.mRepeat = nsStyleImageLayers_Repeat { - mXRepeat: repeat_x as u8, - mYRepeat: repeat_y as u8, + let (repeat_x, repeat_y) = match servo { + T::repeat_x => (NS_STYLE_IMAGELAYER_REPEAT_REPEAT, + NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT), + T::repeat_y => (NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT, + NS_STYLE_IMAGELAYER_REPEAT_REPEAT), + T::repeat => (NS_STYLE_IMAGELAYER_REPEAT_REPEAT, + NS_STYLE_IMAGELAYER_REPEAT_REPEAT), + T::no_repeat => (NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT, + NS_STYLE_IMAGELAYER_REPEAT_NO_REPEAT), }; - } - - pub fn copy_background_clip_from(&mut self, other: &Self) { - self.gecko.mImage.mClipCount = cmp::min(1, other.gecko.mImage.mClipCount); - self.gecko.mImage.mLayers.mFirstElement.mClip = - other.gecko.mImage.mLayers.mFirstElement.mClip; - } + nsStyleImageLayers_Repeat { + mXRepeat: repeat_x as u8, + mYRepeat: repeat_y as u8, + } + </%self:simple_background_array_property> - pub fn set_background_clip(&mut self, v: longhands::background_clip::computed_value::T) { - use properties::longhands::background_clip::computed_value::T; - self.gecko.mImage.mClipCount = 1; + <%self:simple_background_array_property name="clip" field_name="mClip"> + use properties::longhands::background_clip::single_value::computed_value::T; - // TODO: Gecko supports background-clip: text, but just on -webkit- - // prefixed properties. - self.gecko.mImage.mLayers.mFirstElement.mClip = match v { + match servo { T::border_box => structs::NS_STYLE_IMAGELAYER_CLIP_BORDER as u8, T::padding_box => structs::NS_STYLE_IMAGELAYER_CLIP_PADDING as u8, T::content_box => structs::NS_STYLE_IMAGELAYER_CLIP_CONTENT as u8, - }; - } - - pub fn copy_background_origin_from(&mut self, other: &Self) { - self.gecko.mImage.mOriginCount = cmp::min(1, other.gecko.mImage.mOriginCount); - self.gecko.mImage.mLayers.mFirstElement.mOrigin = - other.gecko.mImage.mLayers.mFirstElement.mOrigin; - } + } + </%self:simple_background_array_property> - pub fn set_background_origin(&mut self, v: longhands::background_origin::computed_value::T) { - use properties::longhands::background_origin::computed_value::T; + <%self:simple_background_array_property name="origin" field_name="mOrigin"> + use properties::longhands::background_origin::single_value::computed_value::T; - self.gecko.mImage.mOriginCount = 1; - self.gecko.mImage.mLayers.mFirstElement.mOrigin = match v { + match servo { T::border_box => structs::NS_STYLE_IMAGELAYER_ORIGIN_BORDER as u8, T::padding_box => structs::NS_STYLE_IMAGELAYER_ORIGIN_PADDING as u8, T::content_box => structs::NS_STYLE_IMAGELAYER_ORIGIN_CONTENT as u8, - }; - } - - pub fn copy_background_attachment_from(&mut self, other: &Self) { - self.gecko.mImage.mAttachmentCount = cmp::min(1, other.gecko.mImage.mAttachmentCount); - self.gecko.mImage.mLayers.mFirstElement.mAttachment = - other.gecko.mImage.mLayers.mFirstElement.mAttachment; - } + } + </%self:simple_background_array_property> - pub fn set_background_attachment(&mut self, v: longhands::background_attachment::computed_value::T) { - use properties::longhands::background_attachment::computed_value::T; + <%self:simple_background_array_property name="attachment" field_name="mAttachment"> + use properties::longhands::background_attachment::single_value::computed_value::T; - self.gecko.mImage.mAttachmentCount = 1; - self.gecko.mImage.mLayers.mFirstElement.mAttachment = match v { + match servo { T::scroll => structs::NS_STYLE_IMAGELAYER_ATTACHMENT_SCROLL as u8, T::fixed => structs::NS_STYLE_IMAGELAYER_ATTACHMENT_FIXED as u8, T::local => structs::NS_STYLE_IMAGELAYER_ATTACHMENT_LOCAL as u8, - }; - } + } + </%self:simple_background_array_property> pub fn copy_background_position_from(&mut self, other: &Self) { self.gecko.mImage.mPositionXCount = cmp::min(1, other.gecko.mImage.mPositionXCount); self.gecko.mImage.mPositionYCount = cmp::min(1, other.gecko.mImage.mPositionYCount); self.gecko.mImage.mLayers.mFirstElement.mPosition = other.gecko.mImage.mLayers.mFirstElement.mPosition; + unsafe { + Gecko_EnsureImageLayersLength(&mut self.gecko.mImage, other.gecko.mImage.mLayers.len()); + } + for (layer, other) in self.gecko.mImage.mLayers.iter_mut() + .zip(other.gecko.mImage.mLayers.iter()) + .take(other.gecko.mImage.mPositionXCount as usize) { + layer.mPosition.mXPosition = other.mPosition.mXPosition; + } + for (layer, other) in self.gecko.mImage.mLayers.iter_mut() + .zip(other.gecko.mImage.mLayers.iter()) + .take(other.gecko.mImage.mPositionYCount as usize) { + layer.mPosition.mYPosition = other.mPosition.mYPosition; + } + self.gecko.mImage.mPositionXCount = other.gecko.mImage.mPositionXCount; + self.gecko.mImage.mPositionYCount = other.gecko.mImage.mPositionYCount; } pub fn clone_background_position(&self) -> longhands::background_position::computed_value::T { use values::computed::position::Position; - let position = &self.gecko.mImage.mLayers.mFirstElement.mPosition; - longhands::background_position::computed_value::T(Position { - horizontal: position.mXPosition.into(), - vertical: position.mYPosition.into(), - }) + longhands::background_position::computed_value::T( + self.gecko.mImage.mLayers.iter() + .take(self.gecko.mImage.mPositionXCount as usize) + .take(self.gecko.mImage.mPositionYCount as usize) + .map(|position| Position { + horizontal: position.mPosition.mXPosition.into(), + vertical: position.mPosition.mYPosition.into(), + }) + .collect() + ) } pub fn set_background_position(&mut self, v: longhands::background_position::computed_value::T) { - let position = &mut self.gecko.mImage.mLayers.mFirstElement.mPosition; - position.mXPosition = v.0.horizontal.into(); - position.mYPosition = v.0.vertical.into(); - self.gecko.mImage.mPositionXCount = 1; - self.gecko.mImage.mPositionYCount = 1; + unsafe { + Gecko_EnsureImageLayersLength(&mut self.gecko.mImage, v.0.len()); + } + + self.gecko.mImage.mPositionXCount = v.0.len() as u32; + self.gecko.mImage.mPositionYCount = v.0.len() as u32; + for (servo, geckolayer) in v.0.into_iter().zip(self.gecko.mImage.mLayers.iter_mut()) { + geckolayer.mPosition.mXPosition = servo.horizontal.into(); + geckolayer.mPosition.mYPosition = servo.vertical.into(); + } } pub fn copy_background_image_from(&mut self, other: &Self) { @@ -1156,6 +1178,24 @@ fn static_assert() { } } + + pub fn fill_arrays(&mut self) { + use gecko_bindings::bindings::Gecko_FillAllBackgroundLists; + use std::cmp; + let mut max_len = 1; + % for member in "mRepeat mClip mOrigin mAttachment mPositionX mPositionY mImage".split(): + max_len = cmp::max(max_len, self.gecko.mImage.${member}Count); + % endfor + + // XXXManishearth Gecko does an optimization here where it only + // fills things in if any of the properties have been set + + unsafe { + // While we could do this manually, we'd need to also manually + // run all the copy constructors, so we just delegate to gecko + Gecko_FillAllBackgroundLists(&mut self.gecko.mImage, max_len); + } + } </%self:impl_trait> <%self:impl_trait style_struct_name="List" skip_longhands="list-style-type" skip_additionals="*"> diff --git a/components/style/properties/helpers.mako.rs b/components/style/properties/helpers.mako.rs index acb4504eea9..43b3d7bda17 100644 --- a/components/style/properties/helpers.mako.rs +++ b/components/style/properties/helpers.mako.rs @@ -69,10 +69,10 @@ ${caller.body()} } pub mod computed_value { - use super::single_value; + pub use super::single_value::computed_value as single_value; #[derive(Debug, Clone, PartialEq)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] - pub struct T(pub Vec<single_value::computed_value::T>); + pub struct T(pub Vec<single_value::T>); } impl ToCss for computed_value::T { @@ -285,8 +285,8 @@ } </%def> -<%def name="single_keyword(name, values, **kwargs)"> - <%call expr="single_keyword_computed(name, values, **kwargs)"> +<%def name="single_keyword(name, values, vector=False, **kwargs)"> + <%call expr="single_keyword_computed(name, values, vector, **kwargs)"> use values::computed::ComputedValueAsSpecified; use values::NoViewportPercentage; impl ComputedValueAsSpecified for SpecifiedValue {} @@ -294,16 +294,16 @@ </%call> </%def> -<%def name="single_keyword_computed(name, values, **kwargs)"> +<%def name="single_keyword_computed(name, values, vector=False, **kwargs)"> <% keyword_kwargs = {a: kwargs.pop(a, None) for a in [ 'gecko_constant_prefix', 'gecko_enum_prefix', 'extra_gecko_values', 'extra_servo_values', ]} %> - <%call expr="longhand(name, keyword=Keyword(name, values, **keyword_kwargs), **kwargs)"> + + <%def name="inner_body()"> pub use self::computed_value::T as SpecifiedValue; - ${caller.body()} pub mod computed_value { define_css_keyword_enum! { T: % for value in data.longhands_by_name[name].keyword.values_for(product): @@ -316,11 +316,26 @@ computed_value::T::${to_rust_ident(values.split()[0])} } #[inline] + pub fn get_initial_specified_value() -> SpecifiedValue { + get_initial_value() + } + #[inline] pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { computed_value::T::parse(input) } - </%call> + </%def> + % if vector: + <%call expr="vector_longhand(name, keyword=Keyword(name, values, **keyword_kwargs), **kwargs)"> + ${inner_body()} + ${caller.body()} + </%call> + % else: + <%call expr="longhand(name, keyword=Keyword(name, values, **keyword_kwargs), **kwargs)"> + ${inner_body()} + ${caller.body()} + </%call> + % endif </%def> <%def name="keyword_list(name, values, **kwargs)"> @@ -464,6 +479,36 @@ } } + impl<'a> ToCss for LonghandsToSerialize<'a> { + fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + let mut all_inherit = true; + let mut all_initial = true; + let mut with_variables = false; + % for sub_property in shorthand.sub_properties: + match *self.${sub_property.ident} { + DeclaredValue::Initial => all_inherit = false, + DeclaredValue::Inherit => all_initial = false, + DeclaredValue::WithVariables {..} => with_variables = true, + DeclaredValue::Value(..) => { + all_initial = false; + all_inherit = false; + } + } + % endfor + + if with_variables { + // We don't serialize shorthands with variables + dest.write_str("") + } else if all_inherit { + dest.write_str("inherit") + } else if all_initial { + dest.write_str("initial") + } else { + self.to_css_declared(dest) + } + } + } + pub fn parse(context: &ParserContext, input: &mut Parser, declarations: &mut Vec<PropertyDeclaration>) @@ -526,8 +571,8 @@ }) } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { super::serialize_four_sides( dest, self.${to_rust_ident(sub_property_pattern % 'top')}, diff --git a/components/style/properties/helpers/animated_properties.mako.rs b/components/style/properties/helpers/animated_properties.mako.rs index 3ba52cecef9..e3d0a1a3db5 100644 --- a/components/style/properties/helpers/animated_properties.mako.rs +++ b/components/style/properties/helpers/animated_properties.mako.rs @@ -155,6 +155,18 @@ pub trait Interpolate: Sized { fn interpolate(&self, other: &Self, time: f64) -> Result<Self, ()>; } +/// https://drafts.csswg.org/css-transitions/#animtype-repeatable-list +pub trait RepeatableListInterpolate: Interpolate {} + +impl<T: RepeatableListInterpolate> Interpolate for Vec<T> { + fn interpolate(&self, other: &Self, time: f64) -> Result<Self, ()> { + use num_integer::lcm; + let len = lcm(self.len(), other.len()); + self.iter().cycle().zip(other.iter().cycle()).take(len).map(|(me, you)| { + me.interpolate(you, time) + }).collect() + } +} /// https://drafts.csswg.org/css-transitions/#animtype-number impl Interpolate for Au { #[inline] @@ -296,6 +308,14 @@ impl Interpolate for BorderSpacing { } } +impl Interpolate for BackgroundSize { + #[inline] + fn interpolate(&self, other: &Self, time: f64) -> Result<Self, ()> { + self.0.interpolate(&other.0, time).map(BackgroundSize) + } +} + + /// https://drafts.csswg.org/css-transitions/#animtype-color impl Interpolate for RGBA { #[inline] @@ -496,6 +516,8 @@ impl Interpolate for Position { } } +impl RepeatableListInterpolate for Position {} + impl Interpolate for BackgroundPosition { #[inline] fn interpolate(&self, other: &Self, time: f64) -> Result<Self, ()> { @@ -503,21 +525,6 @@ impl Interpolate for BackgroundPosition { } } -impl Interpolate for BackgroundSize { - fn interpolate(&self, other: &Self, time: f64) -> Result<Self, ()> { - use properties::longhands::background_size::computed_value::ExplicitSize; - match (self, other) { - (&BackgroundSize::Explicit(ref me), &BackgroundSize::Explicit(ref other)) => { - Ok(BackgroundSize::Explicit(ExplicitSize { - width: try!(me.width.interpolate(&other.width, time)), - height: try!(me.height.interpolate(&other.height, time)), - })) - } - _ => Err(()), - } - } -} - /// https://drafts.csswg.org/css-transitions/#animtype-shadow-list impl Interpolate for TextShadow { #[inline] diff --git a/components/style/properties/longhand/background.mako.rs b/components/style/properties/longhand/background.mako.rs index 1a0f2aaeffe..9ad9daf4262 100644 --- a/components/style/properties/longhand/background.mako.rs +++ b/components/style/properties/longhand/background.mako.rs @@ -10,7 +10,7 @@ ${helpers.predefined_type("background-color", "CSSColor", "::cssparser::Color::RGBA(::cssparser::RGBA { red: 0., green: 0., blue: 0., alpha: 0. }) /* transparent */", animatable=True)} -<%helpers:vector_longhand gecko_only="True" name="background-image" animatable="False"> +<%helpers:vector_longhand name="background-image" animatable="False"> use cssparser::ToCss; use std::fmt; use values::specified::Image; @@ -54,6 +54,10 @@ ${helpers.predefined_type("background-color", "CSSColor", pub fn get_initial_value() -> computed_value::T { computed_value::T(None) } + #[inline] + pub fn get_initial_specified_value() -> SpecifiedValue { + SpecifiedValue(None) + } pub fn parse(context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { if input.try(|input| input.expect_ident_matching("none")).is_ok() { Ok(SpecifiedValue(None)) @@ -75,7 +79,7 @@ ${helpers.predefined_type("background-color", "CSSColor", } </%helpers:vector_longhand> -<%helpers:longhand name="background-position" animatable="True"> +<%helpers:vector_longhand name="background-position" animatable="True"> use cssparser::ToCss; use std::fmt; use values::LocalToCss; @@ -84,75 +88,57 @@ ${helpers.predefined_type("background-color", "CSSColor", pub mod computed_value { use values::computed::position::Position; + use properties::animated_properties::{Interpolate, RepeatableListInterpolate}; - #[derive(PartialEq, Copy, Clone, Debug)] - #[cfg_attr(feature = "servo", derive(HeapSizeOf))] - pub struct T(pub Position); - } - - impl HasViewportPercentage for SpecifiedValue { - fn has_viewport_percentage(&self) -> bool { - self.0.has_viewport_percentage() - } + pub type T = Position; } - #[derive(Debug, Clone, PartialEq, Copy)] - #[cfg_attr(feature = "servo", derive(HeapSizeOf))] - pub struct SpecifiedValue(pub Position); - - impl ToCss for SpecifiedValue { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { - self.0.to_css(dest) - } - } - - impl ToCss for computed_value::T { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { - self.0.to_css(dest) - } - } - - impl ToComputedValue for SpecifiedValue { - type ComputedValue = computed_value::T; - - #[inline] - fn to_computed_value(&self, context: &Context) -> computed_value::T { - computed_value::T(self.0.to_computed_value(context)) - } - } + pub type SpecifiedValue = Position; #[inline] pub fn get_initial_value() -> computed_value::T { use values::computed::position::Position; - computed_value::T(Position { + Position { horizontal: computed::LengthOrPercentage::Percentage(0.0), vertical: computed::LengthOrPercentage::Percentage(0.0), - }) + } + } + #[inline] + pub fn get_initial_specified_value() -> SpecifiedValue { + use values::specified::Percentage; + Position { + horizontal: specified::LengthOrPercentage::Percentage(Percentage(0.0)), + vertical: specified::LengthOrPercentage::Percentage(Percentage(0.0)), + } } pub fn parse(_context: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue, ()> { - Ok(SpecifiedValue(try!(Position::parse(input)))) + Ok(try!(Position::parse(input))) } -</%helpers:longhand> +</%helpers:vector_longhand> ${helpers.single_keyword("background-repeat", "repeat repeat-x repeat-y no-repeat", + vector=True, animatable=False)} ${helpers.single_keyword("background-attachment", "scroll fixed" + (" local" if product == "gecko" else ""), + vector=True, animatable=False)} ${helpers.single_keyword("background-clip", "border-box padding-box content-box", + vector=True, animatable=False)} ${helpers.single_keyword("background-origin", "padding-box border-box content-box", + vector=True, animatable=False)} -<%helpers:longhand name="background-size" animatable="True"> +<%helpers:vector_longhand name="background-size" animatable="True"> use cssparser::{ToCss, Token}; use std::ascii::AsciiExt; use std::fmt; @@ -160,6 +146,7 @@ ${helpers.single_keyword("background-origin", pub mod computed_value { use values::computed::LengthOrPercentageOrAuto; + use properties::animated_properties::{Interpolate, RepeatableListInterpolate}; #[derive(PartialEq, Clone, Debug)] #[cfg_attr(feature = "servo", derive(HeapSizeOf))] @@ -175,6 +162,23 @@ ${helpers.single_keyword("background-origin", Cover, Contain, } + + impl RepeatableListInterpolate for T {} + + impl Interpolate for T { + fn interpolate(&self, other: &Self, time: f64) -> Result<Self, ()> { + use properties::longhands::background_size::single_value::computed_value::ExplicitSize; + match (self, other) { + (&T::Explicit(ref me), &T::Explicit(ref other)) => { + Ok(T::Explicit(ExplicitSize { + width: try!(me.width.interpolate(&other.width, time)), + height: try!(me.height.interpolate(&other.height, time)), + })) + } + _ => Err(()), + } + } + } } impl ToCss for computed_value::T { @@ -268,6 +272,13 @@ ${helpers.single_keyword("background-origin", height: computed::LengthOrPercentageOrAuto::Auto, }) } + #[inline] + pub fn get_initial_specified_value() -> SpecifiedValue { + SpecifiedValue::Explicit(SpecifiedExplicitSize { + width: specified::LengthOrPercentageOrAuto::Auto, + height: specified::LengthOrPercentageOrAuto::Auto, + }) + } pub fn parse(_: &ParserContext, input: &mut Parser) -> Result<SpecifiedValue,()> { let width; @@ -305,4 +316,4 @@ ${helpers.single_keyword("background-origin", height: height, })) } -</%helpers:longhand> +</%helpers:vector_longhand> diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs index b0c92710a06..1c3c87501e3 100644 --- a/components/style/properties/properties.mako.rs +++ b/components/style/properties/properties.mako.rs @@ -288,9 +288,6 @@ pub struct PropertyDeclarationBlock { #[cfg_attr(feature = "servo", ignore_heap_size_of = "#7038")] pub declarations: Arc<Vec<(PropertyDeclaration, Importance)>>, - /// The number of entries in `self.declaration` with `Importance::Normal` - pub normal_count: u32, - /// The number of entries in `self.declaration` with `Importance::Important` pub important_count: u32, } @@ -548,7 +545,6 @@ impl<'a, 'b> DeclarationParser for PropertyDeclarationParser<'a, 'b> { pub fn parse_property_declaration_list(context: &ParserContext, input: &mut Parser) -> PropertyDeclarationBlock { let mut declarations = Vec::new(); - let mut normal_count = 0; let mut important_count = 0; let parser = PropertyDeclarationParser { context: context, @@ -559,8 +555,6 @@ pub fn parse_property_declaration_list(context: &ParserContext, input: &mut Pars Ok((results, importance)) => { if importance.important() { important_count += results.len() as u32; - } else { - normal_count += results.len() as u32; } declarations.extend(results.into_iter().map(|d| (d, importance))) } @@ -574,7 +568,6 @@ pub fn parse_property_declaration_list(context: &ParserContext, input: &mut Pars } let mut block = PropertyDeclarationBlock { declarations: Arc::new(declarations), - normal_count: normal_count, important_count: important_count, }; deduplicate_property_declarations(&mut block); @@ -605,13 +598,11 @@ fn deduplicate_property_declarations(block: &mut PropertyDeclarationBlock) { remove_one(&mut deduplicated, |d| { matches!(d, &(PropertyDeclaration::${property.camel_case}(..), _)) }); - block.normal_count -= 1; } seen_important.set_${property.ident}() } else { if seen_normal.get_${property.ident}() || seen_important.get_${property.ident}() { - block.normal_count -= 1; continue } seen_normal.set_${property.ident}() @@ -631,13 +622,11 @@ fn deduplicate_property_declarations(block: &mut PropertyDeclarationBlock) { remove_one(&mut deduplicated, |d| { matches!(d, &(PropertyDeclaration::Custom(ref n, _), _) if n == name) }); - block.normal_count -= 1; } seen_custom_important.push(name.clone()) } else { if seen_custom_normal.contains(name) || seen_custom_important.contains(name) { - block.normal_count -= 1; continue } seen_custom_normal.push(name.clone()) @@ -2045,6 +2034,10 @@ pub fn cascade(viewport_size: Size2D<Au>, } % endfor + % if product == "gecko": + style.mutate_background().fill_arrays(); + % endif + // The initial value of outline width may be changed at computed value time. if style.get_outline().clone_outline_style().none_or_hidden() && style.get_outline().outline_has_nonzero_width() { diff --git a/components/style/properties/shorthand/background.mako.rs b/components/style/properties/shorthand/background.mako.rs index 853e5554937..f507af9ec56 100644 --- a/components/style/properties/shorthand/background.mako.rs +++ b/components/style/properties/shorthand/background.mako.rs @@ -12,172 +12,204 @@ use properties::longhands::{background_image, background_size, background_origin, background_clip}; pub fn parse_value(context: &ParserContext, input: &mut Parser) -> Result<Longhands, ()> { - let mut color = None; - let mut image = None; - let mut position = None; - let mut repeat = None; - let mut size = None; - let mut attachment = None; - let mut any = false; - let mut origin = None; - let mut clip = None; - - loop { - if position.is_none() { - if let Ok(value) = input.try(|input| background_position::parse(context, input)) { - position = Some(value); - any = true; - - // Parse background size, if applicable. - size = input.try(|input| { - try!(input.expect_delim('/')); - background_size::parse(context, input) - }).ok(); - - continue - } - } - if color.is_none() { + let mut background_color = None; + + % for name in "image position repeat size attachment origin clip".split(): + let mut background_${name} = background_${name}::SpecifiedValue(Vec::new()); + % endfor + try!(input.parse_comma_separated(|input| { + % for name in "image position repeat size attachment origin clip".split(): + let mut ${name} = None; + % endfor + loop { if let Ok(value) = input.try(|input| background_color::parse(context, input)) { - color = Some(value); - any = true; - continue - } - } - if image.is_none() { - if let Ok(value) = input.try(|input| background_image::parse(context, input)) { - image = Some(value); - any = true; - continue + if background_color.is_none() { + background_color = Some(value); + continue + } else { + // color can only be the last element + return Err(()) + } } - } - if repeat.is_none() { - if let Ok(value) = input.try(|input| background_repeat::parse(context, input)) { - repeat = Some(value); - any = true; - continue + if position.is_none() { + if let Ok(value) = input.try(|input| background_position::single_value + ::parse(context, input)) { + position = Some(value); + + // Parse background size, if applicable. + size = input.try(|input| { + try!(input.expect_delim('/')); + background_size::single_value::parse(context, input) + }).ok(); + + continue + } } + % for name in "image repeat attachment origin clip".split(): + if ${name}.is_none() { + if let Ok(value) = input.try(|input| background_${name}::single_value + ::parse(context, input)) { + ${name} = Some(value); + continue + } + } + % endfor + break } - if attachment.is_none() { - if let Ok(value) = input.try(|input| background_attachment::parse(context, input)) { - attachment = Some(value); - any = true; - continue - } + let mut any = false; + % for name in "image position repeat size attachment origin clip".split(): + any = any || ${name}.is_some(); + % endfor + any = any || background_color.is_some(); + if any { + % for name in "image position repeat size attachment origin clip".split(): + if let Some(bg_${name}) = ${name} { + background_${name}.0.push(bg_${name}); + } else { + background_${name}.0.push(background_${name}::single_value + ::get_initial_specified_value()); + } + % endfor + Ok(()) + } else { + Err(()) } - if origin.is_none() { - if let Ok(value) = input.try(|input| background_origin::parse(context, input)) { - origin = Some(value); - any = true; - continue + })); + + Ok(Longhands { + background_color: background_color, + background_image: Some(background_image), + background_position: Some(background_position), + background_repeat: Some(background_repeat), + background_attachment: Some(background_attachment), + background_size: Some(background_size), + background_origin: Some(background_origin), + background_clip: Some(background_clip), + }) + } + + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + // mako doesn't like ampersands following `<` + fn extract_value<T>(x: &DeclaredValue<T>) -> Option< &T> { + match *x { + DeclaredValue::Value(ref val) => Some(val), + _ => None, } } - if clip.is_none() { - if let Ok(value) = input.try(|input| background_clip::parse(context, input)) { - clip = Some(value); - any = true; - continue - } + use std::cmp; + let mut len = 0; + % for name in "image position repeat size attachment origin clip".split(): + len = cmp::max(len, extract_value(self.background_${name}).map(|i| i.0.len()) + .unwrap_or(0)); + % endfor + + // There should be at least one declared value + if len == 0 { + return dest.write_str("") } - break - } - - if any { - Ok(Longhands { - background_color: color, - background_image: image, - background_position: position, - background_repeat: repeat, - background_attachment: attachment, - background_size: size, - background_origin: origin, - background_clip: clip, - }) - } else { - Err(()) - } - } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { - match *self.background_color { - DeclaredValue::Value(ref color) => { - try!(color.to_css(dest)); - }, - _ => { - try!(write!(dest, "transparent")); + let mut first = true; + for i in 0..len { + % for name in "image position repeat size attachment origin clip".split(): + let ${name} = if let DeclaredValue::Value(ref arr) = *self.background_${name} { + arr.0.get(i % arr.0.len()) + } else { + None + }; + % endfor + let color = if i == len - 1 { + Some(self.background_color) + } else { + None + }; + + if first { + first = false; + } else { + try!(write!(dest, ", ")); } - }; + match color { + Some(&DeclaredValue::Value(ref color)) => { + try!(color.to_css(dest)); + try!(write!(dest, " ")); + }, + Some(_) => { + try!(write!(dest, "transparent ")); + } + // Not yet the last one + None => () + }; - try!(write!(dest, " ")); - match *self.background_image { - DeclaredValue::Value(ref image) => { + if let Some(image) = image { try!(image.to_css(dest)); - }, - _ => { + } else { try!(write!(dest, "none")); } - }; - try!(write!(dest, " ")); + try!(write!(dest, " ")); - try!(self.background_repeat.to_css(dest)); + if let Some(repeat) = repeat { + try!(repeat.to_css(dest)); + } else { + try!(write!(dest, "repeat")); + } - try!(write!(dest, " ")); + try!(write!(dest, " ")); - match *self.background_attachment { - DeclaredValue::Value(ref attachment) => { + if let Some(attachment) = attachment { try!(attachment.to_css(dest)); - }, - _ => { + } else { try!(write!(dest, "scroll")); } - }; - try!(write!(dest, " ")); + try!(write!(dest, " ")); - try!(self.background_position.to_css(dest)); + try!(position.unwrap_or(&background_position::single_value + ::get_initial_specified_value()) + .to_css(dest)); - if let DeclaredValue::Value(ref size) = *self.background_size { - try!(write!(dest, " / ")); - try!(size.to_css(dest)); - } + if let Some(size) = size { + try!(write!(dest, " / ")); + try!(size.to_css(dest)); + } - match (self.background_origin, self.background_clip) { - (&DeclaredValue::Value(ref origin), &DeclaredValue::Value(ref clip)) => { - use properties::longhands::background_origin::computed_value::T as Origin; - use properties::longhands::background_clip::computed_value::T as Clip; - - try!(write!(dest, " ")); - - match (origin, clip) { - (&Origin::padding_box, &Clip::padding_box) => { - try!(origin.to_css(dest)); - }, - (&Origin::border_box, &Clip::border_box) => { - try!(origin.to_css(dest)); - }, - (&Origin::content_box, &Clip::content_box) => { - try!(origin.to_css(dest)); - }, - _ => { - try!(origin.to_css(dest)); - try!(write!(dest, " ")); - try!(clip.to_css(dest)); + match (origin, clip) { + (Some(origin), Some(clip)) => { + use properties::longhands::background_origin::single_value::computed_value::T as Origin; + use properties::longhands::background_clip::single_value::computed_value::T as Clip; + + try!(write!(dest, " ")); + + match (origin, clip) { + (&Origin::padding_box, &Clip::padding_box) => { + try!(origin.to_css(dest)); + }, + (&Origin::border_box, &Clip::border_box) => { + try!(origin.to_css(dest)); + }, + (&Origin::content_box, &Clip::content_box) => { + try!(origin.to_css(dest)); + }, + _ => { + try!(origin.to_css(dest)); + try!(write!(dest, " ")); + try!(clip.to_css(dest)); + } } - } - }, - (&DeclaredValue::Value(ref origin), _) => { - try!(write!(dest, " ")); - try!(origin.to_css(dest)); - }, - (_, &DeclaredValue::Value(ref clip)) => { - try!(write!(dest, " ")); - try!(clip.to_css(dest)); - }, - _ => {} - }; + }, + (Some(origin), _) => { + try!(write!(dest, " ")); + try!(origin.to_css(dest)); + }, + (_, Some(clip)) => { + try!(write!(dest, " ")); + try!(clip.to_css(dest)); + }, + _ => {} + }; + } Ok(()) diff --git a/components/style/properties/shorthand/border.mako.rs b/components/style/properties/shorthand/border.mako.rs index f1d868b26cc..c29a6a2e7fb 100644 --- a/components/style/properties/shorthand/border.mako.rs +++ b/components/style/properties/shorthand/border.mako.rs @@ -25,8 +25,8 @@ ${helpers.four_sides_shorthand("border-style", "border-%s-style", }) } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { // extract tuple container values so that the different border widths // can be compared via partial eq % for side in ["top", "right", "bottom", "left"]: @@ -102,8 +102,8 @@ pub fn parse_border(context: &ParserContext, input: &mut Parser) }) } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { super::serialize_directional_border( dest, self.border_${side}_width, @@ -134,8 +134,8 @@ pub fn parse_border(context: &ParserContext, input: &mut Parser) }) } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { // If all longhands are all present, then all sides should be the same, // so we can just one set of color/style/width super::serialize_directional_border( @@ -170,8 +170,8 @@ pub fn parse_border(context: &ParserContext, input: &mut Parser) // TODO: I do not understand how border radius works with respect to the slashes /, // so putting a default generic impl for now // https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { try!(self.border_top_left_radius.to_css(dest)); try!(write!(dest, " ")); diff --git a/components/style/properties/shorthand/box.mako.rs b/components/style/properties/shorthand/box.mako.rs index 0825a8fc314..2465a91ae8a 100644 --- a/components/style/properties/shorthand/box.mako.rs +++ b/components/style/properties/shorthand/box.mako.rs @@ -19,8 +19,8 @@ // Overflow does not behave like a normal shorthand. When overflow-x and overflow-y are not of equal // values, they no longer use the shared property name "overflow". // Other shorthands do not include their name in the to_css method - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { let x_and_y_equal = match (self.overflow_x, self.overflow_y) { (&DeclaredValue::Value(ref x_value), &DeclaredValue::Value(ref y_container)) => { *x_value == y_container.0 @@ -132,8 +132,8 @@ macro_rules! try_parse_one { }) } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { try!(self.transition_property.to_css(dest)); try!(write!(dest, " ")); @@ -268,8 +268,8 @@ macro_rules! try_parse_one { }) } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { try!(self.animation_duration.to_css(dest)); try!(write!(dest, " ")); diff --git a/components/style/properties/shorthand/column.mako.rs b/components/style/properties/shorthand/column.mako.rs index 563ef210fdf..e8ccf00bf47 100644 --- a/components/style/properties/shorthand/column.mako.rs +++ b/components/style/properties/shorthand/column.mako.rs @@ -48,8 +48,8 @@ } } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { try!(self.column_width.to_css(dest)); try!(write!(dest, " ")); diff --git a/components/style/properties/shorthand/font.mako.rs b/components/style/properties/shorthand/font.mako.rs index aae11eb3cf6..555b098e575 100644 --- a/components/style/properties/shorthand/font.mako.rs +++ b/components/style/properties/shorthand/font.mako.rs @@ -68,8 +68,8 @@ } // This may be a bit off, unsure, possibly needs changes - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { if let DeclaredValue::Value(ref style) = *self.font_style { try!(style.to_css(dest)); try!(write!(dest, " ")); diff --git a/components/style/properties/shorthand/inherited_text.mako.rs b/components/style/properties/shorthand/inherited_text.mako.rs index e7c19127a15..64ef03b1138 100644 --- a/components/style/properties/shorthand/inherited_text.mako.rs +++ b/components/style/properties/shorthand/inherited_text.mako.rs @@ -15,8 +15,8 @@ }) } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { self.overflow_wrap.to_css(dest) } } diff --git a/components/style/properties/shorthand/list.mako.rs b/components/style/properties/shorthand/list.mako.rs index 6e1abf337fe..955d93f7c16 100644 --- a/components/style/properties/shorthand/list.mako.rs +++ b/components/style/properties/shorthand/list.mako.rs @@ -92,8 +92,8 @@ } } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { match *self.list_style_position { DeclaredValue::Initial => try!(write!(dest, "outside")), _ => try!(self.list_style_position.to_css(dest)) diff --git a/components/style/properties/shorthand/outline.mako.rs b/components/style/properties/shorthand/outline.mako.rs index c00294f45df..852fce2b292 100644 --- a/components/style/properties/shorthand/outline.mako.rs +++ b/components/style/properties/shorthand/outline.mako.rs @@ -49,8 +49,8 @@ } } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { try!(self.outline_width.to_css(dest)); try!(write!(dest, " ")); @@ -89,8 +89,8 @@ } // TODO: Border radius for the radius shorthand is not implemented correctly yet - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { try!(self._moz_outline_radius_topleft.to_css(dest)); try!(write!(dest, " ")); diff --git a/components/style/properties/shorthand/position.mako.rs b/components/style/properties/shorthand/position.mako.rs index 9fc33e00f42..5064c375215 100644 --- a/components/style/properties/shorthand/position.mako.rs +++ b/components/style/properties/shorthand/position.mako.rs @@ -38,8 +38,8 @@ } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { match *self.flex_direction { DeclaredValue::Initial => try!(write!(dest, "row")), _ => try!(self.flex_direction.to_css(dest)) @@ -107,8 +107,8 @@ }) } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { try!(self.flex_grow.to_css(dest)); try!(write!(dest, " ")); diff --git a/components/style/properties/shorthand/text.mako.rs b/components/style/properties/shorthand/text.mako.rs index 2bcfbfcd7b9..d09e00b6ba4 100644 --- a/components/style/properties/shorthand/text.mako.rs +++ b/components/style/properties/shorthand/text.mako.rs @@ -46,8 +46,8 @@ }) } - impl<'a> ToCss for LonghandsToSerialize<'a> { - fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { + impl<'a> LonghandsToSerialize<'a> { + fn to_css_declared<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write { match *self.text_decoration_line { DeclaredValue::Value(ref line) => { try!(line.to_css(dest)); diff --git a/components/style/selector_matching.rs b/components/style/selector_matching.rs index 781f2298c4a..a6457ccf574 100644 --- a/components/style/selector_matching.rs +++ b/components/style/selector_matching.rs @@ -162,8 +162,8 @@ impl Stylist { // Take apart the StyleRule into individual Rules and insert // them into the SelectorMap of that priority. macro_rules! append( - ($style_rule: ident, $priority: ident, $importance: expr, $count: ident) => { - if $style_rule.declarations.$count > 0 { + ($style_rule: ident, $priority: ident, $importance: expr, $count: expr) => { + if $count > 0 { for selector in &$style_rule.selectors { let map = if let Some(ref pseudo) = selector.pseudo_element { self.pseudos_map @@ -191,6 +191,8 @@ impl Stylist { for rule in stylesheet.effective_rules(&self.device) { match *rule { CSSRule::Style(ref style_rule) => { + let important_count = style_rule.declarations.important_count; + let normal_count = style_rule.declarations.declarations.len() as u32 - important_count; append!(style_rule, normal, Importance::Normal, normal_count); append!(style_rule, important, Importance::Important, important_count); rules_source_order += 1; @@ -394,7 +396,7 @@ impl Stylist { // Step 4: Normal style attributes. if let Some(ref sa) = style_attribute { - if sa.normal_count > 0 { + if sa.declarations.len() as u32 - sa.important_count > 0 { relations |= AFFECTED_BY_STYLE_ATTRIBUTE; Push::push( applicable_declarations, diff --git a/components/util/thread_state.rs b/components/style/thread_state.rs index 25e77ecbb45..25e77ecbb45 100644 --- a/components/util/thread_state.rs +++ b/components/style/thread_state.rs diff --git a/components/style/workqueue.rs b/components/style/workqueue.rs index 0d2da58e93d..8202b5c322e 100644 --- a/components/style/workqueue.rs +++ b/components/style/workqueue.rs @@ -18,8 +18,8 @@ use deque::{self, Abort, Data, Empty, Stealer, Worker}; use rand::{Rng, XorShiftRng, weak_rng}; use std::sync::atomic::{AtomicUsize, Ordering}; use std::sync::mpsc::{Receiver, Sender, channel}; +use thread_state; use util::thread::spawn_named; -use util::thread_state; /// A unit of work. /// diff --git a/components/util/lib.rs b/components/util/lib.rs index abb02adb440..e56a0ad61d7 100644 --- a/components/util/lib.rs +++ b/components/util/lib.rs @@ -35,7 +35,6 @@ pub mod prefs; #[cfg(feature = "servo")] pub mod remutex; pub mod resource_files; pub mod thread; -pub mod thread_state; pub fn servo_version() -> &'static str { concat!("Servo ", env!("CARGO_PKG_VERSION"), env!("GIT_INFO")) @@ -1,2 +1,19 @@ @echo off + +SET VS_VCVARS=%VS140COMNTOOLS%..\..\VC\vcvarsall.bat +IF EXIST "%VS_VCVARS%" ( + IF NOT DEFINED VisualStudioVersion ( + IF EXIST "%ProgramFiles(x86)%" ( + call "%VS_VCVARS%" x64 + ) ELSE ( + ECHO 32-bit Windows is currently unsupported. + EXIT /B + ) + ) +) ELSE ( + ECHO Visual Studio 2015 is not installed. + ECHO Download and install Visual Studio 2015 from https://www.visualstudio.com/ + EXIT /B +) + python mach %* diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock index 674a04efeef..6dbc3320f5f 100644 --- a/ports/cef/Cargo.lock +++ b/ports/cef/Cargo.lock @@ -9,7 +9,7 @@ dependencies = [ "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "glutin_app 0.0.1", "layers 0.5.1 (git+https://github.com/servo/rust-layers)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", @@ -20,7 +20,7 @@ dependencies = [ "style_traits 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -47,7 +47,7 @@ version = "0.1.1" source = "git+https://github.com/servo/angle?branch=servo#832ffd74ac892682dfcaea27dc518130a72e280c" dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -56,7 +56,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -67,7 +67,7 @@ version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "nodrop 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", - "odds 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "odds 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -88,13 +88,13 @@ dependencies = [ "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 4.0.2 (registry+https://github.com/rust-lang/crates.io-index)", "servo-skia 0.20130412.23 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -105,10 +105,10 @@ dependencies = [ "backtrace-sys 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "dbghelp-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "rustc-demangle 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-demangle 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -116,8 +116,8 @@ name = "backtrace-sys" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -126,7 +126,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -159,7 +159,7 @@ name = "blurz" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dbus 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "dbus 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -174,7 +174,7 @@ dependencies = [ [[package]] name = "browserhtml" version = "0.1.17" -source = "git+https://github.com/browserhtml/browserhtml?branch=crate#82ab69c8a83a34c9f81adef57255557b1a52412f" +source = "git+https://github.com/browserhtml/browserhtml?branch=crate#aafbb0996b02d1fadd4713c96e3d22b542f175a1" [[package]] name = "byteorder" @@ -192,7 +192,7 @@ dependencies = [ "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "util 0.0.1", @@ -221,7 +221,7 @@ name = "caseless" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -232,11 +232,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "cgl" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -244,7 +244,7 @@ name = "cmake" version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -255,7 +255,7 @@ dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "block 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "objc 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -273,7 +273,7 @@ dependencies = [ "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "gfx_traits 0.0.1", "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.5.1 (git+https://github.com/servo/rust-layers)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -329,7 +329,7 @@ name = "content-blocker" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -351,7 +351,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -359,7 +359,7 @@ name = "core-foundation-sys" version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -368,7 +368,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -379,12 +379,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "crossbeam" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -403,16 +403,16 @@ name = "dbghelp-sys" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "dbus" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -435,7 +435,7 @@ dependencies = [ [[package]] name = "device" version = "0.0.1" -source = "git+https://github.com/servo/devices#3c39846a019eeed939eb7090096631254e6b5efc" +source = "git+https://github.com/servo/devices#09ab8682bddfa73ba36025a150625504212d34da" dependencies = [ "blurz 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -446,7 +446,7 @@ version = "0.0.1" dependencies = [ "devtools_traits 0.0.1", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", @@ -466,7 +466,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -480,7 +480,7 @@ name = "dlib" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libloading 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libloading 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -493,19 +493,11 @@ name = "dwmapi-sys" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "dylib" -version = "0.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] name = "encoding" version = "0.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -567,7 +559,7 @@ name = "enum_primitive" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -576,7 +568,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -586,7 +578,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -605,7 +597,7 @@ name = "flate2" version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "miniz-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -615,21 +607,31 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] +name = "fontsan" +version = "0.3.2" +source = "git+https://github.com/servo/fontsan#08bfa604bf0cc882d9b4385c57db65e200975b72" +dependencies = [ + "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "miniz-sys 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "freetype" version = "0.1.0" source = "git+https://github.com/servo/rust-freetype#d564ff90a3c69d987f5c015d7ec034cfaee21aff" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "fs2" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -646,14 +648,14 @@ name = "gaol" version = "0.0.1" source = "git+https://github.com/servo/gaol#545c703ebfe7a3a0d7129eb40981527f5d680860" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gcc" -version = "0.3.28" +version = "0.3.34" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -661,7 +663,7 @@ name = "gdi32-sys" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -683,6 +685,7 @@ dependencies = [ "core-text 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", + "fontsan 0.3.2 (git+https://github.com/servo/fontsan)", "freetype 0.1.0 (git+https://github.com/servo/rust-freetype)", "gfx_traits 0.0.1", "harfbuzz-sys 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", @@ -691,7 +694,7 @@ dependencies = [ "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.5.1 (git+https://github.com/servo/rust-layers)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "mime 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", @@ -705,7 +708,7 @@ dependencies = [ "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "simd 0.1.0 (git+https://github.com/huonw/simd)", + "simd 0.1.1 (git+https://github.com/huonw/simd)", "smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", "style 0.0.1", @@ -783,13 +786,13 @@ dependencies = [ "net_traits 0.0.1", "script_traits 0.0.1", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "servo-glutin 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-glutin 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", "style_traits 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "util 0.0.1", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -799,7 +802,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gl_generator 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -808,7 +811,7 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -817,7 +820,7 @@ name = "heapsize" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -830,17 +833,17 @@ name = "heartbeats-simple" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "heartbeats-simple-sys 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "heartbeats-simple-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "heartbeats-simple-sys" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -898,7 +901,7 @@ dependencies = [ [[package]] name = "hyper_serde" -version = "0.1.4" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -919,17 +922,17 @@ dependencies = [ [[package]] name = "image" -version = "0.10.2" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "enum_primitive 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "gif 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", - "jpeg-decoder 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", + "jpeg-decoder 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-rational 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-rational 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "png 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -941,7 +944,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "arrayvec 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -954,11 +957,11 @@ name = "io-surface" version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "leaky-cow 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -968,7 +971,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bincode 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "uuid 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -981,7 +984,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "jpeg-decoder" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -996,18 +999,18 @@ dependencies = [ "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "mozjs_sys 0.0.0 (git+https://github.com/servo/mozjs)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "kernel32-sys" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1026,7 +1029,7 @@ name = "layers" version = "0.5.1" source = "git+https://github.com/servo/rust-layers#9b90d76cf0bc108ef6b29dab42d2ea36dbd718f8" dependencies = [ - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1034,12 +1037,12 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "io-surface 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-skia 0.20130412.23 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1058,7 +1061,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", @@ -1153,17 +1156,18 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libloading" -version = "0.2.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "target_build_utils 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1179,8 +1183,8 @@ name = "libz-sys" version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1204,7 +1208,7 @@ name = "malloc_buf" version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1217,7 +1221,7 @@ name = "memchr" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1225,10 +1229,10 @@ name = "memmap" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "fs2 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "fs2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1256,16 +1260,16 @@ name = "miniz-sys" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "mozjs_sys" version = "0.0.0" -source = "git+https://github.com/servo/mozjs#0f2ea3416044656e09f107b8f9e0d169264a7c77" +source = "git+https://github.com/servo/mozjs#7cd66925e766ef7bc69888f167e6392fac46c54f" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "libz-sys 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1278,7 +1282,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1299,7 +1303,7 @@ dependencies = [ "devtools_traits 0.0.1", "flate2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "immeta 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1315,7 +1319,7 @@ dependencies = [ "profile_traits 0.0.1", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "threadpool 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", + "threadpool 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "tinyfiledialogs 0.1.0 (git+https://github.com/jdm/tinyfiledialogs)", "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1328,13 +1332,13 @@ dependencies = [ [[package]] name = "net2" -version = "0.2.23" +version = "0.2.26" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1346,13 +1350,13 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1366,26 +1370,26 @@ name = "nodrop" version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "odds 0.2.12 (registry+https://github.com/rust-lang/crates.io-index)", + "odds 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num" -version = "0.1.32" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", "num-iter 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-bigint" -version = "0.1.32" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1395,7 +1399,7 @@ name = "num-integer" version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1404,23 +1408,23 @@ version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-rational" -version = "0.1.32" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-bigint 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-bigint 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "num-traits" -version = "0.1.32" +version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1428,7 +1432,7 @@ name = "num_cpus" version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1441,7 +1445,7 @@ dependencies = [ [[package]] name = "odds" -version = "0.2.12" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1449,7 +1453,7 @@ name = "offscreen_gl_context" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1457,7 +1461,7 @@ dependencies = [ "khronos_api 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1471,20 +1475,20 @@ version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.7.17 (registry+https://github.com/rust-lang/crates.io-index)", "openssl-sys-extras 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "openssl-sys" -version = "0.7.14" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "libressl-pnacl-sys 2.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1495,9 +1499,9 @@ name = "openssl-sys-extras" version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "openssl-sys 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "openssl-sys 0.7.17 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1513,13 +1517,13 @@ name = "ordered-float" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "osmesa-sys" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "shared_library 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1582,7 +1586,7 @@ name = "pnacl-build-helper" version = "1.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "tempdir 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1602,11 +1606,11 @@ version = "0.0.1" dependencies = [ "heartbeats-simple 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", "profile_traits 0.0.1", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1649,10 +1653,10 @@ dependencies = [ [[package]] name = "quickersort" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1661,7 +1665,7 @@ name = "rand" version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1670,7 +1674,7 @@ version = "0.0.1" dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", "serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1698,24 +1702,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "regex" -version = "0.1.71" +version = "0.1.73" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aho-corasick 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", "utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex-syntax" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "rustc-demangle" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -1757,17 +1761,17 @@ dependencies = [ "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "html5ever 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "js 0.1.3 (git+https://github.com/servo/rust-mozjs)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "mime 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "mime_guess 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "open 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "phf 0.7.16 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1778,7 +1782,7 @@ dependencies = [ "range 0.0.1", "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "ref_slice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_layout_interface 0.0.1", "script_traits 0.0.1", @@ -1810,7 +1814,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", @@ -1837,10 +1841,10 @@ dependencies = [ "gfx_traits 0.0.1", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "hyper_serde 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "hyper_serde 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "layers 0.5.1 (git+https://github.com/servo/rust-layers)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net_traits 0.0.1", "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1866,7 +1870,7 @@ dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "quickersort 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1904,7 +1908,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "dtoa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "itoa 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1938,7 +1942,7 @@ dependencies = [ "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "layout 0.0.1", "layout_thread 0.0.1", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "net 0.0.1", @@ -1962,7 +1966,7 @@ name = "servo-egl" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -1970,7 +1974,7 @@ name = "servo-fontconfig" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig-sys 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1995,31 +1999,31 @@ dependencies = [ [[package]] name = "servo-glutin" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "android_glue 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "cocoa 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "dwmapi-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "gl_generator 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "objc 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "osmesa-sys 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", + "osmesa-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "shared_library 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "shell32-sys 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-client 0.5.12 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-kbd 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-window 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", - "x11-dl 2.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", + "x11-dl 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2027,19 +2031,19 @@ name = "servo-skia" version = "0.20130412.23" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "cgl 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", "cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "expat-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)", "glx 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "io-surface 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "servo-egl 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-fontconfig-sys 4.0.1 (registry+https://github.com/rust-lang/crates.io-index)", "servo-freetype-sys 4.0.2 (registry+https://github.com/rust-lang/crates.io-index)", - "servo-glutin 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "x11 2.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "servo-glutin 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", + "x11 2.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2048,7 +2052,7 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2056,7 +2060,7 @@ name = "shell32-sys" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2067,8 +2071,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "simd" -version = "0.1.0" -source = "git+https://github.com/huonw/simd#03de1cd0a278ab902b4beb402d57505f3797ea56" +version = "0.1.1" +source = "git+https://github.com/huonw/simd#0d85d25d5cc3788062b252e31ad48dd19e805e90" [[package]] name = "smallvec" @@ -2110,15 +2114,16 @@ dependencies = [ "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "ordered-float 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "plugins 0.0.1", - "quickersort 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2147,15 +2152,23 @@ dependencies = [ ] [[package]] +name = "target_build_utils" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "serde_json 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] name = "task_info" version = "0.0.1" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tempdir" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2163,14 +2176,14 @@ dependencies = [ [[package]] name = "tempfile" -version = "2.1.3" +version = "2.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2189,13 +2202,13 @@ name = "thread-id" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "thread_local" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2203,7 +2216,7 @@ dependencies = [ [[package]] name = "threadpool" -version = "1.3.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2211,19 +2224,19 @@ name = "time" version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "tinyfiledialogs" version = "0.1.0" -source = "git+https://github.com/jdm/tinyfiledialogs#54f6aa4f579edbc726b8a764fd759a6d6ed0dd84" +source = "git+https://github.com/jdm/tinyfiledialogs#41d4268b6852ca5e53a484f0f915a9b63bca1707" dependencies = [ - "gcc 0.3.28 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "gcc 0.3.34 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2291,7 +2304,7 @@ name = "user32-sys" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2348,8 +2361,8 @@ name = "walkdir" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -2358,9 +2371,9 @@ version = "0.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "crossbeam 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)", + "crossbeam 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", "dlib 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-scanner 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-sys 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2400,7 +2413,7 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", - "tempfile 2.1.3 (registry+https://github.com/rust-lang/crates.io-index)", + "tempfile 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "wayland-client 0.5.12 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2411,7 +2424,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -2422,12 +2435,12 @@ dependencies = [ "cookie 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", "euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "image 0.10.2 (registry+https://github.com/rust-lang/crates.io-index)", + "image 0.10.3 (registry+https://github.com/rust-lang/crates.io-index)", "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "msg 0.0.1", "plugins 0.0.1", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "script_traits 0.0.1", "url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2454,7 +2467,7 @@ dependencies = [ "ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "rayon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2486,7 +2499,7 @@ dependencies = [ "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)", "hyper 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)", - "net2 0.2.23 (registry+https://github.com/rust-lang/crates.io-index)", + "net2 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)", "openssl 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", @@ -2496,7 +2509,7 @@ dependencies = [ [[package]] name = "winapi" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -2509,26 +2522,27 @@ name = "ws2_32-sys" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "x11" -version = "2.6.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "x11-dl" -version = "2.4.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "dylib 0.0.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "pkg-config 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] diff --git a/ports/geckolib/Cargo.lock b/ports/geckolib/Cargo.lock index 8cde64bfc4c..69baaa7d7d3 100644 --- a/ports/geckolib/Cargo.lock +++ b/ports/geckolib/Cargo.lock @@ -8,7 +8,7 @@ dependencies = [ "gecko_bindings 0.0.1", "gecko_string_cache 0.2.20", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -32,7 +32,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -135,7 +135,7 @@ version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "regex 0.1.71 (registry+https://github.com/rust-lang/crates.io-index)", + "regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -145,7 +145,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -169,7 +169,7 @@ dependencies = [ "cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "gecko_bindings 0.0.1", "heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -184,7 +184,7 @@ name = "heapsize" version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -199,10 +199,10 @@ dependencies = [ [[package]] name = "kernel32-sys" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -213,7 +213,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "libc" -version = "0.2.13" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -231,20 +231,28 @@ name = "memchr" version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] -name = "num-traits" +name = "num-integer" version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "num-traits" +version = "0.1.35" +source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "num_cpus" version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -252,7 +260,7 @@ name = "ordered-float" version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -272,10 +280,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "quickersort" -version = "2.0.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -284,24 +292,24 @@ name = "rand" version = "0.3.14" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex" -version = "0.1.71" +version = "0.1.73" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aho-corasick 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", "memchr 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)", - "regex-syntax 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", - "thread_local 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "regex-syntax 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "thread_local 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)", "utf8-ranges 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "regex-syntax" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] @@ -318,7 +326,7 @@ dependencies = [ "cssparser 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)", "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "quickersort 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "string_cache 0.2.24 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -358,14 +366,15 @@ dependencies = [ "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)", "gecko_bindings 0.0.1", "gecko_string_cache 0.2.20", - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)", "matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", - "num-traits 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-integer 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)", + "num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)", "ordered-float 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", - "quickersort 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)", "selectors 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -391,13 +400,13 @@ name = "thread-id" version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "thread_local" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "thread-id 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -408,9 +417,9 @@ name = "time" version = "0.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -475,13 +484,13 @@ name = "walkdir" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "winapi 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "winapi" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] diff --git a/ports/geckolib/binding_tools/regen.py b/ports/geckolib/binding_tools/regen.py index d48e76c89d8..72aeef2d5ef 100755 --- a/ports/geckolib/binding_tools/regen.py +++ b/ports/geckolib/binding_tools/regen.py @@ -148,7 +148,10 @@ COMPILATION_TARGETS = { "void_types": [ "nsINode", "nsIDocument", "nsIPrincipal", "nsIURI", ], - "servo_arc_types": ["ServoComputedValues", "RawServoStyleSheet"] + "servo_arc_types": [ + "ServoComputedValues", "RawServoStyleSheet", + "ServoDeclarationBlock" + ] }, "atoms": { diff --git a/ports/geckolib/data.rs b/ports/geckolib/data.rs index 235fa8094f0..d87baab86d1 100644 --- a/ports/geckolib/data.rs +++ b/ports/geckolib/data.rs @@ -17,9 +17,9 @@ use style::media_queries::{Device, MediaType}; use style::parallel::WorkQueueData; use style::selector_matching::Stylist; use style::stylesheets::Stylesheet; +use style::thread_state; use style::workqueue::WorkQueue; use style_traits::ViewportPx; -use util::thread_state; pub struct PerDocumentStyleData { /// Rule processor. diff --git a/ports/geckolib/gecko_bindings/bindings.rs b/ports/geckolib/gecko_bindings/bindings.rs index 82732911007..35b55f01cf3 100644 --- a/ports/geckolib/gecko_bindings/bindings.rs +++ b/ports/geckolib/gecko_bindings/bindings.rs @@ -9,6 +9,8 @@ pub type ServoComputedValuesStrong = ::sugar::refptr::Strong<ServoComputedValues pub type ServoComputedValuesBorrowed<'a> = ::sugar::refptr::Borrowed<'a, ServoComputedValues>; pub type RawServoStyleSheetStrong = ::sugar::refptr::Strong<RawServoStyleSheet>; pub type RawServoStyleSheetBorrowed<'a> = ::sugar::refptr::Borrowed<'a, RawServoStyleSheet>; +pub type ServoDeclarationBlockStrong = ::sugar::refptr::Strong<ServoDeclarationBlock>; +pub type ServoDeclarationBlockBorrowed<'a> = ::sugar::refptr::Borrowed<'a, ServoDeclarationBlock>; use structs::nsStyleFont; unsafe impl Send for nsStyleFont {} unsafe impl Sync for nsStyleFont {} @@ -254,7 +256,7 @@ extern "C" { classList: *mut *mut *mut nsIAtom) -> u32; pub fn Gecko_GetServoDeclarationBlock(element: *mut RawGeckoElement) - -> *mut ServoDeclarationBlock; + -> ServoDeclarationBlockBorrowed; pub fn Gecko_GetNodeData(node: *mut RawGeckoNode) -> *mut ServoNodeData; pub fn Gecko_SetNodeData(node: *mut RawGeckoNode, data: *mut ServoNodeData); @@ -333,6 +335,8 @@ extern "C" { pub fn Gecko_DestroyClipPath(clip: *mut StyleClipPath); pub fn Gecko_NewBasicShape(type_: StyleBasicShapeType) -> *mut StyleBasicShape; + pub fn Gecko_FillAllBackgroundLists(layers: *mut nsStyleImageLayers, + maxLen: u32); pub fn Gecko_AddRefCalcArbitraryThread(aPtr: *mut Calc); pub fn Gecko_ReleaseCalcArbitraryThread(aPtr: *mut Calc); pub fn Gecko_Construct_nsStyleFont(ptr: *mut nsStyleFont); @@ -467,16 +471,18 @@ extern "C" { pub fn Servo_DropStyleSet(set: *mut RawServoStyleSet); pub fn Servo_ParseStyleAttribute(bytes: *const u8, length: u32, cache: *mut nsHTMLCSSStyleSheet) - -> *mut ServoDeclarationBlock; - pub fn Servo_DropDeclarationBlock(declarations: - *mut ServoDeclarationBlock); + -> ServoDeclarationBlockStrong; + pub fn Servo_DeclarationBlock_AddRef(declarations: + ServoDeclarationBlockBorrowed); + pub fn Servo_DeclarationBlock_Release(declarations: + ServoDeclarationBlockBorrowed); pub fn Servo_GetDeclarationBlockCache(declarations: - *mut ServoDeclarationBlock) + ServoDeclarationBlockBorrowed) -> *mut nsHTMLCSSStyleSheet; pub fn Servo_SetDeclarationBlockImmutable(declarations: - *mut ServoDeclarationBlock); + ServoDeclarationBlockBorrowed); pub fn Servo_ClearDeclarationBlockCachePointer(declarations: - *mut ServoDeclarationBlock); + ServoDeclarationBlockBorrowed); pub fn Servo_CSSSupports(name: *const u8, name_length: u32, value: *const u8, value_length: u32) -> bool; pub fn Servo_GetComputedValues(node: *mut RawGeckoNode) diff --git a/ports/geckolib/gecko_bindings/sugar/ns_style_auto_array.rs b/ports/geckolib/gecko_bindings/sugar/ns_style_auto_array.rs index 43728fd979d..b81aa51df52 100644 --- a/ports/geckolib/gecko_bindings/sugar/ns_style_auto_array.rs +++ b/ports/geckolib/gecko_bindings/sugar/ns_style_auto_array.rs @@ -3,13 +3,16 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ use std::iter::{once, Chain, Once, IntoIterator}; -use std::slice::IterMut; +use std::slice::{Iter, IterMut}; use structs::nsStyleAutoArray; impl<T> nsStyleAutoArray<T> { pub fn iter_mut(&mut self) -> Chain<Once<&mut T>, IterMut<T>> { once(&mut self.mFirstElement).chain(self.mOtherElements.iter_mut()) } + pub fn iter(&self) -> Chain<Once<&T>, Iter<T>> { + once(&self.mFirstElement).chain(self.mOtherElements.iter()) + } // Note that often structs containing autoarrays will have // additional member fields that contain the length, which must be kept diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs index 9a8728db6fb..810998ff9fd 100644 --- a/ports/geckolib/glue.rs +++ b/ports/geckolib/glue.rs @@ -13,6 +13,7 @@ use gecko_bindings::bindings::{RawGeckoDocument, RawGeckoElement, RawGeckoNode}; use gecko_bindings::bindings::{RawServoStyleSheetBorrowed, ServoComputedValuesBorrowed}; use gecko_bindings::bindings::{RawServoStyleSheetStrong, ServoComputedValuesStrong}; use gecko_bindings::bindings::{ServoDeclarationBlock, ServoNodeData, ThreadSafePrincipalHolder}; +use gecko_bindings::bindings::{ServoDeclarationBlockBorrowed, ServoDeclarationBlockStrong}; use gecko_bindings::bindings::{ThreadSafeURIHolder, nsHTMLCSSStyleSheet}; use gecko_bindings::ptr::{GeckoArcPrincipal, GeckoArcURI}; use gecko_bindings::structs::ServoElementSnapshot; @@ -25,6 +26,7 @@ use std::mem::transmute; use std::ptr; use std::slice; use std::str::from_utf8_unchecked; +use std::sync::atomic::{AtomicBool, AtomicPtr, Ordering}; use std::sync::{Arc, Mutex}; use style::arc_ptr_eq; use style::context::{LocalStyleContextCreationInfo, ReflowGoal, SharedStyleContext}; @@ -355,47 +357,62 @@ pub extern "C" fn Servo_DropStyleSet(data: *mut RawServoStyleSet) -> () { pub struct GeckoDeclarationBlock { pub declarations: Option<PropertyDeclarationBlock>, - pub cache: *mut nsHTMLCSSStyleSheet, - pub immutable: bool, + // XXX The following two fields are made atomic to work around the + // ownership system so that they can be changed inside a shared + // instance. It wouldn't provide safety as Rust usually promises, + // but it is fine as far as we only access them in a single thread. + // If we need to access them in different threads, we would need + // to redesign how it works with MiscContainer in Gecko side. + pub cache: AtomicPtr<nsHTMLCSSStyleSheet>, + pub immutable: AtomicBool, +} + +unsafe impl HasArcFFI for GeckoDeclarationBlock { + type FFIType = ServoDeclarationBlock; } #[no_mangle] pub extern "C" fn Servo_ParseStyleAttribute(bytes: *const u8, length: u32, cache: *mut nsHTMLCSSStyleSheet) - -> *mut ServoDeclarationBlock { + -> ServoDeclarationBlockStrong { let value = unsafe { from_utf8_unchecked(slice::from_raw_parts(bytes, length as usize)) }; - let declarations = Box::new(GeckoDeclarationBlock { + GeckoDeclarationBlock::from_arc(Arc::new(GeckoDeclarationBlock { declarations: GeckoElement::parse_style_attribute(value), - cache: cache, - immutable: false, - }); - Box::into_raw(declarations) as *mut ServoDeclarationBlock + cache: AtomicPtr::new(cache), + immutable: AtomicBool::new(false), + })) } #[no_mangle] -pub extern "C" fn Servo_DropDeclarationBlock(declarations: *mut ServoDeclarationBlock) { - unsafe { - let _ = Box::<GeckoDeclarationBlock>::from_raw(declarations as *mut GeckoDeclarationBlock); - } +pub extern "C" fn Servo_DeclarationBlock_AddRef(declarations: ServoDeclarationBlockBorrowed) { + unsafe { GeckoDeclarationBlock::addref(declarations) }; } #[no_mangle] -pub extern "C" fn Servo_GetDeclarationBlockCache(declarations: *mut ServoDeclarationBlock) +pub extern "C" fn Servo_DeclarationBlock_Release(declarations: ServoDeclarationBlockBorrowed) { + unsafe { GeckoDeclarationBlock::release(declarations) }; +} + +#[no_mangle] +pub extern "C" fn Servo_GetDeclarationBlockCache(declarations: ServoDeclarationBlockBorrowed) -> *mut nsHTMLCSSStyleSheet { - let declarations = unsafe { (declarations as *const GeckoDeclarationBlock).as_ref().unwrap() }; - declarations.cache + GeckoDeclarationBlock::with(declarations, |declarations| { + declarations.cache.load(Ordering::Relaxed) + }) } #[no_mangle] -pub extern "C" fn Servo_SetDeclarationBlockImmutable(declarations: *mut ServoDeclarationBlock) { - let declarations = unsafe { (declarations as *mut GeckoDeclarationBlock).as_mut().unwrap() }; - declarations.immutable = true; +pub extern "C" fn Servo_SetDeclarationBlockImmutable(declarations: ServoDeclarationBlockBorrowed) { + GeckoDeclarationBlock::with(declarations, |declarations| { + declarations.immutable.store(true, Ordering::Relaxed) + }) } #[no_mangle] -pub extern "C" fn Servo_ClearDeclarationBlockCachePointer(declarations: *mut ServoDeclarationBlock) { - let declarations = unsafe { (declarations as *mut GeckoDeclarationBlock).as_mut().unwrap() }; - declarations.cache = ptr::null_mut(); +pub extern "C" fn Servo_ClearDeclarationBlockCachePointer(declarations: ServoDeclarationBlockBorrowed) { + GeckoDeclarationBlock::with(declarations, |declarations| { + declarations.cache.store(ptr::null_mut(), Ordering::Relaxed) + }); } #[no_mangle] diff --git a/ports/geckolib/wrapper.rs b/ports/geckolib/wrapper.rs index 6e4f137cfdc..b5b57d27c88 100644 --- a/ports/geckolib/wrapper.rs +++ b/ports/geckolib/wrapper.rs @@ -35,6 +35,7 @@ use snapshot::GeckoElementSnapshot; use snapshot_helpers; use std::fmt; use std::marker::PhantomData; +use std::mem::transmute; use std::ops::BitOr; use std::ptr; use std::sync::Arc; @@ -432,9 +433,13 @@ impl<'le> TElement for GeckoElement<'le> { } fn style_attribute(&self) -> &Option<PropertyDeclarationBlock> { - unsafe { - let ptr = Gecko_GetServoDeclarationBlock(self.element) as *mut GeckoDeclarationBlock; - ptr.as_ref().map(|d| &d.declarations).unwrap_or(&NO_STYLE_ATTRIBUTE) + let declarations = unsafe { Gecko_GetServoDeclarationBlock(self.element) }; + if declarations.is_null() { + &NO_STYLE_ATTRIBUTE + } else { + GeckoDeclarationBlock::with(declarations, |declarations| { + unsafe { transmute(&declarations.declarations) } + }) } } diff --git a/python/servo/command_base.py b/python/servo/command_base.py index 4b9f22fc376..821f7553312 100644 --- a/python/servo/command_base.py +++ b/python/servo/command_base.py @@ -286,9 +286,9 @@ class CommandBase(object): def rust_path(self): version = self.rust_version() if self._use_stable_rust: - return "%s/rustc-%s-%s" % (version, version, host_triple()) + return os.path.join(version, "rustc-%s-%s" % (version, host_triple())) else: - return "%s/rustc-nightly-%s" % (version, host_triple()) + return os.path.join(version, "rustc-nightly-%s" % (host_triple())) def rust_version(self): if self._rust_version is None or self._use_stable_rust != self._rust_version_is_stable: diff --git a/python/tidy/servo_tidy/tidy.py b/python/tidy/servo_tidy/tidy.py index 39071f3127e..a23c444c9db 100644 --- a/python/tidy/servo_tidy/tidy.py +++ b/python/tidy/servo_tidy/tidy.py @@ -29,11 +29,11 @@ config = { "skip-check-licenses": False, "ignore": { "files": [ - CONFIG_FILE_PATH, # ignore config file - "./.", # ignore hidden files + CONFIG_FILE_PATH, # ignore config file + "./.", # ignore hidden files ], "directories": [ - "./.", # ignore hidden directories + "./.", # ignore hidden directories ], "packages": [], } @@ -112,6 +112,7 @@ def filter_files(start_dir, only_changed_files, progress): raise StopIteration if progress: file_iter = progress_wrapper(file_iter) + for file_name in file_iter: base_name = os.path.basename(file_name) if not any(fnmatch.fnmatch(base_name, pattern) for pattern in FILE_PATTERNS_TO_CHECK): @@ -129,11 +130,7 @@ def uncomment(line): return line[len(c):].strip() -def licensed_mpl(header): - return MPL in header - - -def licensed_apache(header): +def is_apache_licensed(header): if APACHE in header: return any(c in header for c in COPYRIGHT) @@ -159,9 +156,10 @@ def check_license(file_name, lines): line = uncomment(l) if line is not None: license_block.append(line) - contents = " ".join(license_block) - valid_license = licensed_mpl(contents) or licensed_apache(contents) - acknowledged_bad_license = "xfail-license" in contents + + header = " ".join(license_block) + valid_license = MPL in header or is_apache_licensed(header) + acknowledged_bad_license = "xfail-license" in header if not (valid_license or acknowledged_bad_license): yield (1, "incorrect license") @@ -180,10 +178,7 @@ def check_length(file_name, idx, line): raise StopIteration # Prefer shorter lines when shell scripting. - if file_name.endswith(".sh"): - max_length = 80 - else: - max_length = 120 + max_length = 80 if file_name.endswith(".sh") else 120 if len(line.rstrip('\n')) > max_length: yield (idx + 1, "Line is longer than %d characters" % max_length) @@ -338,7 +333,7 @@ def check_shell(file_name, lines): did_shebang_check = False - if len(lines) == 0: + if not lines: yield (0, 'script is an empty file') return @@ -357,7 +352,7 @@ def check_shell(file_name, lines): else: # The first non-comment, non-whitespace, non-option line is the first "real" line of the script. # The shebang, options, etc. must come before this. - if len(required_options) != 0: + if required_options: formatted = ['"{}"'.format(opt) for opt in required_options] yield (idx + 1, "script is missing options {}".format(", ".join(formatted))) did_shebang_check = True @@ -420,9 +415,8 @@ def check_rust(file_name, lines): line = merged_lines + line merged_lines = '' - # Keep track of whitespace to enable checking for a merged import block - # Ignore attributes, comments, and imports + # Keep track of whitespace to enable checking for a merged import block if import_block: if not (is_comment or is_attribute or line.startswith("use ")): whitespace = line == "" @@ -550,7 +544,7 @@ def check_rust(file_name, lines): prev_mod[indent] = "" if match == -1 and not line.endswith(";"): yield (idx + 1, "mod declaration spans multiple lines") - if len(prev_mod[indent]) > 0 and mod < prev_mod[indent]: + if prev_mod[indent] and mod < prev_mod[indent]: yield(idx + 1, decl_message.format("mod declaration") + decl_expected.format(prev_mod[indent]) + decl_found.format(mod)) @@ -679,7 +673,7 @@ def check_config_file(config_file, print_text=True): lines = conf_file.splitlines(True) if print_text: - print '\rChecking for config file...' + print '\rChecking the config file...' current_table = "" for idx, line in enumerate(lines): @@ -699,8 +693,7 @@ def check_config_file(config_file, print_text=True): if "=" not in line: continue - key = line.split("=") - key = key[0].strip() + key = line.split("=")[0].strip() # Check for invalid keys inside [configs] and [ignore] table if (current_table == "configs" and key not in config or @@ -722,22 +715,17 @@ def parse_config(content): config["ignore"]["files"] += exclude.get("files", []) # Add list of ignored packages to config config["ignore"]["packages"] = exclude.get("packages", []) - # Fix the necessary paths if we're in Windows - if sys.platform == "win32": - files = [] - for f in config["ignore"]["files"]: - files += [os.path.join(*f.split("/"))] - config["ignore"]["files"] = files - dirs = [] - for f in config["ignore"]["directories"]: - dirs += [os.path.join(*f.split("/"))] - config["ignore"]["directories"] = dirs + # Fix the paths (OS-dependent) + config['ignore']['files'] = map(lambda path: os.path.join(*path.split('/')), + config['ignore']['files']) + config['ignore']['directories'] = map(lambda path: os.path.join(*path.split('/')), + config['ignore']['directories']) # Override default configs - configs = config_file.get("configs", []) - for pref in configs: + user_configs = config_file.get("configs", []) + for pref in user_configs: if pref in config: - config[pref] = configs[pref] + config[pref] = user_configs[pref] def collect_errors_for_files(files_to_check, checking_functions, line_checking_functions, print_text=True): @@ -836,25 +824,28 @@ def get_file_list(directory, only_changed_files=False, exclude_dirs=[]): def scan(only_changed_files=False, progress=True): # check config file for errors - config_errors = check_config_file(CONFIG_FILE_PATH, progress) + config_errors = check_config_file(CONFIG_FILE_PATH) # standard checks files_to_check = filter_files('.', only_changed_files, progress) checking_functions = (check_flake8, check_lock, check_webidl_spec, check_json) line_checking_functions = (check_license, check_by_line, check_toml, check_shell, check_rust, check_spec, check_modeline) - errors = collect_errors_for_files(files_to_check, checking_functions, line_checking_functions) + file_errors = collect_errors_for_files(files_to_check, checking_functions, line_checking_functions) # check dependecy licenses dep_license_errors = check_dep_license_errors(get_dep_toml_files(only_changed_files), progress) # wpt lint checks wpt_lint_errors = check_wpt_lint_errors(get_wpt_files(only_changed_files, progress)) - # collect errors - errors = itertools.chain(config_errors, errors, dep_license_errors, wpt_lint_errors) + # chain all the iterators + errors = itertools.chain(config_errors, file_errors, dep_license_errors, wpt_lint_errors) + error = None for error in errors: colorama.init() print "\r\033[94m{}\033[0m:\033[93m{}\033[0m: \033[91m{}\033[0m".format(*error) + print if error is None: colorama.init() print "\033[92mtidy reported no errors.\033[0m" + return int(error is not None) diff --git a/python/tidy/servo_tidy_tests/test_tidy.py b/python/tidy/servo_tidy_tests/test_tidy.py index c8751ea59c4..f65ffa55d37 100644 --- a/python/tidy/servo_tidy_tests/test_tidy.py +++ b/python/tidy/servo_tidy_tests/test_tidy.py @@ -24,9 +24,9 @@ class CheckTidiness(unittest.TestCase): errors.next() def test_tidy_config(self): - errors = tidy.check_config_file(os.path.join(base_path, 'servo-tidy.toml')) - self.assertEqual('invalid config key \'key-outside\'', errors.next()[2]) - self.assertEqual('invalid config key \'wrong-key\'', errors.next()[2]) + errors = tidy.check_config_file(os.path.join(base_path, 'servo-tidy.toml'), print_text=False) + self.assertEqual("invalid config key 'key-outside'", errors.next()[2]) + self.assertEqual("invalid config key 'wrong-key'", errors.next()[2]) self.assertEqual('invalid config table [wrong]', errors.next()[2]) self.assertNoMoreErrors(errors) diff --git a/tests/unit/style/properties/serialization.rs b/tests/unit/style/properties/serialization.rs index f47b5303a0f..7187c92b9f8 100644 --- a/tests/unit/style/properties/serialization.rs +++ b/tests/unit/style/properties/serialization.rs @@ -47,8 +47,6 @@ fn property_declaration_block_should_serialize_correctly() { let block = PropertyDeclarationBlock { declarations: Arc::new(declarations), - // Incorrect, but not used here: - normal_count: 0, important_count: 0, }; @@ -67,8 +65,6 @@ mod shorthand_serialization { let block = PropertyDeclarationBlock { declarations: Arc::new(properties.into_iter().map(|d| (d, Importance::Normal)).collect()), - // Incorrect, but not used here: - normal_count: 0, important_count: 0, }; @@ -683,18 +679,44 @@ mod shorthand_serialization { */ mod background { - use style::properties::longhands::background_attachment::computed_value::T as Attachment; - use style::properties::longhands::background_clip::computed_value::T as Clip; - use style::properties::longhands::background_image::SpecifiedValue as ImageContainer; - use style::properties::longhands::background_origin::computed_value::T as Origin; - use style::properties::longhands::background_position::SpecifiedValue as PositionContainer; - use style::properties::longhands::background_repeat::computed_value::T as Repeat; - use style::properties::longhands::background_size::SpecifiedExplicitSize; - use style::properties::longhands::background_size::SpecifiedValue as Size; + use style::properties::longhands::background_attachment as attachment; + use style::properties::longhands::background_clip as clip; + use style::properties::longhands::background_image as image; + use style::properties::longhands::background_origin as origin; + use style::properties::longhands::background_position as position; + use style::properties::longhands::background_repeat as repeat; + use style::properties::longhands::background_size as size; use style::values::specified::Image; use style::values::specified::position::Position; use super::*; - + macro_rules! single_vec_value_typedef { + ($name:ident, $path:expr) => { + DeclaredValue::Value($name::SpecifiedValue( + vec![$path] + )) + }; + } + macro_rules! single_vec_value { + ($name:ident, $path:expr) => { + DeclaredValue::Value($name::SpecifiedValue( + vec![$name::single_value::SpecifiedValue($path)] + )) + }; + } + macro_rules! single_vec_keyword_value { + ($name:ident, $kw:ident) => { + DeclaredValue::Value($name::SpecifiedValue( + vec![$name::single_value::SpecifiedValue::$kw] + )) + }; + } + macro_rules! single_vec_variant_value { + ($name:ident, $variant:expr) => { + DeclaredValue::Value($name::SpecifiedValue( + vec![$variant] + )) + }; + } #[test] fn background_should_serialize_all_available_properties_when_specified() { let mut properties = Vec::new(); @@ -704,29 +726,31 @@ mod shorthand_serialization { authored: None }); - let position = DeclaredValue::Value(PositionContainer( + let position = single_vec_value_typedef!(position, Position { horizontal: LengthOrPercentage::Length(Length::from_px(7f32)), vertical: LengthOrPercentage::Length(Length::from_px(4f32)) } - )); + ); - let repeat = DeclaredValue::Value(Repeat::repeat_x); - let attachment = DeclaredValue::Value(Attachment::scroll); + let repeat = single_vec_keyword_value!(repeat, repeat_x); + let attachment = single_vec_keyword_value!(attachment, scroll); - let image = DeclaredValue::Value(ImageContainer( - Some(Image::Url(Url::parse("http://servo/test.png").unwrap(), UrlExtraData {})) - )); + let image = single_vec_value!(image, + Some(Image::Url(Url::parse("http://servo/test.png").unwrap(), + UrlExtraData {}))); - let size = DeclaredValue::Value( - Size::Explicit(SpecifiedExplicitSize { - width: LengthOrPercentageOrAuto::Length(Length::from_px(70f32)), - height: LengthOrPercentageOrAuto::Length(Length::from_px(50f32)) - } - )); + let size = single_vec_variant_value!(size, + size::single_value::SpecifiedValue::Explicit( + size::single_value::SpecifiedExplicitSize { + width: LengthOrPercentageOrAuto::Length(Length::from_px(70f32)), + height: LengthOrPercentageOrAuto::Length(Length::from_px(50f32)) + } + ) + ); - let origin = DeclaredValue::Value(Origin::border_box); - let clip = DeclaredValue::Value(Clip::padding_box); + let origin = single_vec_keyword_value!(origin, border_box); + let clip = single_vec_keyword_value!(clip, padding_box); properties.push(PropertyDeclaration::BackgroundColor(color)); properties.push(PropertyDeclaration::BackgroundPosition(position)); @@ -755,29 +779,31 @@ mod shorthand_serialization { authored: None }); - let position = DeclaredValue::Value(PositionContainer( + let position = single_vec_value_typedef!(position, Position { horizontal: LengthOrPercentage::Length(Length::from_px(7f32)), vertical: LengthOrPercentage::Length(Length::from_px(4f32)) } - )); + ); - let repeat = DeclaredValue::Value(Repeat::repeat_x); - let attachment = DeclaredValue::Value(Attachment::scroll); + let repeat = single_vec_keyword_value!(repeat, repeat_x); + let attachment = single_vec_keyword_value!(attachment, scroll); - let image = DeclaredValue::Value(ImageContainer( - Some(Image::Url(Url::parse("http://servo/test.png").unwrap(), UrlExtraData {})) - )); + let image = single_vec_value!(image, + Some(Image::Url(Url::parse("http://servo/test.png").unwrap(), + UrlExtraData {}))); - let size = DeclaredValue::Value( - Size::Explicit(SpecifiedExplicitSize { - width: LengthOrPercentageOrAuto::Length(Length::from_px(70f32)), - height: LengthOrPercentageOrAuto::Length(Length::from_px(50f32)) - }) + let size = single_vec_variant_value!(size, + size::single_value::SpecifiedValue::Explicit( + size::single_value::SpecifiedExplicitSize { + width: LengthOrPercentageOrAuto::Length(Length::from_px(70f32)), + height: LengthOrPercentageOrAuto::Length(Length::from_px(50f32)) + } + ) ); - let origin = DeclaredValue::Value(Origin::padding_box); - let clip = DeclaredValue::Value(Clip::padding_box); + let origin = single_vec_keyword_value!(origin, padding_box); + let clip = single_vec_keyword_value!(clip, padding_box); properties.push(PropertyDeclaration::BackgroundColor(color)); properties.push(PropertyDeclaration::BackgroundPosition(position)); @@ -805,17 +831,17 @@ mod shorthand_serialization { authored: None }); - let position = DeclaredValue::Value(PositionContainer( + let position = single_vec_value_typedef!(position, Position { horizontal: LengthOrPercentage::Length(Length::from_px(0f32)), vertical: LengthOrPercentage::Length(Length::from_px(0f32)) } - )); + ); - let repeat = DeclaredValue::Value(Repeat::repeat_x); - let attachment = DeclaredValue::Value(Attachment::scroll); + let repeat = single_vec_keyword_value!(repeat, repeat_x); + let attachment = single_vec_keyword_value!(attachment, scroll); - let image = DeclaredValue::Value(ImageContainer(None)); + let image = single_vec_value!(image, None); let size = DeclaredValue::Initial; diff --git a/tests/unit/style/stylesheets.rs b/tests/unit/style/stylesheets.rs index a73f43b51ba..528dcd67084 100644 --- a/tests/unit/style/stylesheets.rs +++ b/tests/unit/style/stylesheets.rs @@ -105,7 +105,6 @@ fn test_parse_stylesheet() { (PropertyDeclaration::Custom(Atom::from("a"), DeclaredValue::Inherit), Importance::Important), ]), - normal_count: 0, important_count: 2, }, }), @@ -152,7 +151,6 @@ fn test_parse_stylesheet() { longhands::display::SpecifiedValue::block)), Importance::Normal), ]), - normal_count: 1, important_count: 0, }, }), @@ -193,22 +191,42 @@ fn test_parse_stylesheet() { } )), Importance::Normal), - (PropertyDeclaration::BackgroundPosition(DeclaredValue::Initial), + (PropertyDeclaration::BackgroundPosition(DeclaredValue::Value( + longhands::background_position::SpecifiedValue( + vec![longhands::background_position::single_value + ::get_initial_specified_value()]))), Importance::Normal), - (PropertyDeclaration::BackgroundRepeat(DeclaredValue::Initial), + (PropertyDeclaration::BackgroundRepeat(DeclaredValue::Value( + longhands::background_repeat::SpecifiedValue( + vec![longhands::background_repeat::single_value + ::get_initial_specified_value()]))), Importance::Normal), - (PropertyDeclaration::BackgroundAttachment(DeclaredValue::Initial), + (PropertyDeclaration::BackgroundAttachment(DeclaredValue::Value( + longhands::background_attachment::SpecifiedValue( + vec![longhands::background_attachment::single_value + ::get_initial_specified_value()]))), Importance::Normal), - (PropertyDeclaration::BackgroundImage(DeclaredValue::Initial), + (PropertyDeclaration::BackgroundImage(DeclaredValue::Value( + longhands::background_image::SpecifiedValue( + vec![longhands::background_image::single_value + ::get_initial_specified_value()]))), Importance::Normal), - (PropertyDeclaration::BackgroundSize(DeclaredValue::Initial), + (PropertyDeclaration::BackgroundSize(DeclaredValue::Value( + longhands::background_size::SpecifiedValue( + vec![longhands::background_size::single_value + ::get_initial_specified_value()]))), Importance::Normal), - (PropertyDeclaration::BackgroundOrigin(DeclaredValue::Initial), + (PropertyDeclaration::BackgroundOrigin(DeclaredValue::Value( + longhands::background_origin::SpecifiedValue( + vec![longhands::background_origin::single_value + ::get_initial_specified_value()]))), Importance::Normal), - (PropertyDeclaration::BackgroundClip(DeclaredValue::Initial), + (PropertyDeclaration::BackgroundClip(DeclaredValue::Value( + longhands::background_clip::SpecifiedValue( + vec![longhands::background_clip::single_value + ::get_initial_specified_value()]))), Importance::Normal), ]), - normal_count: 8, important_count: 0, }, }), diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-padding-bleed-001.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-padding-bleed-001.htm.ini deleted file mode 100644 index 92b2edb5116..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/border-padding-bleed-001.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[border-padding-bleed-001.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-padding-bleed-002.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-padding-bleed-002.htm.ini deleted file mode 100644 index eafdcac72f7..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/border-padding-bleed-002.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[border-padding-bleed-002.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-padding-bleed-003.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-padding-bleed-003.htm.ini deleted file mode 100644 index 3a35dffe436..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/border-padding-bleed-003.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[border-padding-bleed-003.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-width-applies-to-008.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-width-applies-to-008.htm.ini deleted file mode 100644 index d6a60adec45..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/border-width-applies-to-008.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[border-width-applies-to-008.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/c5506-ipadn-t-000.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/c5506-ipadn-t-000.htm.ini deleted file mode 100644 index 51e0ddd4055..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/c5506-ipadn-t-000.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[c5506-ipadn-t-000.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/c5506-ipadn-t-002.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/c5506-ipadn-t-002.htm.ini deleted file mode 100644 index 2942e9f5c43..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/c5506-ipadn-t-002.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[c5506-ipadn-t-002.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/c5508-ipadn-b-000.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/c5508-ipadn-b-000.htm.ini deleted file mode 100644 index 661978ebe57..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/c5508-ipadn-b-000.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[c5508-ipadn-b-000.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/c5510-ipadn-000.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/c5510-ipadn-000.htm.ini index 8973408f599..5eabcb65ce2 100644 --- a/tests/wpt/metadata-css/css21_dev/html4/c5510-ipadn-000.htm.ini +++ b/tests/wpt/metadata-css/css21_dev/html4/c5510-ipadn-000.htm.ini @@ -1,3 +1,4 @@ [c5510-ipadn-000.htm] type: reftest - expected: FAIL + expected: + if os != "mac": FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/inline-formatting-context-022.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/inline-formatting-context-022.htm.ini deleted file mode 100644 index 78d873ffa94..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/inline-formatting-context-022.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[inline-formatting-context-022.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/inline-formatting-context-023.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/inline-formatting-context-023.htm.ini deleted file mode 100644 index 8f3fd2946a6..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/inline-formatting-context-023.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[inline-formatting-context-023.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/inline-non-replaced-height-002.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/inline-non-replaced-height-002.htm.ini deleted file mode 100644 index b31af8d4e11..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/inline-non-replaced-height-002.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[inline-non-replaced-height-002.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/inline-non-replaced-height-003.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/inline-non-replaced-height-003.htm.ini deleted file mode 100644 index 346df502fca..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/inline-non-replaced-height-003.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[inline-non-replaced-height-003.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/margin-bottom-applies-to-008.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/margin-bottom-applies-to-008.htm.ini deleted file mode 100644 index fb3d1d08ba9..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/margin-bottom-applies-to-008.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[margin-bottom-applies-to-008.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/css21_dev/html4/margin-top-applies-to-008.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/margin-top-applies-to-008.htm.ini deleted file mode 100644 index aa17dcc51c0..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/margin-top-applies-to-008.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[margin-top-applies-to-008.htm] - type: reftest - expected: FAIL diff --git a/tests/wpt/metadata-css/cssom-1_dev/html/cssom-setProperty-shorthand.htm.ini b/tests/wpt/metadata-css/cssom-1_dev/html/cssom-setProperty-shorthand.htm.ini deleted file mode 100644 index 0107a131efa..00000000000 --- a/tests/wpt/metadata-css/cssom-1_dev/html/cssom-setProperty-shorthand.htm.ini +++ /dev/null @@ -1,35 +0,0 @@ -[cssom-setProperty-shorthand.htm] - type: testharness - [shorthand font can be set with setProperty] - expected: FAIL - - [shorthand border-top can be set with setProperty] - expected: FAIL - - [shorthand border-right can be set with setProperty] - expected: FAIL - - [shorthand border-bottom can be set with setProperty] - expected: FAIL - - [shorthand border-left can be set with setProperty] - expected: FAIL - - [shorthand border can be set with setProperty] - expected: FAIL - - [shorthand list-style can be set with setProperty] - expected: FAIL - - [shorthand outline can be set with setProperty] - expected: FAIL - - [shorthand background can be set with setProperty] - expected: FAIL - - [shorthand overflow can be set with setProperty] - expected: FAIL - - [shorthand border-radius can be set with setProperty] - expected: FAIL - diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 5606390b636..b5a1aadce9e 100644 --- a/tests/wpt/metadata/MANIFEST.json +++ b/tests/wpt/metadata/MANIFEST.json @@ -19306,6 +19306,10 @@ "url": "/html/semantics/embedded-content/the-img-element/invalid-src.html" }, { + "path": "html/semantics/embedded-content/the-img-element/nonexistent-image.html", + "url": "/html/semantics/embedded-content/the-img-element/nonexistent-image.html" + }, + { "path": "html/semantics/embedded-content/the-img-element/relevant-mutations.html", "url": "/html/semantics/embedded-content/the-img-element/relevant-mutations.html" }, diff --git a/tests/wpt/metadata/fetch/api/request/request-headers.html.ini b/tests/wpt/metadata/fetch/api/request/request-headers.html.ini index b63c0f7c6d3..199c41344cf 100644 --- a/tests/wpt/metadata/fetch/api/request/request-headers.html.ini +++ b/tests/wpt/metadata/fetch/api/request/request-headers.html.ini @@ -1,23 +1,5 @@ [request-headers.html] type: testharness - [Adding valid no-cors request header "content-type: application/x-www-form-urlencoded"] - expected: FAIL - - [Adding valid no-cors request header "content-type: application/x-www-form-urlencoded;charset=UTF-8"] - expected: FAIL - - [Adding valid no-cors request header "content-type: multipart/form-data"] - expected: FAIL - - [Adding valid no-cors request header "content-type: multipart/form-data;charset=UTF-8"] - expected: FAIL - - [Adding valid no-cors request header "content-TYPE: text/plain"] - expected: FAIL - - [Adding valid no-cors request header "CONTENT-type: text/plain;charset=UTF-8"] - expected: FAIL - [Request should get its content-type from the body if none is provided] expected: FAIL diff --git a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-svg-image.html.ini b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-svg-image.html.ini index a609b60a64b..c91eba5318b 100644 --- a/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-svg-image.html.ini +++ b/tests/wpt/metadata/webgl/conformance-1.0.3/conformance/textures/tex-image-and-sub-image-2d-with-svg-image.html.ini @@ -1,5 +1,6 @@ [tex-image-and-sub-image-2d-with-svg-image.html] type: testharness + expected: TIMEOUT [WebGL test #0: at (4, 4) expected: 0,255,0 was 0,0,0] expected: FAIL diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index 84e624262c3..0546548d847 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -2616,6 +2616,18 @@ "url": "/_mozilla/css/inline_element_border_a.html" } ], + "css/inline_element_padding_margin.html": [ + { + "path": "css/inline_element_padding_margin.html", + "references": [ + [ + "/_mozilla/css/inline_element_padding_margin_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/inline_element_padding_margin.html" + } + ], "css/inline_font_size_zero_a.html": [ { "path": "css/inline_font_size_zero_a.html", @@ -3552,6 +3564,30 @@ "url": "/_mozilla/css/mix_blend_mode_a.html" } ], + "css/multiple_backgrounds.html": [ + { + "path": "css/multiple_backgrounds.html", + "references": [ + [ + "/_mozilla/css/multiple_backgrounds_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/multiple_backgrounds.html" + } + ], + "css/multiple_backgrounds_ref.html": [ + { + "path": "css/multiple_backgrounds_ref.html", + "references": [ + [ + "/_mozilla/css/multiple_backgrounds_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/multiple_backgrounds_ref.html" + } + ], "css/multiple_css_class_a.html": [ { "path": "css/multiple_css_class_a.html", @@ -11872,6 +11908,18 @@ "url": "/_mozilla/css/inline_element_border_a.html" } ], + "css/inline_element_padding_margin.html": [ + { + "path": "css/inline_element_padding_margin.html", + "references": [ + [ + "/_mozilla/css/inline_element_padding_margin_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/inline_element_padding_margin.html" + } + ], "css/inline_font_size_zero_a.html": [ { "path": "css/inline_font_size_zero_a.html", @@ -12808,6 +12856,30 @@ "url": "/_mozilla/css/mix_blend_mode_a.html" } ], + "css/multiple_backgrounds.html": [ + { + "path": "css/multiple_backgrounds.html", + "references": [ + [ + "/_mozilla/css/multiple_backgrounds_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/multiple_backgrounds.html" + } + ], + "css/multiple_backgrounds_ref.html": [ + { + "path": "css/multiple_backgrounds_ref.html", + "references": [ + [ + "/_mozilla/css/multiple_backgrounds_ref.html", + "==" + ] + ], + "url": "/_mozilla/css/multiple_backgrounds_ref.html" + } + ], "css/multiple_css_class_a.html": [ { "path": "css/multiple_css_class_a.html", diff --git a/tests/wpt/mozilla/tests/css/bubbles.png b/tests/wpt/mozilla/tests/css/bubbles.png Binary files differnew file mode 100644 index 00000000000..dbd4db86005 --- /dev/null +++ b/tests/wpt/mozilla/tests/css/bubbles.png diff --git a/tests/wpt/mozilla/tests/css/inline_element_padding_margin.html b/tests/wpt/mozilla/tests/css/inline_element_padding_margin.html new file mode 100644 index 00000000000..014a76299b2 --- /dev/null +++ b/tests/wpt/mozilla/tests/css/inline_element_padding_margin.html @@ -0,0 +1,21 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <title>Border, padding and margin properties' top and bottom values of inline elements shouldn't affect element's height</title> + <link rel="match" href="inline_element_padding_margin_ref.html"> + <style> + a { + border-top: 20px solid transparent; + border-bottom: 20px solid transparent; + padding: 20px 0; + margin: 20px 0; + } + </style> +</head> +<body> + <a href="#">foo</a> + <br> + bar +</body> +</html> diff --git a/tests/wpt/mozilla/tests/css/inline_element_padding_margin_ref.html b/tests/wpt/mozilla/tests/css/inline_element_padding_margin_ref.html new file mode 100644 index 00000000000..1b37ddc8575 --- /dev/null +++ b/tests/wpt/mozilla/tests/css/inline_element_padding_margin_ref.html @@ -0,0 +1,12 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <title>Border, padding and margin properties' top and bottom values of inline elements shouldn't affect element's height</title> +</head> +<body> + <a href="#">foo</a> + <br> + bar +</body> +</html> diff --git a/tests/wpt/mozilla/tests/css/multiple_backgrounds.html b/tests/wpt/mozilla/tests/css/multiple_backgrounds.html new file mode 100644 index 00000000000..29922d60454 --- /dev/null +++ b/tests/wpt/mozilla/tests/css/multiple_backgrounds.html @@ -0,0 +1,31 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <title></title> + <link rel="match" href="multiple_backgrounds_ref.html"> + <style type="text/css"> + /* Example from + https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Background_and_Borders/Using_CSS_multiple_backgrounds + (Public domain) + + bubbles.png is from the above MDN page, by Mozilla contributors, + licensed under CC-BY-SA 2.5 + + Rust logo from https://www.rust-lang.org/logos/rust-logo-256x256.png, + licensed as CC-BY-SA 4.0, owned by Mozilla + */ + #multibg { + width: 700px; + height: 400px; + background: url(rust-logo-256x256.png) no-repeat bottom right / 256px 256px, + url(bubbles.png) no-repeat left / 700px 100%, + linear-gradient(to right, rgba(30, 75, 115, 1), rgba(255, 255, 255, 0)) no-repeat; + } + </style> +</head> +<body> + <div id="multibg"> + </div> +</body> +</html> diff --git a/tests/wpt/mozilla/tests/css/multiple_backgrounds_ref.html b/tests/wpt/mozilla/tests/css/multiple_backgrounds_ref.html new file mode 100644 index 00000000000..d3af6fe5881 --- /dev/null +++ b/tests/wpt/mozilla/tests/css/multiple_backgrounds_ref.html @@ -0,0 +1,47 @@ +<!doctype html> +<html> +<head> + <meta charset="utf-8"> + <title></title> + <link rel="match" href="multiple_backgrounds_ref.html"> + <style type="text/css"> + /* Example from + https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Background_and_Borders/Using_CSS_multiple_backgrounds + (Public domain) + + bubbles.png is from the above MDN page, by Mozilla contributors, + licensed under CC-BY-SA 2.5 + + Rust logo from https://www.rust-lang.org/logos/rust-logo-256x256.png, + licensed as CC-BY-SA 4.0, owned by Mozilla + */ + #gradientbg { + width: 700px; + height: 400px; + background: linear-gradient(to right, rgba(30, 75, 115, 1), rgba(255, 255, 255, 0)) no-repeat; + } + #bubblesbg { + width: 100%; + height: 100%; + background: url(bubbles.png) no-repeat left / 700px 100%; + position: relative; + } + #rustbg { + width: 256px; + height: 256px; + background: url(rust-logo-256x256.png) no-repeat left / 256px 256px; + position: absolute; + bottom: 0; + right: 0; + } + </style> +</head> +<body> + <div id="gradientbg"> + <div id="bubblesbg"> + <div id="rustbg"> + </div> + </div> + </div> +</body> +</html> diff --git a/tests/wpt/mozilla/tests/css/rust-logo-256x256.png b/tests/wpt/mozilla/tests/css/rust-logo-256x256.png Binary files differnew file mode 100644 index 00000000000..63506dd85ef --- /dev/null +++ b/tests/wpt/mozilla/tests/css/rust-logo-256x256.png diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.html new file mode 100644 index 00000000000..f58569ede0f --- /dev/null +++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.html @@ -0,0 +1,21 @@ +<!DOCTYPE HTML> +<meta charset="utf-8"> +<title>Loading an nonexisting image should fail; triggering appropriate events</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<img> + +<script> + async_test(function(t) { + var img = document.querySelector("img"); + img.onload = this.step_func_done(function() { + assert_unreached("image.onload() was not supposed to be called"); + }); + img.onerror = this.step_func_done(function(e) { + assert_equals(e.type, "error", "image.onerror() called"); + t.done(); + }); + img.src = "404"; + }); +</script> |