Bug 1343089 - Remove unnecessary crate dependencies from webrender_bindings. r=rhunt
authorKartikaya Gupta <kgupta@mozilla.com>
Tue, 28 Feb 2017 09:08:58 -0500
changeset 374813 950a074545c090460d1a2a88f24d36531421733c
parent 374812 ff0cdb8597366c181aa47fabbafbcf2086c9bc47
child 374814 95480a61674b3bb87b358d09c81e1f2f06d57545
push id10863
push userjlorenzo@mozilla.com
push dateMon, 06 Mar 2017 23:02:23 +0000
treeherdermozilla-aurora@0931190cd725 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrhunt
bugs1343089
milestone54.0a1
Bug 1343089 - Remove unnecessary crate dependencies from webrender_bindings. r=rhunt
gfx/webrender_bindings/Cargo.toml
gfx/webrender_bindings/src/lib.rs
third_party/rust/core-foundation-0.2.3/.cargo-checksum.json
third_party/rust/core-foundation-0.2.3/.cargo-ok
third_party/rust/core-foundation-0.2.3/Cargo.toml
third_party/rust/core-foundation-0.2.3/src/array.rs
third_party/rust/core-foundation-0.2.3/src/base.rs
third_party/rust/core-foundation-0.2.3/src/boolean.rs
third_party/rust/core-foundation-0.2.3/src/bundle.rs
third_party/rust/core-foundation-0.2.3/src/data.rs
third_party/rust/core-foundation-0.2.3/src/dictionary.rs
third_party/rust/core-foundation-0.2.3/src/error.rs
third_party/rust/core-foundation-0.2.3/src/lib.rs
third_party/rust/core-foundation-0.2.3/src/number.rs
third_party/rust/core-foundation-0.2.3/src/propertylist.rs
third_party/rust/core-foundation-0.2.3/src/runloop.rs
third_party/rust/core-foundation-0.2.3/src/set.rs
third_party/rust/core-foundation-0.2.3/src/string.rs
third_party/rust/core-foundation-0.2.3/src/url.rs
third_party/rust/core-foundation-sys-0.2.3/.cargo-checksum.json
third_party/rust/core-foundation-sys-0.2.3/.cargo-ok
third_party/rust/core-foundation-sys-0.2.3/Cargo.toml
third_party/rust/core-foundation-sys-0.2.3/build.rs
third_party/rust/core-foundation-sys-0.2.3/src/array.rs
third_party/rust/core-foundation-sys-0.2.3/src/base.rs
third_party/rust/core-foundation-sys-0.2.3/src/bundle.rs
third_party/rust/core-foundation-sys-0.2.3/src/data.rs
third_party/rust/core-foundation-sys-0.2.3/src/date.rs
third_party/rust/core-foundation-sys-0.2.3/src/dictionary.rs
third_party/rust/core-foundation-sys-0.2.3/src/error.rs
third_party/rust/core-foundation-sys-0.2.3/src/lib.rs
third_party/rust/core-foundation-sys-0.2.3/src/messageport.rs
third_party/rust/core-foundation-sys-0.2.3/src/number.rs
third_party/rust/core-foundation-sys-0.2.3/src/propertylist.rs
third_party/rust/core-foundation-sys-0.2.3/src/runloop.rs
third_party/rust/core-foundation-sys-0.2.3/src/set.rs
third_party/rust/core-foundation-sys-0.2.3/src/string.rs
third_party/rust/core-foundation-sys-0.2.3/src/url.rs
toolkit/library/gtest/rust/Cargo.lock
toolkit/library/rust/Cargo.lock
--- a/gfx/webrender_bindings/Cargo.toml
+++ b/gfx/webrender_bindings/Cargo.toml
@@ -4,22 +4,14 @@ version = "0.1.0"
 authors = ["The Mozilla Project Developers"]
 license = "MPL-2.0"
 
 [dependencies]
 webrender_traits = {path = "../webrender_traits", version = "0.20.0"}
 euclid = "0.11"
 app_units = "0.4"
 gleam = "0.2"
-fnv="1.0"
 
 [dependencies.webrender]
 path = "../webrender"
 version = "0.19.0"
 default-features = false
 features = ["codegen"]
-
-[target.'cfg(target_os = "macos")'.dependencies]
-core-foundation = "0.2.2"
-
-[target.'cfg(target_os = "windows")'.dependencies]
-kernel32-sys = "0.2"
-winapi = "0.2.8"
--- a/gfx/webrender_bindings/src/lib.rs
+++ b/gfx/webrender_bindings/src/lib.rs
@@ -2,20 +2,11 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 extern crate webrender;
 extern crate webrender_traits;
 extern crate euclid;
 extern crate app_units;
 extern crate gleam;
-extern crate fnv;
-
-#[cfg(target_os="macos")]
-extern crate core_foundation;
-
-#[cfg(target_os="windows")]
-extern crate kernel32;
-#[cfg(target_os="windows")]
-extern crate winapi;
 
 #[allow(non_snake_case)]
 pub mod bindings;
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/.cargo-checksum.json
+++ /dev/null
@@ -1,1 +0,0 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"35ac94f7615ebe24f1285927f03712dde336117e666cfa7cf595d0524bc47b8d","src/array.rs":"ceeb3298fb939ead81914a0e6a555098e59f97c47e62adb625273bde2bb299a4","src/base.rs":"540c85a6600503e2bdf34087e7e921615b094f7493099c7e319c76f34ab97a02","src/boolean.rs":"112adb640ded232cba59eb27edafcf4a3c045cca6f4b0ecb53bb48b741c2139a","src/bundle.rs":"bd172a5e0cc1dffc80edf17da59b90120d0a110181f50f212589b0334fcba72c","src/data.rs":"fc44b08e644b66ae471bb7c8141ec6be7cf5f35eb985dbca5924668a67f0efe5","src/dictionary.rs":"0f3129629db02ea233d08fd937e8290c40f401d644f6a8afc13717094a767559","src/error.rs":"0edbf66bcaa8a68f1de77b9056696b6be4f2dc773f4561f4279e6494cc38453a","src/lib.rs":"71ee7a83a7012138b5a86897f5617d2742c668ccc69664a8c5b4cf080486ddd8","src/number.rs":"262db248c88ac08a3d28d0940ef25fe796fd4ebcf1eeea7bb8a6caa3abdc97f9","src/propertylist.rs":"ec814aa190bc6cf8c2bb3f2d5c65e1a706a770701c8589d29fc01bddad6a11c6","src/runloop.rs":"10e35be9104db16c064dfcb3454a71d00c498fda6145eba53f6e43cb37ee9c15","src/set.rs":"f98fbd31b107f27680727676ab7a3725d6b4370f428e58759ca680eb339a5ea3","src/string.rs":"ec5420a3916e5ebd2cc487ffc605d8fe8de7d09cae8c9fecbf20aa21595f4bee","src/url.rs":"2bdc580d8fa4556c9466923aeccc845257fee9fb5e960b8ff84d6bfead994335"},"package":"25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67"}
\ No newline at end of file
deleted file mode 100644
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/Cargo.toml
+++ /dev/null
@@ -1,15 +0,0 @@
-[package]
-name = "core-foundation"
-description = "Bindings to Core Foundation for OS X"
-homepage = "https://github.com/servo/core-foundation-rs"
-repository = "https://github.com/servo/core-foundation-rs"
-version = "0.2.3"
-authors = ["The Servo Project Developers"]
-license = "MIT / Apache-2.0"
-
-[dependencies.core-foundation-sys]
-path = "../core-foundation-sys"
-version = "0.2.3"
-
-[dependencies]
-libc = "0.2"
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/array.rs
+++ /dev/null
@@ -1,160 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! Heterogeneous immutable arrays.
-
-pub use core_foundation_sys::array::*;
-pub use core_foundation_sys::base::{CFIndex, CFRelease};
-use core_foundation_sys::base::{CFTypeRef, kCFAllocatorDefault};
-use libc::c_void;
-use std::mem;
-
-use base::{CFIndexConvertible, TCFType, CFRange};
-
-/// A heterogeneous immutable array.
-pub struct CFArray(CFArrayRef);
-
-impl Drop for CFArray {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-pub struct CFArrayIterator<'a> {
-    array: &'a CFArray,
-    index: CFIndex,
-}
-
-impl<'a> Iterator for CFArrayIterator<'a> {
-    type Item = *const c_void;
-
-    fn next(&mut self) -> Option<*const c_void> {
-        if self.index >= self.array.len() {
-            None
-        } else {
-            let value = self.array.get(self.index);
-            self.index += 1;
-            Some(value)
-        }
-    }
-}
-
-impl_TCFType!(CFArray, CFArrayRef, CFArrayGetTypeID);
-
-impl CFArray {
-    /// Creates a new `CFArray` with the given elements, which must be `CFType` objects.
-    pub fn from_CFTypes<R, T>(elems: &[T]) -> CFArray where T: TCFType<R> {
-        unsafe {
-            let elems: Vec<CFTypeRef> = elems.iter().map(|elem| elem.as_CFTypeRef()).collect();
-            let array_ref = CFArrayCreate(kCFAllocatorDefault,
-                                          mem::transmute(elems.as_ptr()),
-                                          elems.len().to_CFIndex(),
-                                          &kCFTypeArrayCallBacks);
-            TCFType::wrap_under_create_rule(array_ref)
-        }
-    }
-
-    /// Iterates over the elements of this `CFArray`.
-    ///
-    /// Careful; the loop body must wrap the reference properly. Generally, when array elements are
-    /// Core Foundation objects (not always true), they need to be wrapped with
-    /// `TCFType::wrap_under_get_rule()`.
-    #[inline]
-    pub fn iter<'a>(&'a self) -> CFArrayIterator<'a> {
-        CFArrayIterator {
-            array: self,
-            index: 0
-        }
-    }
-
-    #[inline]
-    pub fn len(&self) -> CFIndex {
-        unsafe {
-            CFArrayGetCount(self.0)
-        }
-    }
-
-    #[inline]
-    pub fn get(&self, index: CFIndex) -> *const c_void {
-        assert!(index < self.len());
-        unsafe {
-            CFArrayGetValueAtIndex(self.0, index)
-        }
-    }
-
-    pub fn get_values(&self, range: CFRange) -> Vec<*const c_void> {
-        let mut vec = Vec::with_capacity(range.length as usize);
-        unsafe {
-            CFArrayGetValues(self.0, range, vec.as_mut_ptr());
-            vec.set_len(range.length as usize);
-            vec
-        }
-    }
-
-    pub fn get_all_values(&self) -> Vec<*const c_void> {
-        self.get_values(CFRange {
-            location: 0,
-            length: self.len()
-        })
-    }
-}
-
-impl<'a> IntoIterator for &'a CFArray {
-    type Item = *const c_void;
-    type IntoIter = CFArrayIterator<'a>;
-
-    fn into_iter(self) -> CFArrayIterator<'a> {
-        self.iter()
-    }
-}
-
-#[test]
-fn should_box_and_unbox() {
-    use number::{CFNumber, number};
-
-    let n1 = number(1);
-    let n2 = number(2);
-    let n3 = number(3);
-    let n4 = number(4);
-    let n5 = number(5);
-
-    let arr = CFArray::from_CFTypes(&[
-        n1.as_CFType(),
-        n2.as_CFType(),
-        n3.as_CFType(),
-        n4.as_CFType(),
-        n5.as_CFType(),
-    ]);
-
-    assert!(arr.get_all_values() == &[n1.as_CFTypeRef(),
-                                      n2.as_CFTypeRef(),
-                                      n3.as_CFTypeRef(),
-                                      n4.as_CFTypeRef(),
-                                      n5.as_CFTypeRef()]);
-
-    unsafe {
-        let mut sum = 0;
-
-        for elem in arr.iter() {
-            let number: CFNumber = TCFType::wrap_under_get_rule(mem::transmute(elem));
-            sum += number.to_i64().unwrap()
-        }
-
-        assert!(sum == 15);
-
-        for elem in arr.iter() {
-            let number: CFNumber = TCFType::wrap_under_get_rule(mem::transmute(elem));
-            sum += number.to_i64().unwrap()
-        }
-
-        assert!(sum == 30);
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/base.rs
+++ /dev/null
@@ -1,142 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub use core_foundation_sys::base::*;
-
-pub trait CFIndexConvertible {
-    /// Always use this method to construct a `CFIndex` value. It performs bounds checking to
-    /// ensure the value is in range.
-    fn to_CFIndex(self) -> CFIndex;
-}
-
-impl CFIndexConvertible for usize {
-    #[inline]
-    fn to_CFIndex(self) -> CFIndex {
-        let max_CFIndex = CFIndex::max_value();
-        if self > (max_CFIndex as usize) {
-            panic!("value out of range")
-        }
-        self as CFIndex
-    }
-}
-
-/// Superclass of all Core Foundation objects.
-pub struct CFType(CFTypeRef);
-
-impl Clone for CFType {
-    #[inline]
-    fn clone(&self) -> CFType {
-        unsafe {
-            TCFType::wrap_under_get_rule(self.0)
-        }
-    }
-}
-
-impl Drop for CFType {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.0)
-        }
-    }
-}
-
-/// All Core Foundation types implement this trait. The type parameter `TypeRef` specifies the
-/// associated Core Foundation type: e.g. for `CFType` this is `CFTypeRef`; for `CFArray` this is
-/// `CFArrayRef`.
-pub trait TCFType<ConcreteTypeRef> {
-    /// Returns the object as its concrete TypeRef.
-    fn as_concrete_TypeRef(&self) -> ConcreteTypeRef;
-
-    /// Returns an instance of the object, wrapping the underlying `CFTypeRef` subclass. Use this
-    /// when following Core Foundation's "Create Rule". The reference count is *not* bumped.
-    unsafe fn wrap_under_create_rule(obj: ConcreteTypeRef) -> Self;
-
-    /// Returns the type ID for this class.
-    fn type_id() -> CFTypeID;
-
-    /// Returns the object as a wrapped `CFType`. The reference count is incremented by one.
-    #[inline]
-    fn as_CFType(&self) -> CFType {
-        unsafe {
-            TCFType::wrap_under_get_rule(self.as_CFTypeRef())
-        }
-    }
-
-    /// Returns the object as a raw `CFTypeRef`. The reference count is not adjusted.
-    fn as_CFTypeRef(&self) -> CFTypeRef;
-
-    /// Returns an instance of the object, wrapping the underlying `CFTypeRef` subclass. Use this
-    /// when following Core Foundation's "Get Rule". The reference count *is* bumped.
-    unsafe fn wrap_under_get_rule(reference: ConcreteTypeRef) -> Self;
-
-    /// Returns the reference count of the object. It is unwise to do anything other than test
-    /// whether the return value of this method is greater than zero.
-    #[inline]
-    fn retain_count(&self) -> CFIndex {
-        unsafe {
-            CFGetRetainCount(self.as_CFTypeRef())
-        }
-    }
-
-    /// Returns the type ID of this object.
-    #[inline]
-    fn type_of(&self) -> CFTypeID {
-        unsafe {
-            CFGetTypeID(self.as_CFTypeRef())
-        }
-    }
-
-    /// Writes a debugging version of this object on standard error.
-    fn show(&self) {
-        unsafe {
-            CFShow(self.as_CFTypeRef())
-        }
-    }
-
-    /// Returns true if this value is an instance of another type.
-    #[inline]
-    fn instance_of<OtherConcreteTypeRef,OtherCFType:TCFType<OtherConcreteTypeRef>>(&self) -> bool {
-        self.type_of() == <OtherCFType as TCFType<_>>::type_id()
-    }
-}
-
-impl TCFType<CFTypeRef> for CFType {
-    #[inline]
-    fn as_concrete_TypeRef(&self) -> CFTypeRef {
-        self.0
-    }
-
-    #[inline]
-    unsafe fn wrap_under_get_rule(reference: CFTypeRef) -> CFType {
-        let reference: CFTypeRef = CFRetain(reference);
-        TCFType::wrap_under_create_rule(reference)
-    }
-
-    #[inline]
-    fn as_CFTypeRef(&self) -> CFTypeRef {
-        self.as_concrete_TypeRef()
-    }
-
-    #[inline]
-    unsafe fn wrap_under_create_rule(obj: CFTypeRef) -> CFType {
-        CFType(obj)
-    }
-
-    #[inline]
-    fn type_id() -> CFTypeID {
-        // FIXME(pcwalton): Is this right?
-        0
-    }
-
-    #[inline]
-    fn instance_of<OtherConcreteTypeRef,OtherCFType:TCFType<OtherConcreteTypeRef>>(&self) -> bool {
-        // Since this is the root of the type hierarchy, we always answer yes.
-        true
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/boolean.rs
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! A Boolean type.
-
-use core_foundation_sys::base::{CFRelease};
-pub use core_foundation_sys::number::{CFBooleanRef, CFBooleanGetTypeID, kCFBooleanTrue, kCFBooleanFalse};
-
-use base::TCFType;
-
-/// A Boolean type.
-///
-/// FIXME(pcwalton): Should be a newtype struct, but that fails due to a Rust compiler bug.
-pub struct CFBoolean(CFBooleanRef);
-
-impl Drop for CFBoolean {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFBoolean, CFBooleanRef, CFBooleanGetTypeID);
-
-impl CFBoolean {
-    pub fn true_value() -> CFBoolean {
-        unsafe {
-            TCFType::wrap_under_get_rule(kCFBooleanTrue)
-        }
-    }
-
-    pub fn false_value() -> CFBoolean {
-        unsafe {
-            TCFType::wrap_under_get_rule(kCFBooleanFalse)
-        }
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/bundle.rs
+++ /dev/null
@@ -1,46 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! Core Foundation Bundle Type
-
-pub use core_foundation_sys::bundle::*;
-use core_foundation_sys::base::CFRelease;
-
-use base::{TCFType};
-use dictionary::CFDictionary;
-
-/// A Bundle type.
-pub struct CFBundle(CFBundleRef);
-
-impl Drop for CFBundle {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl CFBundle {
-    pub fn main_bundle() -> CFBundle {
-        unsafe {
-            let bundle_ref = CFBundleGetMainBundle();
-            TCFType::wrap_under_get_rule(bundle_ref)
-        }
-    }
-
-    pub fn info_dictionary(&self) -> CFDictionary {
-        unsafe {
-            let info_dictionary = CFBundleGetInfoDictionary(self.0);
-            TCFType::wrap_under_get_rule(info_dictionary)
-        }
-    }
-}
-
-impl_TCFType!(CFBundle, CFBundleRef, CFBundleGetTypeID);
-
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/data.rs
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! Core Foundation byte buffers.
-
-pub use core_foundation_sys::data::*;
-use core_foundation_sys::base::{CFIndex, CFRelease};
-use core_foundation_sys::base::{kCFAllocatorDefault};
-use std::ops::Deref;
-use std::slice;
-
-use base::{CFIndexConvertible, TCFType};
-
-/// A byte buffer.
-pub struct CFData(CFDataRef);
-
-impl Drop for CFData {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFData, CFDataRef, CFDataGetTypeID);
-
-impl CFData {
-    pub fn from_buffer(buffer: &[u8]) -> CFData {
-        unsafe {
-            let data_ref = CFDataCreate(kCFAllocatorDefault,
-                                        buffer.as_ptr(),
-                                        buffer.len().to_CFIndex());
-            TCFType::wrap_under_create_rule(data_ref)
-        }
-    }
-
-    /// Returns a pointer to the underlying bytes in this data. Note that this byte buffer is
-    /// read-only.
-    #[inline]
-    pub fn bytes<'a>(&'a self) -> &'a [u8] {
-        unsafe {
-            slice::from_raw_parts(CFDataGetBytePtr(self.0), self.len() as usize)
-        }
-    }
-
-    /// Returns the length of this byte buffer.
-    #[inline]
-    pub fn len(&self) -> CFIndex {
-        unsafe {
-            CFDataGetLength(self.0)
-        }
-    }
-}
-
-impl Deref for CFData {
-    type Target = [u8];
-
-    #[inline]
-    fn deref(&self) -> &[u8] {
-        self.bytes()
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/dictionary.rs
+++ /dev/null
@@ -1,118 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! Dictionaries of key-value pairs.
-
-pub use core_foundation_sys::dictionary::*;
-use core_foundation_sys::base::CFRelease;
-use core_foundation_sys::base::{CFTypeRef, kCFAllocatorDefault};
-use libc::c_void;
-use std::mem;
-use std::ptr;
-
-use base::{CFType, CFIndexConvertible, TCFType};
-
-/// An immutable dictionary of key-value pairs.
-pub struct CFDictionary(CFDictionaryRef);
-
-impl Drop for CFDictionary {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFDictionary, CFDictionaryRef, CFDictionaryGetTypeID);
-
-impl CFDictionary {
-    pub fn from_CFType_pairs<R1, R2, K, V>(pairs: &[(K, V)]) -> CFDictionary
-            where K: TCFType<R1>, V: TCFType<R2> {
-        let (keys, values): (Vec<CFTypeRef>,Vec<CFTypeRef>) =
-            pairs.iter()
-            .map(|&(ref key, ref value)| (key.as_CFTypeRef(), value.as_CFTypeRef()))
-            .unzip();
-
-        unsafe {
-            let dictionary_ref = CFDictionaryCreate(kCFAllocatorDefault,
-                                                    mem::transmute(keys.as_ptr()),
-                                                    mem::transmute(values.as_ptr()),
-                                                    keys.len().to_CFIndex(),
-                                                    &kCFTypeDictionaryKeyCallBacks,
-                                                    &kCFTypeDictionaryValueCallBacks);
-            TCFType::wrap_under_create_rule(dictionary_ref)
-        }
-    }
-
-    #[inline]
-    pub fn len(&self) -> usize {
-        unsafe {
-            CFDictionaryGetCount(self.0) as usize
-        }
-    }
-
-    #[inline]
-    pub fn is_empty(&self) -> bool {
-        self.len() == 0
-    }
-
-    #[inline]
-    pub fn contains_key(&self, key: *const c_void) -> bool {
-        unsafe {
-            CFDictionaryContainsKey(self.0, key) != 0
-        }
-    }
-
-    #[inline]
-    pub fn find(&self, key: *const c_void) -> Option<*const c_void> {
-        unsafe {
-            let mut value: *const c_void = ptr::null();
-            if CFDictionaryGetValueIfPresent(self.0, key, &mut value) != 0 {
-                Some(value)
-            } else {
-                None
-            }
-        }
-    }
-
-    #[inline]
-    pub fn get(&self, key: *const c_void) -> *const c_void {
-        let value = self.find(key);
-        if value.is_none() {
-            panic!("No entry found for key {:p}", key);
-        }
-        value.unwrap()
-    }
-
-    /// A convenience function to retrieve `CFType` instances.
-    #[inline]
-    pub unsafe fn get_CFType(&self, key: *const c_void) -> CFType {
-        let value: CFTypeRef = mem::transmute(self.get(key));
-        TCFType::wrap_under_get_rule(value)
-    }
-
-    #[inline]
-    pub unsafe fn set_value(&self, key: *const c_void, value: *const c_void) {
-        CFDictionarySetValue(self.0, key, value)
-    }
-
-    pub fn get_keys_and_values(&self) -> (Vec<*const c_void>, Vec<*const c_void>) {
-        let length = self.len();
-        let mut keys = Vec::with_capacity(length);
-        let mut values = Vec::with_capacity(length);
-
-        unsafe {
-            CFDictionaryGetKeysAndValues(self.0, keys.as_mut_ptr(), values.as_mut_ptr());
-            keys.set_len(length);
-            values.set_len(length);
-        }
-
-        (keys, values)
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/error.rs
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2016 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! Core Foundation errors.
-
-use core_foundation_sys::error::*;
-use core_foundation_sys::base::CFRelease;
-use std::error::Error;
-use std::fmt;
-
-use base::{CFIndex, TCFType};
-use string::CFString;
-
-/// An error value.
-pub struct CFError(CFErrorRef);
-
-impl Drop for CFError {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFError, CFErrorRef, CFErrorGetTypeID);
-
-impl fmt::Debug for CFError {
-    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
-        fmt.debug_struct("CFError")
-           .field("domain", &self.domain())
-           .field("code", &self.code())
-           .field("description", &self.description())
-           .finish()
-    }
-}
-
-impl fmt::Display for CFError {
-    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
-        write!(fmt, "{}", self.description())
-    }
-}
-
-impl Error for CFError {
-    fn description(&self) -> &str {
-        "a Core Foundation error"
-    }
-}
-
-impl CFError {
-    /// Returns a string identifying the domain with which this error is
-    /// associated.
-    pub fn domain(&self) -> CFString {
-        unsafe {
-            let s = CFErrorGetDomain(self.0);
-            CFString::wrap_under_get_rule(s)
-        }
-    }
-
-    /// Returns the code identifying this type of error.
-    pub fn code(&self) -> CFIndex {
-        unsafe { CFErrorGetCode(self.0) }
-    }
-
-    /// Returns a human-presentable description of the error.
-    pub fn description(&self) -> CFString {
-        unsafe {
-            let s = CFErrorCopyDescription(self.0);
-            CFString::wrap_under_create_rule(s)
-        }
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/lib.rs
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-#![allow(non_snake_case)]
-
-extern crate core_foundation_sys;
-extern crate libc;
-
-#[macro_export]
-macro_rules! impl_TCFType {
-    ($ty:ident, $raw:ident, $ty_id:ident) => {
-        impl $crate::base::TCFType<$raw> for $ty {
-            #[inline]
-            fn as_concrete_TypeRef(&self) -> $raw {
-                self.0
-            }
-
-            #[inline]
-            unsafe fn wrap_under_get_rule(reference: $raw) -> $ty {
-                let reference = ::std::mem::transmute(::core_foundation_sys::base::CFRetain(::std::mem::transmute(reference)));
-                $crate::base::TCFType::wrap_under_create_rule(reference)
-            }
-
-            #[inline]
-            fn as_CFTypeRef(&self) -> ::core_foundation_sys::base::CFTypeRef {
-                unsafe {
-                    ::std::mem::transmute(self.as_concrete_TypeRef())
-                }
-            }
-
-            #[inline]
-            unsafe fn wrap_under_create_rule(obj: $raw) -> $ty {
-                $ty(obj)
-            }
-
-            #[inline]
-            fn type_id() -> ::core_foundation_sys::base::CFTypeID {
-                unsafe {
-                    $ty_id()
-                }
-            }
-        }
-    }
-}
-
-pub mod array;
-pub mod base;
-pub mod boolean;
-pub mod data;
-pub use core_foundation_sys::date; // back compat
-pub mod dictionary;
-pub mod error;
-pub mod number;
-pub mod set;
-pub mod string;
-pub mod url;
-pub mod bundle;
-pub mod propertylist;
-pub mod runloop;
-
-#[cfg(test)]
-pub mod test {
-    #[test]
-    fn test_stuff() {
-        use base::TCFType;
-        use boolean::CFBoolean;
-        use number::number;
-        use dictionary::CFDictionary;
-        use string::CFString;
-
-        /*let n = CFNumber::new_number(42 as i32);
-        io::println(format!("%d", (&n).retain_count() as int));
-        (&n).show();*/
-
-        let bar = CFString::from_static_string("Bar");
-        let baz = CFString::from_static_string("Baz");
-        let boo = CFString::from_static_string("Boo");
-        let foo = CFString::from_static_string("Foo");
-        let tru = CFBoolean::true_value();
-        let n42 = number(42);
-
-        let d = CFDictionary::from_CFType_pairs(&[
-            (bar.as_CFType(), boo.as_CFType()),
-            (baz.as_CFType(), tru.as_CFType()),
-            (foo.as_CFType(), n42.as_CFType()),
-        ]);
-
-        let (v1, v2) = d.get_keys_and_values();
-
-        assert!(v1 == &[bar.as_CFTypeRef(), baz.as_CFTypeRef(), foo.as_CFTypeRef()]);
-        assert!(v2 == &[boo.as_CFTypeRef(), tru.as_CFTypeRef(), n42.as_CFTypeRef()]);
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/number.rs
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! Immutable numbers.
-
-use core_foundation_sys::base::{CFRelease, kCFAllocatorDefault};
-pub use core_foundation_sys::number::*;
-use std::mem;
-
-use base::{TCFType};
-
-/// An immutable numeric value.
-pub struct CFNumber(CFNumberRef);
-
-impl Drop for CFNumber {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFNumber, CFNumberRef, CFNumberGetTypeID);
-
-// TODO(pcwalton): Floating point.
-impl CFNumber {
-    #[inline]
-    pub fn from_i32(value: i32) -> CFNumber {
-        unsafe {
-            let number_ref = CFNumberCreate(kCFAllocatorDefault,
-                                            kCFNumberSInt32Type,
-                                            mem::transmute(&value));
-            TCFType::wrap_under_create_rule(number_ref)
-        }
-    }
-
-    #[inline]
-    pub fn to_i64(&self) -> Option<i64> {
-        unsafe {
-            let mut value: i64 = 0;
-            let ok = CFNumberGetValue(self.0, kCFNumberSInt64Type, mem::transmute(&mut value));
-            if ok { Some(value) } else { None }
-        }
-    }
-
-    #[inline]
-    pub fn to_f64(&self) -> Option<f64> {
-        unsafe {
-            let mut value: f64 = 0.0;
-            let ok = CFNumberGetValue(self.0, kCFNumberFloat64Type, mem::transmute(&mut value));
-            if ok { Some(value) } else { None }
-        }
-    }
-
-    #[inline]
-    pub fn from_i64(value: i64) -> CFNumber {
-        unsafe {
-            let number_ref = CFNumberCreate(kCFAllocatorDefault,
-                                            kCFNumberSInt64Type,
-                                            mem::transmute(&value));
-            TCFType::wrap_under_create_rule(number_ref)
-        }
-    }
-
-    #[inline]
-    pub fn from_f64(value: f64) -> CFNumber {
-        unsafe {
-            let number_ref = CFNumberCreate(kCFAllocatorDefault,
-                                            kCFNumberFloat64Type,
-                                            mem::transmute(&value));
-            TCFType::wrap_under_create_rule(number_ref)
-        }
-    }
-}
-
-/// A convenience function to create CFNumbers.
-pub fn number(value: i64) -> CFNumber {
-    CFNumber::from_i64(value)
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/propertylist.rs
+++ /dev/null
@@ -1,87 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! Core Foundation property lists
-
-use std::ptr;
-
-use libc::c_void;
-
-use error::CFError;
-use data::CFData;
-use base::{TCFType};
-
-pub use core_foundation_sys::propertylist::*;
-use core_foundation_sys::error::CFErrorRef;
-use core_foundation_sys::base::{kCFAllocatorDefault};
-
-pub fn create_with_data(data: CFData,
-                        options: CFPropertyListMutabilityOptions)
-                        -> Result<(*const c_void, CFPropertyListFormat), CFError> {
-    unsafe {
-        let mut error: CFErrorRef = ptr::null_mut();
-        let mut format: CFPropertyListFormat = 0;
-        let property_list = CFPropertyListCreateWithData(kCFAllocatorDefault,
-                                                         data.as_concrete_TypeRef(),
-                                                         options,
-                                                         &mut format,
-                                                         &mut error);
-        if property_list.is_null() {
-            Err(TCFType::wrap_under_create_rule(error))
-        } else {
-            Ok((property_list, format))
-        }
-    }
-}
-
-pub fn create_data(property_list: *const c_void, format: CFPropertyListFormat) -> Result<CFData, CFError> {
-    unsafe {
-        let mut error: CFErrorRef = ptr::null_mut();
-        let data_ref = CFPropertyListCreateData(kCFAllocatorDefault,
-                                                property_list,
-                                                format,
-                                                0,
-                                                &mut error);
-        if data_ref.is_null() {
-            Err(TCFType::wrap_under_create_rule(error))
-        } else {
-            Ok(TCFType::wrap_under_create_rule(data_ref))
-        }
-    }
-}
-
-#[cfg(test)]
-pub mod test {
-    #[test]
-    fn test_property_list_serialization() {
-        use base::{TCFType, CFEqual};
-        use boolean::CFBoolean;
-        use number::number;
-        use dictionary::CFDictionary;
-        use string::CFString;
-        use super::*;
-
-        let bar = CFString::from_static_string("Bar");
-        let baz = CFString::from_static_string("Baz");
-        let boo = CFString::from_static_string("Boo");
-        let foo = CFString::from_static_string("Foo");
-        let tru = CFBoolean::true_value();
-        let n42 = number(42);
-
-        let dict1 = CFDictionary::from_CFType_pairs(&[(bar.as_CFType(), boo.as_CFType()),
-                                                      (baz.as_CFType(), tru.as_CFType()),
-                                                      (foo.as_CFType(), n42.as_CFType())]);
-
-        let data = create_data(dict1.as_CFTypeRef(), kCFPropertyListXMLFormat_v1_0).unwrap();
-        let (dict2, _) = create_with_data(data, kCFPropertyListImmutable).unwrap();
-        unsafe {
-            assert!(CFEqual(dict1.as_CFTypeRef(), dict2) == 1);
-        }
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/runloop.rs
+++ /dev/null
@@ -1,140 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#![allow(non_upper_case_globals)]
-
-pub use core_foundation_sys::runloop::*;
-use core_foundation_sys::base::{CFIndex, CFRelease};
-use core_foundation_sys::base::{kCFAllocatorDefault, CFOptionFlags};
-use core_foundation_sys::string::CFStringRef;
-use core_foundation_sys::date::{CFAbsoluteTime, CFTimeInterval};
-
-use base::{TCFType};
-use string::{CFString};
-
-pub struct CFRunLoop(CFRunLoopRef);
-
-impl Drop for CFRunLoop {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFRunLoop, CFRunLoopRef, CFRunLoopGetTypeID);
-
-impl CFRunLoop {
-    pub fn get_current() -> CFRunLoop {
-        unsafe {
-            let run_loop_ref = CFRunLoopGetCurrent();
-            TCFType::wrap_under_get_rule(run_loop_ref)
-        }
-    }
-
-    pub fn get_main() -> CFRunLoop {
-        unsafe {
-            let run_loop_ref = CFRunLoopGetMain();
-            TCFType::wrap_under_get_rule(run_loop_ref)
-        }
-    }
-
-    pub fn run_current() {
-        unsafe {
-            CFRunLoopRun();
-        }
-    }
-
-    pub fn stop(&self) {
-        unsafe {
-            CFRunLoopStop(self.0);
-        }
-    }
-
-    pub fn current_mode(&self) -> Option<String> {
-        unsafe {
-            let string_ref = CFRunLoopCopyCurrentMode(self.0);
-            if string_ref.is_null() {
-                return None;
-            }
-
-            let cf_string: CFString = TCFType::wrap_under_create_rule(string_ref);
-            Some(cf_string.to_string())
-        }
-    }
-
-    pub fn contains_timer(&self, timer: &CFRunLoopTimer, mode: CFStringRef) -> bool {
-        unsafe {
-            CFRunLoopContainsTimer(self.0, timer.0, mode) != 0
-        }
-    }
-
-    pub fn add_timer(&self, timer: &CFRunLoopTimer, mode: CFStringRef) {
-        unsafe {
-            CFRunLoopAddTimer(self.0, timer.0, mode);
-        }
-    }
-
-}
-
-pub struct CFRunLoopTimer(CFRunLoopTimerRef);
-
-impl Drop for CFRunLoopTimer {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFRunLoopTimer, CFRunLoopTimerRef, CFRunLoopTimerGetTypeID);
-
-impl CFRunLoopTimer {
-    pub fn new(fireDate: CFAbsoluteTime, interval: CFTimeInterval, flags: CFOptionFlags, order: CFIndex, callout: CFRunLoopTimerCallBack, context: *mut CFRunLoopTimerContext) -> CFRunLoopTimer {
-        unsafe {
-            let timer_ref = CFRunLoopTimerCreate(kCFAllocatorDefault, fireDate, interval, flags, order, callout, context);
-            TCFType::wrap_under_create_rule(timer_ref)
-        }
-    }
-}
-
-#[cfg(test)]
-mod test {
-    use super::*;
-    use core_foundation_sys::date::{CFAbsoluteTime, CFAbsoluteTimeGetCurrent};
-    use std::mem;
-    use libc::c_void;
-
-    #[test]
-    fn wait_200_milliseconds() {
-        let run_loop = CFRunLoop::get_current();
-        let mut now = unsafe { CFAbsoluteTimeGetCurrent() };
-        let mut context = unsafe { CFRunLoopTimerContext {
-            version: 0,
-            info: mem::transmute(&mut now),
-            retain: mem::zeroed(),
-            release: mem::zeroed(),
-            copyDescription: mem::zeroed(),
-        } };
-
-
-        let run_loop_timer = CFRunLoopTimer::new(now + 0.20f64, 0f64, 0, 0, timer_popped, &mut context);
-        run_loop.add_timer(&run_loop_timer, kCFRunLoopDefaultMode);
-
-        CFRunLoop::run_current();
-    }
-
-    extern "C" fn timer_popped(_timer: CFRunLoopTimerRef, _info: *mut c_void) {
-        let previous_now_ptr: *const CFAbsoluteTime = unsafe { mem::transmute(_info) };
-        let previous_now = unsafe { *previous_now_ptr };
-        let now = unsafe { CFAbsoluteTimeGetCurrent() };
-        assert!(now - previous_now > 0.19 && now - previous_now < 0.21);
-        CFRunLoop::get_current().stop();
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/set.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! An immutable bag of elements.
-
-pub use core_foundation_sys::set::*;
-use core_foundation_sys::base::CFRelease;
-use core_foundation_sys::base::{CFTypeRef, kCFAllocatorDefault};
-
-use base::{CFIndexConvertible, TCFType};
-
-use std::mem;
-
-/// An immutable bag of elements.
-pub struct CFSet(CFSetRef);
-
-impl Drop for CFSet {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFSet, CFSetRef, CFSetGetTypeID);
-
-impl CFSet {
-    /// Creates a new set from a list of `CFType` instances.
-    pub fn from_slice<R, T>(elems: &[T]) -> CFSet where T: TCFType<R> {
-        unsafe {
-            let elems: Vec<CFTypeRef> = elems.iter().map(|elem| elem.as_CFTypeRef()).collect();
-            let set_ref = CFSetCreate(kCFAllocatorDefault,
-                                      mem::transmute(elems.as_ptr()),
-                                      elems.len().to_CFIndex(),
-                                      &kCFTypeSetCallBacks);
-            TCFType::wrap_under_create_rule(set_ref)
-        }
-    }
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/string.rs
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! Immutable strings.
-
-pub use core_foundation_sys::string::*;
-
-use base::{CFIndexConvertible, TCFType};
-
-use core_foundation_sys::base::{Boolean, CFIndex, CFRange, CFRelease};
-use core_foundation_sys::base::{kCFAllocatorDefault, kCFAllocatorNull};
-use std::fmt;
-use std::str::{self, FromStr};
-use std::ptr;
-use std::ffi::CStr;
-
-/// An immutable string in one of a variety of encodings.
-pub struct CFString(CFStringRef);
-
-impl Clone for CFString {
-    #[inline]
-    fn clone(&self) -> CFString {
-        unsafe {
-            TCFType::wrap_under_get_rule(self.0)
-        }
-    }
-}
-
-impl Drop for CFString {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFString, CFStringRef, CFStringGetTypeID);
-
-impl FromStr for CFString {
-    type Err = ();
-
-    /// See also CFString::new for a variant of this which does not return a Result
-    #[inline]
-    fn from_str(string: &str) -> Result<CFString, ()> {
-        Ok(CFString::new(string))
-    }
-}
-
-impl fmt::Display for CFString {
-    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
-        unsafe {
-            // Do this without allocating if we can get away with it
-            let c_string = CFStringGetCStringPtr(self.0, kCFStringEncodingUTF8);
-            if c_string != ptr::null() {
-                let c_str = CStr::from_ptr(c_string);
-                fmt.write_str(str::from_utf8_unchecked(c_str.to_bytes()))
-            } else {
-                let char_len = self.char_len();
-
-                // First, ask how big the buffer ought to be.
-                let mut bytes_required: CFIndex = 0;
-                CFStringGetBytes(self.0,
-                                 CFRange { location: 0, length: char_len },
-                                 kCFStringEncodingUTF8,
-                                 0,
-                                 false as Boolean,
-                                 ptr::null_mut(),
-                                 0,
-                                 &mut bytes_required);
-
-                // Then, allocate the buffer and actually copy.
-                let mut buffer = vec![b'\x00'; bytes_required as usize];
-
-                let mut bytes_used: CFIndex = 0;
-                let chars_written = CFStringGetBytes(self.0,
-                                                     CFRange { location: 0, length: char_len },
-                                                     kCFStringEncodingUTF8,
-                                                     0,
-                                                     false as Boolean,
-                                                     buffer.as_mut_ptr(),
-                                                     buffer.len().to_CFIndex(),
-                                                     &mut bytes_used) as usize;
-                assert!(chars_written.to_CFIndex() == char_len);
-
-                // This is dangerous; we over-allocate and null-terminate the string (during
-                // initialization).
-                assert!(bytes_used == buffer.len().to_CFIndex());
-                fmt.write_str(str::from_utf8_unchecked(&buffer))
-            }
-        }
-    }
-}
-
-impl fmt::Debug for CFString {
-    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-        write!(f, "\"{}\"", self)
-    }
-}
-
-
-impl CFString {
-    /// Creates a new `CFString` instance from a Rust string.
-    #[inline]
-    pub fn new(string: &str) -> CFString {
-        unsafe {
-            let string_ref = CFStringCreateWithBytes(kCFAllocatorDefault,
-                                                     string.as_ptr(),
-                                                     string.len().to_CFIndex(),
-                                                     kCFStringEncodingUTF8,
-                                                     false as Boolean,
-                                                     kCFAllocatorNull);
-            CFString::wrap_under_create_rule(string_ref)
-        }
-    }
-
-    /// Like `CFString::new`, but references a string that can be used as a backing store
-    /// by virtue of being statically allocated.
-    #[inline]
-    pub fn from_static_string(string: &'static str) -> CFString {
-        unsafe {
-            let string_ref = CFStringCreateWithBytesNoCopy(kCFAllocatorDefault,
-                                                           string.as_ptr(),
-                                                           string.len().to_CFIndex(),
-                                                           kCFStringEncodingUTF8,
-                                                           false as Boolean,
-                                                           kCFAllocatorNull);
-            TCFType::wrap_under_create_rule(string_ref)
-        }
-    }
-
-    /// Returns the number of characters in the string.
-    #[inline]
-    pub fn char_len(&self) -> CFIndex {
-        unsafe {
-            CFStringGetLength(self.0)
-        }
-    }
-}
-
-#[test]
-fn string_and_back() {
-    let original = "The quick brown fox jumped over the slow lazy dog.";
-    let cfstr = CFString::from_static_string(original);
-    let converted = cfstr.to_string();
-    assert!(converted == original);
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-0.2.3/src/url.rs
+++ /dev/null
@@ -1,63 +0,0 @@
-// Copyright 2013 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-//! A URL type for Core Foundation.
-
-pub use core_foundation_sys::url::*;
-
-use base::{TCFType};
-use string::{CFString};
-
-use core_foundation_sys::base::{kCFAllocatorDefault, CFRelease};
-use std::fmt;
-
-pub struct CFURL(CFURLRef);
-
-impl Drop for CFURL {
-    fn drop(&mut self) {
-        unsafe {
-            CFRelease(self.as_CFTypeRef())
-        }
-    }
-}
-
-impl_TCFType!(CFURL, CFURLRef, CFURLGetTypeID);
-
-impl fmt::Debug for CFURL {
-    #[inline]
-    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-        unsafe {
-            let string: CFString = TCFType::wrap_under_get_rule(CFURLGetString(self.0));
-            write!(f, "{}", string.to_string())
-        }
-    }
-}
-
-impl CFURL {
-    pub fn from_file_system_path(filePath: CFString, pathStyle: CFURLPathStyle, isDirectory: bool) -> CFURL {
-        unsafe {
-            let url_ref = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, filePath.as_concrete_TypeRef(), pathStyle, isDirectory as u8);
-            TCFType::wrap_under_create_rule(url_ref)
-        }
-    }
-
-    pub fn get_string(&self) -> CFString {
-        unsafe {
-            TCFType::wrap_under_get_rule(CFURLGetString(self.0))
-        }
-    }
-}
-
-#[test]
-fn file_url_from_path() {
-    let path = "/usr/local/foo/";
-    let cfstr_path = CFString::from_static_string(path);
-    let cfurl = CFURL::from_file_system_path(cfstr_path, kCFURLPOSIXPathStyle, true);
-    assert!(cfurl.get_string().to_string() == "file:///usr/local/foo/");
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/.cargo-checksum.json
+++ /dev/null
@@ -1,1 +0,0 @@
-{"files":{".cargo-ok":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","Cargo.toml":"f99593f6c99ed02fd0bd95592e27fd84e0e7508f5ad4c27a185d0c29c1bc38e2","build.rs":"4dbf3e5a423e5eba48fc7f11e4f7638c054e53a3750c888059a96d96f8923ef2","src/array.rs":"d648ed8cf0ccb72c3ca0d9e018a3db804edad9685739eba13f8f515e04f3708b","src/base.rs":"36e8ba1ef798331679972e532a61447a327c2af7697631cb25040b581839410c","src/bundle.rs":"ff5f5253f331b7fa054414a3f256d74760e3ce805b720cdb735a2e46cc66dce6","src/data.rs":"21e968951fe56e080d33474f4438de2dfb7e0c8af426a6dfb100efdd6c530eec","src/date.rs":"f6cdcb94658fafc5bacb83cfbd20ad97502b8ddf6bd1c0c0d6a2545a4f7b7420","src/dictionary.rs":"97c40c1afc719b970968179112ad76c3c89b6b4eb4ea18f7ac3f059d98cce736","src/error.rs":"61bc31a401ec6c8495668175eade9284e257da056fc666af74a5555af5daf33f","src/lib.rs":"8bdbc6ed8fcbbc5b69d7634031ff44d50b9ac789279eb89b80c280ea156c98b3","src/messageport.rs":"59ba92ca90bb9b3162b6df44188fac18cd979250f33a52361144c902e86529bd","src/number.rs":"8881c7cd1b510c654c445485de898f83abda91557fd3e6f9daccf2d1b9c4c57e","src/propertylist.rs":"cc2b27f8f8ebc80c03871b7b1ad50ee348539b016078ce721c86b8cd5f9d75bd","src/runloop.rs":"7feab3bbb9913c3b40285bc37b920f9fe4d937d1db08d8ae69a2ec9597713598","src/set.rs":"51e978fc81d4c55013dfc6df4e76c58daaf5deedf9aafda0f6a9e04e7575272c","src/string.rs":"27b92e8e5d3fc95a521dc6447ccfefd9eb28ec5f42bd8571defd124d950b133f","src/url.rs":"bd9f162e2e3e316267b0d36c4d0551dbf2435a40bd1e69bbe0efafd72d232432"},"package":"065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d"}
\ No newline at end of file
deleted file mode 100644
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/Cargo.toml
+++ /dev/null
@@ -1,13 +0,0 @@
-[package]
-name = "core-foundation-sys"
-description = "Bindings to Core Foundation for OS X"
-homepage = "https://github.com/servo/core-foundation-rs"
-repository = "https://github.com/servo/core-foundation-rs"
-version = "0.2.3"
-authors = ["The Servo Project Developers"]
-license = "MIT / Apache-2.0"
-build = "build.rs"
-links = "CoreFoundation.framework"
-
-[dependencies]
-libc = "0.2"
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/build.rs
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-fn main() {
-    println!("cargo:rustc-link-lib=framework=CoreFoundation");
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/array.rs
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::c_void;
-
-use base::{CFRange, CFIndex, CFAllocatorRef, CFTypeID};
-
-/// FIXME(pcwalton): This is wrong.
-pub type CFArrayRetainCallBack = *const u8;
-
-/// FIXME(pcwalton): This is wrong.
-pub type CFArrayReleaseCallBack = *const u8;
-
-/// FIXME(pcwalton): This is wrong.
-pub type CFArrayCopyDescriptionCallBack = *const u8;
-
-/// FIXME(pcwalton): This is wrong.
-pub type CFArrayEqualCallBack = *const u8;
-
-#[repr(C)]
-#[derive(Clone, Copy)]
-pub struct CFArrayCallBacks {
-    pub version: CFIndex,
-    pub retain: CFArrayRetainCallBack,
-    pub release: CFArrayReleaseCallBack,
-    pub copyDescription: CFArrayCopyDescriptionCallBack,
-    pub equal: CFArrayEqualCallBack,
-}
-
-#[repr(C)]
-pub struct __CFArray(c_void);
-
-pub type CFArrayRef = *const __CFArray;
-
-extern {
-    /*
-     * CFArray.h
-     */
-    pub static kCFTypeArrayCallBacks: CFArrayCallBacks;
-
-    pub fn CFArrayCreate(allocator: CFAllocatorRef, values: *const *const c_void,
-                     numValues: CFIndex, callBacks: *const CFArrayCallBacks) -> CFArrayRef;
-    pub fn CFArrayCreateCopy(allocator: CFAllocatorRef , theArray: CFArrayRef) -> CFArrayRef;
-    
-    // CFArrayBSearchValues
-    // CFArrayContainsValue
-    pub fn CFArrayGetCount(theArray: CFArrayRef) -> CFIndex;
-    // CFArrayGetCountOfValue
-    // CFArrayGetFirstIndexOfValue
-    // CFArrayGetLastIndexOfValue
-    pub fn CFArrayGetValues(theArray: CFArrayRef, range: CFRange, values: *mut *const c_void);
-    pub fn CFArrayGetValueAtIndex(theArray: CFArrayRef, idx: CFIndex) -> *const c_void;
-    // CFArrayApplyFunction
-    pub fn CFArrayGetTypeID() -> CFTypeID;
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/base.rs
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::{c_uint, c_long, c_ulong, c_void};
-
-pub type Boolean = u8;
-pub type CFIndex = c_long;
-pub type mach_port_t = c_uint;
-pub type CFAllocatorRef = *const c_void;
-pub type CFNullRef = *const c_void;
-pub type CFHashCode = c_ulong;
-pub type CFTypeID = c_ulong;
-pub type CFTypeRef = *const c_void;
-pub type CFOptionFlags = u32;
-pub type OSStatus = i32;
-
-#[repr(C)]
-#[derive(Clone, Copy)]
-pub struct CFRange {
-    pub location: CFIndex,
-    pub length: CFIndex
-}
-
-// for back-compat
-impl CFRange {
-    pub fn init(location: CFIndex, length: CFIndex) -> CFRange {
-        CFRange {
-            location: location,
-            length: length,
-        }
-    }
-}
-
-extern {
-    /*
-     * CFBase.h
-     */
-
-    /* CFAllocator Reference */
-    // N.B. Many CFAllocator functions and constants are omitted here.
-    pub static kCFAllocatorDefault: CFAllocatorRef;
-    pub static kCFAllocatorSystemDefault: CFAllocatorRef;
-    pub static kCFAllocatorMalloc: CFAllocatorRef;
-    pub static kCFAllocatorMallocZone: CFAllocatorRef;
-    pub static kCFAllocatorNull: CFAllocatorRef;
-    pub static kCFAllocatorUseContext: CFAllocatorRef;
-
-    /* CFNull Reference */
-
-    pub static kCFNull: CFNullRef;
-
-    /* CFType Reference */
-
-    //fn CFCopyDescription
-    //fn CFCopyTypeIDDescription
-    //fn CFEqual
-    //fn CFGetAllocator
-    pub fn CFEqual(cf1: CFTypeRef, cf2: CFTypeRef) -> Boolean;
-    pub fn CFGetRetainCount(cf: CFTypeRef) -> CFIndex;
-    pub fn CFGetTypeID(cf: CFTypeRef) -> CFTypeID;
-    pub fn CFHash(cf: CFTypeRef) -> CFHashCode;
-    //fn CFMakeCollectable
-    pub fn CFRelease(cf: CFTypeRef);
-    pub fn CFRetain(cf: CFTypeRef) -> CFTypeRef;
-    pub fn CFShow(obj: CFTypeRef);
-
-    /* Base Utilities Reference */
-    // N.B. Some things missing here.
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/bundle.rs
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::c_void;
-
-use base::CFTypeID;
-use dictionary::CFDictionaryRef;
-use string::CFStringRef;
-
-#[repr(C)]
-pub struct __CFBundle(c_void);
-
-pub type CFBundleRef = *const __CFBundle;
-
-extern {
-    /*
-     * CFBundle.h
-     */
-    pub fn CFBundleGetBundleWithIdentifier(bundleID: CFStringRef) -> CFBundleRef;
-    pub fn CFBundleGetFunctionPointerForName(bundle: CFBundleRef, function_name: CFStringRef) -> *const c_void;
-    pub fn CFBundleGetMainBundle() -> CFBundleRef;
-    pub fn CFBundleGetInfoDictionary(bundle: CFBundleRef) -> CFDictionaryRef;
-
-    pub fn CFBundleGetTypeID() -> CFTypeID;
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/data.rs
+++ /dev/null
@@ -1,22 +0,0 @@
-use libc::c_void;
-
-use base::{CFAllocatorRef, CFTypeID, CFIndex};
-
-#[repr(C)]
-pub struct __CFData(c_void);
-
-pub type CFDataRef = *const __CFData;
-
-extern {
-    /*
-     * CFData.h
-     */
-
-    pub fn CFDataCreate(allocator: CFAllocatorRef,
-                        bytes: *const u8, length: CFIndex) -> CFDataRef;
-    //fn CFDataFind
-    pub fn CFDataGetBytePtr(theData: CFDataRef) -> *const u8;
-    pub fn CFDataGetLength(theData: CFDataRef) -> CFIndex;
-
-    pub fn CFDataGetTypeID() -> CFTypeID;
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/date.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-pub type CFTimeInterval = f64;
-pub type CFAbsoluteTime = CFTimeInterval;
-
-extern {
-    pub fn CFAbsoluteTimeGetCurrent() -> CFAbsoluteTime;
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/dictionary.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::{c_void};
-
-use base::{CFAllocatorRef, CFIndex, CFTypeID, Boolean};
-
-pub type CFDictionaryApplierFunction = extern "C" fn (key: *const c_void,
-                                                      value: *const c_void,
-                                                      context: *mut c_void);
-pub type CFDictionaryCopyDescriptionCallBack = *const u8;
-pub type CFDictionaryEqualCallBack = *const u8;
-pub type CFDictionaryHashCallBack = *const u8;
-pub type CFDictionaryReleaseCallBack = *const u8;
-pub type CFDictionaryRetainCallBack = *const u8;
-
-#[allow(dead_code)]
-#[repr(C)]
-#[derive(Clone, Copy)]
-pub struct CFDictionaryKeyCallBacks {
-    pub version: CFIndex,
-    pub retain: CFDictionaryRetainCallBack,
-    pub release: CFDictionaryReleaseCallBack,
-    pub copyDescription: CFDictionaryCopyDescriptionCallBack,
-    pub equal: CFDictionaryEqualCallBack,
-    pub hash: CFDictionaryHashCallBack
-}
-
-#[allow(dead_code)]
-#[repr(C)]
-#[derive(Clone, Copy)]
-pub struct CFDictionaryValueCallBacks {
-    pub version: CFIndex,
-    pub retain: CFDictionaryRetainCallBack,
-    pub release: CFDictionaryReleaseCallBack,
-    pub copyDescription: CFDictionaryCopyDescriptionCallBack,
-    pub equal: CFDictionaryEqualCallBack
-}
-
-#[repr(C)]
-pub struct __CFDictionary(c_void);
-
-pub type CFDictionaryRef = *const __CFDictionary;
-pub type CFMutableDictionaryRef = *const __CFDictionary;
-
-extern {
-    /*
-     * CFDictionary.h
-     */
-
-    pub static kCFTypeDictionaryKeyCallBacks: CFDictionaryKeyCallBacks;
-    pub static kCFTypeDictionaryValueCallBacks: CFDictionaryValueCallBacks;
-
-    pub fn CFDictionaryContainsKey(theDict: CFDictionaryRef, key: *const c_void) -> Boolean;
-    pub fn CFDictionaryCreate(allocator: CFAllocatorRef, keys: *const *const c_void, values: *const *const c_void,
-                              numValues: CFIndex, keyCallBacks: *const CFDictionaryKeyCallBacks,
-                              valueCallBacks: *const CFDictionaryValueCallBacks)
-                              -> CFDictionaryRef;
-    pub fn CFDictionaryGetCount(theDict: CFDictionaryRef) -> CFIndex;
-    pub fn CFDictionaryGetTypeID() -> CFTypeID;
-    pub fn CFDictionaryGetValueIfPresent(theDict: CFDictionaryRef, key: *const c_void, value: *mut *const c_void)
-                                         -> Boolean;
-    pub fn CFDictionaryApplyFunction(theDict: CFDictionaryRef,
-                                     applier: CFDictionaryApplierFunction,
-                                     context: *mut c_void);
-    pub fn CFDictionarySetValue(theDict: CFMutableDictionaryRef,
-                                key: *const c_void,
-                                value: *const c_void);
-    pub fn CFDictionaryGetKeysAndValues(theDict: CFDictionaryRef,
-                                        keys: *mut *const c_void,
-                                        values: *mut *const c_void);
-
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/error.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2016 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::c_void;
-
-use base::{CFTypeID, CFIndex};
-use string::CFStringRef;
-
-#[repr(C)]
-pub struct __CFError(c_void);
-
-pub type CFErrorRef = *mut __CFError;
-
-extern "C" {
-    pub fn CFErrorGetTypeID() -> CFTypeID;
-
-    pub static kCFErrorDomainPOSIX: CFStringRef;
-    pub static kCFErrorDomainOSStatus: CFStringRef;
-    pub static kCFErrorDomainMach: CFStringRef;
-    pub static kCFErrorDomainCocoa: CFStringRef;
-
-    pub fn CFErrorGetDomain(err: CFErrorRef) -> CFStringRef;
-    pub fn CFErrorGetCode(err: CFErrorRef) -> CFIndex;
-
-    pub fn CFErrorCopyDescription(err: CFErrorRef) -> CFStringRef;
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/lib.rs
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-#![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, improper_ctypes)]
-
-extern crate libc;
-
-pub mod array;
-pub mod base;
-pub mod bundle;
-pub mod data;
-pub mod date;
-pub mod dictionary;
-pub mod error;
-pub mod messageport;
-pub mod number;
-pub mod propertylist;
-pub mod runloop;
-pub mod set;
-pub mod string;
-pub mod url;
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/messageport.rs
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::c_void;
-
-use base::{CFAllocatorRef, CFIndex, CFTypeID, Boolean};
-use data::CFDataRef;
-use date::CFTimeInterval;
-use runloop::CFRunLoopSourceRef;
-use string::CFStringRef;
-
-#[repr(C)]
-#[derive(Copy, Clone)]
-#[derive(Debug)]
-pub struct CFMessagePortContext {
-    pub version: CFIndex,
-    pub info: *mut c_void,
-    pub retain: Option<unsafe extern fn(info: *const c_void) -> *const c_void>,
-    pub release: Option<unsafe extern fn(info: *const c_void)>,
-    pub copyDescription: Option<unsafe extern fn(info: *const c_void)
-        -> CFStringRef>,
-}
-
-pub type CFMessagePortCallBack = Option<
-    unsafe extern fn(local: CFMessagePortRef,
-                     msgid: i32,
-                     data: CFDataRef,
-                     info: *mut c_void) -> CFDataRef>;
-
-pub type CFMessagePortInvalidationCallBack = Option<
-    unsafe extern "C" fn(ms: CFMessagePortRef, info: *mut c_void)>;
-
-#[repr(C)]
-pub struct __CFMessagePort(c_void);
-pub type CFMessagePortRef = *const __CFMessagePort;
-
-extern {
-    /*
-     * CFMessagePort.h
-     */
-    pub fn CFMessagePortGetTypeID() -> CFTypeID;
-    pub fn CFMessagePortCreateLocal(allocator: CFAllocatorRef,
-                                    name: CFStringRef,
-                                    callout: CFMessagePortCallBack,
-                                    context: *const CFMessagePortContext,
-                                    shouldFreeInfo: *mut Boolean)
-        -> CFMessagePortRef;
-    pub fn CFMessagePortCreateRemote(allocator: CFAllocatorRef,
-                                     name: CFStringRef) -> CFMessagePortRef;
-    pub fn CFMessagePortIsRemote(ms: CFMessagePortRef) -> Boolean;
-    pub fn CFMessagePortGetName(ms: CFMessagePortRef) -> CFStringRef;
-    pub fn CFMessagePortSetName(ms: CFMessagePortRef, newName: CFStringRef)
-        -> Boolean;
-    pub fn CFMessagePortGetContext(ms: CFMessagePortRef,
-                                   context: *mut CFMessagePortContext);
-    pub fn CFMessagePortInvalidate(ms: CFMessagePortRef);
-    pub fn CFMessagePortIsValid(ms: CFMessagePortRef) -> Boolean;
-    pub fn CFMessagePortGetInvalidationCallBack(ms: CFMessagePortRef)
-        -> CFMessagePortInvalidationCallBack;
-    pub fn CFMessagePortSetInvalidationCallBack(ms: CFMessagePortRef,
-                                                callout: CFMessagePortInvalidationCallBack);
-    pub fn CFMessagePortSendRequest(remote: CFMessagePortRef, msgid: i32,
-                                    data: CFDataRef,
-                                    sendTimeout: CFTimeInterval,
-                                    rcvTimeout: CFTimeInterval,
-                                    replyMode: CFStringRef,
-                                    returnData: *mut CFDataRef) -> i32;
-    pub fn CFMessagePortCreateRunLoopSource(allocator: CFAllocatorRef,
-                                            local: CFMessagePortRef,
-                                            order: CFIndex)
-        -> CFRunLoopSourceRef;
-    // CFMessagePortSetDispatchQueue
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/number.rs
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::c_void;
-
-use base::{CFAllocatorRef, CFTypeID};
-
-#[repr(C)]
-pub struct __CFBoolean(c_void);
-
-pub type CFBooleanRef = *const __CFBoolean;
-
-pub type CFNumberType = u32;
-
-// members of enum CFNumberType
-// static kCFNumberSInt8Type:     CFNumberType = 1;
-// static kCFNumberSInt16Type:    CFNumberType = 2;
-pub static kCFNumberSInt32Type:    CFNumberType = 3;
-pub static kCFNumberSInt64Type:    CFNumberType = 4;
-// static kCFNumberFloat32Type:   CFNumberType = 5;
-pub static kCFNumberFloat64Type:   CFNumberType = 6;
-// static kCFNumberCharType:      CFNumberType = 7;
-// static kCFNumberShortType:     CFNumberType = 8;
-// static kCFNumberIntType:       CFNumberType = 9;
-// static kCFNumberLongType:      CFNumberType = 10;
-// static kCFNumberLongLongType:  CFNumberType = 11;
-// static kCFNumberFloatType:     CFNumberType = 12;
-// static kCFNumberDoubleType:    CFNumberType = 13;
-// static kCFNumberCFIndexType:   CFNumberType = 14;
-// static kCFNumberNSIntegerType: CFNumberType = 15;
-// static kCFNumberCGFloatType:   CFNumberType = 16;
-// static kCFNumberMaxType:       CFNumberType = 16;
-
-#[repr(C)]
-pub struct __CFNumber;
-
-pub type CFNumberRef = *const __CFNumber;
-
-extern {
-    /*
-     * CFNumber.h
-     */
-    pub static kCFBooleanTrue: CFBooleanRef;
-    pub static kCFBooleanFalse: CFBooleanRef;
-
-    pub fn CFBooleanGetTypeID() -> CFTypeID;
-    pub fn CFNumberCreate(allocator: CFAllocatorRef, theType: CFNumberType, valuePtr: *const c_void)
-                          -> CFNumberRef;
-    //fn CFNumberGetByteSize
-    pub fn CFNumberGetValue(number: CFNumberRef, theType: CFNumberType, valuePtr: *mut c_void) -> bool;
-    //fn CFNumberCompare
-    pub fn CFNumberGetTypeID() -> CFTypeID;
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/propertylist.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-use base::{CFAllocatorRef, CFIndex, CFOptionFlags, CFTypeRef};
-use data::CFDataRef;
-use error::CFErrorRef;
-
-pub type CFPropertyListRef = CFTypeRef;
-
-pub type CFPropertyListFormat = CFIndex;
-pub const kCFPropertyListOpenStepFormat: CFPropertyListFormat = 1;
-pub const kCFPropertyListXMLFormat_v1_0: CFPropertyListFormat = 100;
-pub const kCFPropertyListBinaryFormat_v1_0: CFPropertyListFormat = 200;
-
-pub type CFPropertyListMutabilityOptions = CFOptionFlags;
-pub const kCFPropertyListImmutable: CFPropertyListMutabilityOptions = 0;
-pub const kCFPropertyListMutableContainers: CFPropertyListMutabilityOptions = 1;
-pub const kCFPropertyListMutableContainersAndLeaves: CFPropertyListMutabilityOptions = 2;
-
-extern "C" {
-    // CFPropertyList.h
-    //
-
-    // fn CFPropertyListCreateDeepCopy
-    // fn CFPropertyListIsValid
-    pub fn CFPropertyListCreateWithData(allocator: CFAllocatorRef,
-                                        data: CFDataRef,
-                                        options: CFPropertyListMutabilityOptions,
-                                        format: *mut CFPropertyListFormat,
-                                        error: *mut CFErrorRef)
-                                        -> CFPropertyListRef;
-    // fn CFPropertyListCreateWithStream
-    // fn CFPropertyListWrite
-    pub fn CFPropertyListCreateData(allocator: CFAllocatorRef,
-                                    propertyList: CFPropertyListRef,
-                                    format: CFPropertyListFormat,
-                                    options: CFOptionFlags,
-                                    error: *mut CFErrorRef)
-                                    -> CFDataRef;
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/runloop.rs
+++ /dev/null
@@ -1,164 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::c_void;
-
-use array::CFArrayRef;
-use base::{Boolean, CFIndex, CFTypeID, CFAllocatorRef, CFOptionFlags, CFHashCode, mach_port_t};
-use date::{CFAbsoluteTime, CFTimeInterval};
-use string::CFStringRef;
-
-#[repr(C)]
-pub struct __CFRunLoop(c_void);
-
-pub type CFRunLoopRef = *const __CFRunLoop;
-
-#[repr(C)]
-pub struct __CFRunLoopSource(c_void);
-
-pub type CFRunLoopSourceRef = *const __CFRunLoopSource;
-
-#[repr(C)]
-pub struct __CFRunLoopObserver(c_void);
-
-pub type CFRunLoopObserverRef = *const __CFRunLoopObserver;
-
-// Reasons for CFRunLoopRunInMode() to Return
-pub const kCFRunLoopRunFinished: i32      = 1;
-pub const kCFRunLoopRunStopped: i32       = 2;
-pub const kCFRunLoopRunTimedOut: i32      = 3;
-pub const kCFRunLoopRunHandledSource: i32 = 4;
-
-// Run Loop Observer Activities
-//typedef CF_OPTIONS(CFOptionFlags, CFRunLoopActivity) {
-pub type CFRunLoopActivity = CFOptionFlags;
-pub const kCFRunLoopEntry: CFOptionFlags         = 1 << 0;
-pub const kCFRunLoopBeforeTimers: CFOptionFlags  = 1 << 1;
-pub const kCFRunLoopBeforeSources: CFOptionFlags = 1 << 2;
-pub const kCFRunLoopBeforeWaiting: CFOptionFlags = 1 << 5;
-pub const kCFRunLoopAfterWaiting: CFOptionFlags  = 1 << 6;
-pub const kCFRunLoopExit: CFOptionFlags          = 1 << 7;
-pub const kCFRunLoopAllActivities: CFOptionFlags = 0x0FFFFFFF;
-
-#[repr(C)]
-pub struct CFRunLoopSourceContext {
-    pub version: CFIndex,
-    pub info: *mut c_void,
-    pub retain: extern "C" fn (info: *const c_void) -> *const c_void,
-    pub release: extern "C" fn (info: *const c_void),
-    pub copyDescription: extern "C" fn (info: *const c_void) -> CFStringRef,
-    pub equal: extern "C" fn (info1: *const c_void, info2: *const c_void) -> Boolean,
-    pub hash: extern "C" fn (info: *const c_void) -> CFHashCode,
-    pub schedule: extern "C" fn (info: *const c_void, rl: CFRunLoopRef, mode: CFStringRef),
-    pub cancel: extern "C" fn (info: *const c_void, rl: CFRunLoopRef, mode: CFStringRef),
-    pub perform: extern "C" fn (info: *const c_void),
-}
-
-#[repr(C)]
-pub struct CFRunLoopSourceContext1 {
-    pub version: CFIndex,
-    pub info: *mut c_void,
-    pub retain: extern "C" fn (info: *const c_void) -> *const c_void,
-    pub release: extern "C" fn (info: *const c_void),
-    pub copyDescription: extern "C" fn (info: *const c_void) -> CFStringRef,
-    pub equal: extern "C" fn (info1: *const c_void, info2: *const c_void) -> Boolean,
-    pub hash: extern "C" fn (info: *const c_void) -> CFHashCode,
-    // note that the following two fields are platform dependent in the C header, the ones here are for OS X
-    pub getPort: extern "C" fn (info: *mut c_void) -> mach_port_t,
-    pub perform: extern "C" fn (msg: *mut c_void, size: CFIndex, allocator: CFAllocatorRef, info: *mut c_void) -> *mut c_void,
-}
-
-#[repr(C)]
-pub struct CFRunLoopObserverContext {
-    pub version: CFIndex,
-    pub info: *mut c_void,
-    pub retain: extern "C" fn (info: *const c_void) -> *const c_void,
-    pub release: extern "C" fn (info: *const c_void),
-    pub copyDescription: extern "C" fn (info: *const c_void) -> CFStringRef,
-}
-
-pub type CFRunLoopObserverCallBack = extern "C" fn (observer: CFRunLoopObserverRef, activity: CFRunLoopActivity, info: *mut c_void);
-
-#[repr(C)]
-pub struct CFRunLoopTimerContext {
-    pub version: CFIndex,
-    pub info: *mut c_void,
-    pub retain: extern "C" fn (info: *const c_void) -> *const c_void,
-    pub release: extern "C" fn (info: *const c_void),
-    pub copyDescription: extern "C" fn (info: *const c_void) -> CFStringRef,
-}
-
-pub type CFRunLoopTimerCallBack = extern "C" fn (timer: CFRunLoopTimerRef, info: *mut c_void);
-
-#[repr(C)]
-pub struct __CFRunLoopTimer;
-
-pub type CFRunLoopTimerRef = *const __CFRunLoopTimer;
-
-extern {
-    /*
-     * CFRunLoop.h
-     */
-    pub static kCFRunLoopDefaultMode: CFStringRef;
-    pub static kCFRunLoopCommonModes: CFStringRef;
-    pub fn CFRunLoopGetTypeID() -> CFTypeID;
-    pub fn CFRunLoopGetCurrent() -> CFRunLoopRef;
-    pub fn CFRunLoopGetMain() -> CFRunLoopRef;
-    pub fn CFRunLoopCopyCurrentMode(rl: CFRunLoopRef) -> CFStringRef;
-    pub fn CFRunLoopCopyAllModes(rl: CFRunLoopRef) -> CFArrayRef;
-    pub fn CFRunLoopAddCommonMode(rl: CFRunLoopRef, mode: CFStringRef);
-    pub fn CFRunLoopGetNextTimerFireDate(rl: CFRunLoopRef, mode: CFStringRef) -> CFAbsoluteTime;
-    pub fn CFRunLoopRun();
-    pub fn CFRunLoopRunInMode(mode: CFStringRef, seconds: CFTimeInterval, returnAfterSourceHandled: Boolean) -> i32;
-    pub fn CFRunLoopIsWaiting(rl: CFRunLoopRef) -> Boolean;
-    pub fn CFRunLoopWakeUp(rl: CFRunLoopRef);
-    pub fn CFRunLoopStop(rl: CFRunLoopRef);
-    // fn CFRunLoopPerformBlock(rl: CFRunLoopRef, mode: CFTypeRef, block: void (^)(void));
-    pub fn CFRunLoopContainsSource(rl: CFRunLoopRef, source: CFRunLoopSourceRef, mode: CFStringRef) -> Boolean;
-    pub fn CFRunLoopAddSource(rl: CFRunLoopRef, source: CFRunLoopSourceRef, mode: CFStringRef);
-    pub fn CFRunLoopRemoveSource(rl: CFRunLoopRef, source: CFRunLoopSourceRef, mode: CFStringRef);
-    pub fn CFRunLoopContainsObserver(rl: CFRunLoopRef, observer: CFRunLoopObserverRef, mode: CFStringRef) -> Boolean;
-    pub fn CFRunLoopAddObserver(rl: CFRunLoopRef, observer: CFRunLoopObserverRef, mode: CFStringRef);
-    pub fn CFRunLoopRemoveObserver(rl: CFRunLoopRef, observer: CFRunLoopObserverRef, mode: CFStringRef);
-    pub fn CFRunLoopContainsTimer(rl: CFRunLoopRef, timer: CFRunLoopTimerRef, mode: CFStringRef) -> Boolean;
-    pub fn CFRunLoopAddTimer(rl: CFRunLoopRef, timer: CFRunLoopTimerRef, mode: CFStringRef);
-    pub fn CFRunLoopRemoveTimer(rl: CFRunLoopRef, timer: CFRunLoopTimerRef, mode: CFStringRef);
-
-    pub fn CFRunLoopSourceGetTypeID() -> CFTypeID;
-    pub fn CFRunLoopSourceCreate(allocator: CFAllocatorRef, order: CFIndex, context: *mut CFRunLoopSourceContext) -> CFRunLoopSourceRef;
-    pub fn CFRunLoopSourceGetOrder(source: CFRunLoopSourceRef) -> CFIndex;
-    pub fn CFRunLoopSourceInvalidate(source: CFRunLoopSourceRef);
-    pub fn CFRunLoopSourceIsValid(source: CFRunLoopSourceRef) -> Boolean;
-    pub fn CFRunLoopSourceGetContext(source: CFRunLoopSourceRef, context: *mut CFRunLoopSourceContext);
-    pub fn CFRunLoopSourceSignal(source: CFRunLoopSourceRef);
-
-    pub fn CFRunLoopObserverGetTypeID() -> CFTypeID;
-    pub fn CFRunLoopObserverCreate(allocator: CFAllocatorRef, activities: CFOptionFlags, repeats: Boolean, order: CFIndex, callout: CFRunLoopObserverCallBack, context: *mut CFRunLoopObserverContext) -> CFRunLoopObserverRef;
-    // fn CFRunLoopObserverCreateWithHandler(allocator: CFAllocatorRef, activities: CFOptionFlags, repeats: Boolean, order: CFIndex, block: void (^) (CFRunLoopObserverRef observer, CFRunLoopActivity activity)) -> CFRunLoopObserverRef;
-    pub fn CFRunLoopObserverGetActivities(observer: CFRunLoopObserverRef) -> CFOptionFlags;
-    pub fn CFRunLoopObserverDoesRepeat(observer: CFRunLoopObserverRef) -> Boolean;
-    pub fn CFRunLoopObserverGetOrder(observer: CFRunLoopObserverRef) -> CFIndex;
-    pub fn CFRunLoopObserverInvalidate(observer: CFRunLoopObserverRef);
-    pub fn CFRunLoopObserverIsValid(observer: CFRunLoopObserverRef) -> Boolean;
-    pub fn CFRunLoopObserverGetContext(observer: CFRunLoopObserverRef, context: *mut CFRunLoopObserverContext);
-
-    pub fn CFRunLoopTimerGetTypeID() -> CFTypeID;
-    pub fn CFRunLoopTimerCreate(allocator: CFAllocatorRef, fireDate: CFAbsoluteTime, interval: CFTimeInterval, flags: CFOptionFlags, order: CFIndex, callout: CFRunLoopTimerCallBack, context: *mut CFRunLoopTimerContext) -> CFRunLoopTimerRef;
-    // fn CFRunLoopTimerCreateWithHandler(allocator: CFAllocatorRef, fireDate: CFAbsoluteTime, interval: CFTimeInterval, flags: CFOptionFlags, order: CFIndex, block: void (^) (CFRunLoopTimerRef timer)) -> CFRunLoopTimerRef;
-    pub fn CFRunLoopTimerGetNextFireDate(timer: CFRunLoopTimerRef) -> CFAbsoluteTime;
-    pub fn CFRunLoopTimerSetNextFireDate(timer: CFRunLoopTimerRef, fireDate: CFAbsoluteTime);
-    pub fn CFRunLoopTimerGetInterval(timer: CFRunLoopTimerRef) -> CFTimeInterval;
-    pub fn CFRunLoopTimerDoesRepeat(timer: CFRunLoopTimerRef) -> Boolean;
-    pub fn CFRunLoopTimerGetOrder(timer: CFRunLoopTimerRef) -> CFIndex;
-    pub fn CFRunLoopTimerInvalidate(timer: CFRunLoopTimerRef);
-    pub fn CFRunLoopTimerIsValid(timer: CFRunLoopTimerRef) -> Boolean;
-    pub fn CFRunLoopTimerGetContext(timer: CFRunLoopTimerRef, context: *mut CFRunLoopTimerContext);
-    pub fn CFRunLoopTimerGetTolerance(timer: CFRunLoopTimerRef) -> CFTimeInterval;
-    pub fn CFRunLoopTimerSetTolerance(timer: CFRunLoopTimerRef, tolerance: CFTimeInterval);
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/set.rs
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::c_void;
-
-use base::{CFAllocatorRef, CFIndex, CFTypeID};
-
-pub type CFSetRetainCallBack = *const u8;
-pub type CFSetReleaseCallBack = *const u8;
-pub type CFSetCopyDescriptionCallBack = *const u8;
-pub type CFSetEqualCallBack = *const u8;
-pub type CFSetHashCallBack = *const u8;
-
-#[repr(C)]
-#[derive(Clone, Copy)]
-pub struct CFSetCallBacks {
-    pub version: CFIndex,
-    pub retain: CFSetRetainCallBack,
-    pub release: CFSetReleaseCallBack,
-    pub copyDescription: CFSetCopyDescriptionCallBack,
-    pub equal: CFSetEqualCallBack,
-    pub hash: CFSetHashCallBack,
-}
-
-#[repr(C)]
-pub struct __CFSet(c_void);
-
-pub type CFSetRef = *const __CFSet;
-
-extern {
-    /*
-     * CFSet.h
-     */
-
-    pub static kCFTypeSetCallBacks: CFSetCallBacks;
-
-    /* Creating Sets */
-    pub fn CFSetCreate(allocator: CFAllocatorRef, values: *const *const c_void, numValues: CFIndex,
-                       callBacks: *const CFSetCallBacks) -> CFSetRef;
-
-    /* Applying a Function to Set Members */
-    //fn CFSetApplyFunction
-
-    pub fn CFSetGetTypeID() -> CFTypeID;
-}
-
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/string.rs
+++ /dev/null
@@ -1,320 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-use libc::{c_char, c_ushort, c_void};
-
-use base::{Boolean, CFOptionFlags, CFIndex, CFAllocatorRef, CFRange, CFTypeID};
-
-pub type UniChar = c_ushort;
-
-// CFString.h
-
-pub type CFStringCompareFlags = CFOptionFlags;
-//static kCFCompareCaseInsensitive: CFStringCompareFlags = 1;
-//static kCFCompareBackwards: CFStringCompareFlags = 4;
-//static kCFCompareAnchored: CFStringCompareFlags = 8;
-//static kCFCompareNonliteral: CFStringCompareFlags = 16;
-//static kCFCompareLocalized: CFStringCompareFlags = 32;
-//static kCFCompareNumerically: CFStringCompareFlags = 64;
-//static kCFCompareDiacriticInsensitive: CFStringCompareFlags = 128;
-//static kCFCompareWidthInsensitive: CFStringCompareFlags = 256;
-//static kCFCompareForcedOrdering: CFStringCompareFlags = 512;
-
-pub type CFStringEncoding = u32;
-
-// OS X built-in encodings.
-
-//static kCFStringEncodingMacRoman: CFStringEncoding = 0;
-//static kCFStringEncodingWindowsLatin1: CFStringEncoding = 0x0500;
-//static kCFStringEncodingISOLatin1: CFStringEncoding = 0x0201;
-//static kCFStringEncodingNextStepLatin: CFStringEncoding = 0x0B01;
-//static kCFStringEncodingASCII: CFStringEncoding = 0x0600;
-//static kCFStringEncodingUnicode: CFStringEncoding = 0x0100;
-pub static kCFStringEncodingUTF8: CFStringEncoding = 0x08000100;
-//static kCFStringEncodingNonLossyASCII: CFStringEncoding = 0x0BFF;
-
-//static kCFStringEncodingUTF16: CFStringEncoding = 0x0100;
-//static kCFStringEncodingUTF16BE: CFStringEncoding = 0x10000100;
-//static kCFStringEncodingUTF16LE: CFStringEncoding = 0x14000100;
-//static kCFStringEncodingUTF32: CFStringEncoding = 0x0c000100;
-//static kCFStringEncodingUTF32BE: CFStringEncoding = 0x18000100;
-//static kCFStringEncodingUTF32LE: CFStringEncoding = 0x1c000100;
-
-
-// CFStringEncodingExt.h
-
-pub type CFStringEncodings = CFIndex;
-
-// External encodings, except those defined above.
-// Defined above: kCFStringEncodingMacRoman = 0
-//static kCFStringEncodingMacJapanese: CFStringEncoding = 1;
-//static kCFStringEncodingMacChineseTrad: CFStringEncoding = 2;
-//static kCFStringEncodingMacKorean: CFStringEncoding = 3;
-//static kCFStringEncodingMacArabic: CFStringEncoding = 4;
-//static kCFStringEncodingMacHebrew: CFStringEncoding = 5;
-//static kCFStringEncodingMacGreek: CFStringEncoding = 6;
-//static kCFStringEncodingMacCyrillic: CFStringEncoding = 7;
-//static kCFStringEncodingMacDevanagari: CFStringEncoding = 9;
-//static kCFStringEncodingMacGurmukhi: CFStringEncoding = 10;
-//static kCFStringEncodingMacGujarati: CFStringEncoding = 11;
-//static kCFStringEncodingMacOriya: CFStringEncoding = 12;
-//static kCFStringEncodingMacBengali: CFStringEncoding = 13;
-//static kCFStringEncodingMacTamil: CFStringEncoding = 14;
-//static kCFStringEncodingMacTelugu: CFStringEncoding = 15;
-//static kCFStringEncodingMacKannada: CFStringEncoding = 16;
-//static kCFStringEncodingMacMalayalam: CFStringEncoding = 17;
-//static kCFStringEncodingMacSinhalese: CFStringEncoding = 18;
-//static kCFStringEncodingMacBurmese: CFStringEncoding = 19;
-//static kCFStringEncodingMacKhmer: CFStringEncoding = 20;
-//static kCFStringEncodingMacThai: CFStringEncoding = 21;
-//static kCFStringEncodingMacLaotian: CFStringEncoding = 22;
-//static kCFStringEncodingMacGeorgian: CFStringEncoding = 23;
-//static kCFStringEncodingMacArmenian: CFStringEncoding = 24;
-//static kCFStringEncodingMacChineseSimp: CFStringEncoding = 25;
-//static kCFStringEncodingMacTibetan: CFStringEncoding = 26;
-//static kCFStringEncodingMacMongolian: CFStringEncoding = 27;
-//static kCFStringEncodingMacEthiopic: CFStringEncoding = 28;
-//static kCFStringEncodingMacCentralEurRoman: CFStringEncoding = 29;
-//static kCFStringEncodingMacVietnamese: CFStringEncoding = 30;
-//static kCFStringEncodingMacExtArabic: CFStringEncoding = 31;
-//static kCFStringEncodingMacSymbol: CFStringEncoding = 33;
-//static kCFStringEncodingMacDingbats: CFStringEncoding = 34;
-//static kCFStringEncodingMacTurkish: CFStringEncoding = 35;
-//static kCFStringEncodingMacCroatian: CFStringEncoding = 36;
-//static kCFStringEncodingMacIcelandic: CFStringEncoding = 37;
-//static kCFStringEncodingMacRomanian: CFStringEncoding = 38;
-//static kCFStringEncodingMacCeltic: CFStringEncoding = 39;
-//static kCFStringEncodingMacGaelic: CFStringEncoding = 40;
-//static kCFStringEncodingMacFarsi: CFStringEncoding = 0x8C;
-//static kCFStringEncodingMacUkrainian: CFStringEncoding = 0x98;
-//static kCFStringEncodingMacInuit: CFStringEncoding = 0xEC;
-//static kCFStringEncodingMacVT100: CFStringEncoding = 0xFC;
-//static kCFStringEncodingMacHFS: CFStringEncoding = 0xFF;
-// Defined above: kCFStringEncodingISOLatin1 = 0x0201
-//static kCFStringEncodingISOLatin2: CFStringEncoding = 0x0202;
-//static kCFStringEncodingISOLatin3: CFStringEncoding = 0x0203;
-//static kCFStringEncodingISOLatin4: CFStringEncoding = 0x0204;
-//static kCFStringEncodingISOLatinCyrillic: CFStringEncoding = 0x0205;
-//static kCFStringEncodingISOLatinArabic: CFStringEncoding = 0x0206;
-//static kCFStringEncodingISOLatinGreek: CFStringEncoding = 0x0207;
-//static kCFStringEncodingISOLatinHebrew: CFStringEncoding = 0x0208;
-//static kCFStringEncodingISOLatin5: CFStringEncoding = 0x0209;
-//static kCFStringEncodingISOLatin6: CFStringEncoding = 0x020A;
-//static kCFStringEncodingISOLatinThai: CFStringEncoding = 0x020B;
-//static kCFStringEncodingISOLatin7: CFStringEncoding = 0x020D;
-//static kCFStringEncodingISOLatin8: CFStringEncoding = 0x020E;
-//static kCFStringEncodingISOLatin9: CFStringEncoding = 0x020F;
-//static kCFStringEncodingISOLatin10: CFStringEncoding = 0x0210;
-//static kCFStringEncodingDOSLatinUS: CFStringEncoding = 0x0400;
-//static kCFStringEncodingDOSGreek: CFStringEncoding = 0x0405;
-//static kCFStringEncodingDOSBalticRim: CFStringEncoding = 0x0406;
-//static kCFStringEncodingDOSLatin1: CFStringEncoding = 0x0410;
-//static kCFStringEncodingDOSGreek1: CFStringEncoding = 0x0411;
-//static kCFStringEncodingDOSLatin2: CFStringEncoding = 0x0412;
-//static kCFStringEncodingDOSCyrillic: CFStringEncoding = 0x0413;
-//static kCFStringEncodingDOSTurkish: CFStringEncoding = 0x0414;
-//static kCFStringEncodingDOSPortuguese: CFStringEncoding = 0x0415;
-//static kCFStringEncodingDOSIcelandic: CFStringEncoding = 0x0416;
-//static kCFStringEncodingDOSHebrew: CFStringEncoding = 0x0417;
-//static kCFStringEncodingDOSCanadianFrench: CFStringEncoding = 0x0418;
-//static kCFStringEncodingDOSArabic: CFStringEncoding = 0x0419;
-//static kCFStringEncodingDOSNordic: CFStringEncoding = 0x041A;
-//static kCFStringEncodingDOSRussian: CFStringEncoding = 0x041B;
-//static kCFStringEncodingDOSGreek2: CFStringEncoding = 0x041C;
-//static kCFStringEncodingDOSThai: CFStringEncoding = 0x041D;
-//static kCFStringEncodingDOSJapanese: CFStringEncoding = 0x0420;
-//static kCFStringEncodingDOSChineseSimplif: CFStringEncoding = 0x0421;
-//static kCFStringEncodingDOSKorean: CFStringEncoding = 0x0422;
-//static kCFStringEncodingDOSChineseTrad: CFStringEncoding = 0x0423;
-// Defined above: kCFStringEncodingWindowsLatin1 = 0x0500
-//static kCFStringEncodingWindowsLatin2: CFStringEncoding = 0x0501;
-//static kCFStringEncodingWindowsCyrillic: CFStringEncoding = 0x0502;
-//static kCFStringEncodingWindowsGreek: CFStringEncoding = 0x0503;
-//static kCFStringEncodingWindowsLatin5: CFStringEncoding = 0x0504;
-//static kCFStringEncodingWindowsHebrew: CFStringEncoding = 0x0505;
-//static kCFStringEncodingWindowsArabic: CFStringEncoding = 0x0506;
-//static kCFStringEncodingWindowsBalticRim: CFStringEncoding = 0x0507;
-//static kCFStringEncodingWindowsVietnamese: CFStringEncoding = 0x0508;
-//static kCFStringEncodingWindowsKoreanJohab: CFStringEncoding = 0x0510;
-// Defined above: kCFStringEncodingASCII = 0x0600
-//static kCFStringEncodingANSEL: CFStringEncoding = 0x0601;
-//static kCFStringEncodingJIS_X0201_76: CFStringEncoding = 0x0620;
-//static kCFStringEncodingJIS_X0208_83: CFStringEncoding = 0x0621;
-//static kCFStringEncodingJIS_X0208_90: CFStringEncoding = 0x0622;
-//static kCFStringEncodingJIS_X0212_90: CFStringEncoding = 0x0623;
-//static kCFStringEncodingJIS_C6226_78: CFStringEncoding = 0x0624;
-//static kCFStringEncodingShiftJIS_X0213: CFStringEncoding = 0x0628;
-//static kCFStringEncodingShiftJIS_X0213_MenKuTen: CFStringEncoding = 0x0629;
-//static kCFStringEncodingGB_2312_80: CFStringEncoding = 0x0630;
-//static kCFStringEncodingGBK_95: CFStringEncoding = 0x0631;
-//static kCFStringEncodingGB_18030_2000: CFStringEncoding = 0x0632;
-//static kCFStringEncodingKSC_5601_87: CFStringEncoding = 0x0640;
-//static kCFStringEncodingKSC_5601_92_Johab: CFStringEncoding = 0x0641;
-//static kCFStringEncodingCNS_11643_92_P1: CFStringEncoding = 0x0651;
-//static kCFStringEncodingCNS_11643_92_P2: CFStringEncoding = 0x0652;
-//static kCFStringEncodingCNS_11643_92_P3: CFStringEncoding = 0x0653;
-//static kCFStringEncodingISO_2022_JP: CFStringEncoding = 0x0820;
-//static kCFStringEncodingISO_2022_JP_2: CFStringEncoding = 0x0821;
-//static kCFStringEncodingISO_2022_JP_1: CFStringEncoding = 0x0822;
-//static kCFStringEncodingISO_2022_JP_3: CFStringEncoding = 0x0823;
-//static kCFStringEncodingISO_2022_CN: CFStringEncoding = 0x0830;
-//static kCFStringEncodingISO_2022_CN_EXT: CFStringEncoding = 0x0831;
-//static kCFStringEncodingISO_2022_KR: CFStringEncoding = 0x0840;
-//static kCFStringEncodingEUC_JP: CFStringEncoding = 0x0920;
-//static kCFStringEncodingEUC_CN: CFStringEncoding = 0x0930;
-//static kCFStringEncodingEUC_TW: CFStringEncoding = 0x0931;
-//static kCFStringEncodingEUC_KR: CFStringEncoding = 0x0940;
-//static kCFStringEncodingShiftJIS: CFStringEncoding = 0x0A01;
-//static kCFStringEncodingKOI8_R: CFStringEncoding = 0x0A02;
-//static kCFStringEncodingBig5: CFStringEncoding = 0x0A03;
-//static kCFStringEncodingMacRomanLatin1: CFStringEncoding = 0x0A04;
-//static kCFStringEncodingHZ_GB_2312: CFStringEncoding = 0x0A05;
-//static kCFStringEncodingBig5_HKSCS_1999: CFStringEncoding = 0x0A06;
-//static kCFStringEncodingVISCII: CFStringEncoding = 0x0A07;
-//static kCFStringEncodingKOI8_U: CFStringEncoding = 0x0A08;
-//static kCFStringEncodingBig5_E: CFStringEncoding = 0x0A09;
-// Defined above: kCFStringEncodingNextStepLatin = 0x0B01
-//static kCFStringEncodingNextStepJapanese: CFStringEncoding = 0x0B02;
-//static kCFStringEncodingEBCDIC_US: CFStringEncoding = 0x0C01;
-//static kCFStringEncodingEBCDIC_CP037: CFStringEncoding = 0x0C02;
-//static kCFStringEncodingUTF7: CFStringEncoding = 0x04000100;
-//static kCFStringEncodingUTF7_IMAP: CFStringEncoding = 0x0A10;
-//static kCFStringEncodingShiftJIS_X0213_00: CFStringEncoding = 0x0628; /* Deprecated */
-
-#[repr(C)]
-pub struct __CFString(c_void);
-
-pub type CFStringRef = *const __CFString;
-
-extern {
-    /*
-     * CFString.h
-     */
-
-    // N.B. organized according to "Functions by task" in docs
-
-    /* Creating a CFString */
-    //fn CFSTR
-    //fn CFStringCreateArrayBySeparatingStrings
-    //fn CFStringCreateByCombiningStrings
-    //fn CFStringCreateCopy
-    //fn CFStringCreateFromExternalRepresentation
-    pub fn CFStringCreateWithBytes(alloc: CFAllocatorRef,
-                                   bytes: *const u8,
-                                   numBytes: CFIndex,
-                                   encoding: CFStringEncoding,
-                                   isExternalRepresentation: Boolean,
-                                   contentsDeallocator: CFAllocatorRef)
-                                   -> CFStringRef;
-    pub fn CFStringCreateWithBytesNoCopy(alloc: CFAllocatorRef,
-                                         bytes: *const u8,
-                                         numBytes: CFIndex,
-                                         encoding: CFStringEncoding,
-                                         isExternalRepresentation: Boolean,
-                                         contentsDeallocator: CFAllocatorRef)
-                                         -> CFStringRef;
-    //fn CFStringCreateWithCharacters
-    //fn CFStringCreateWithCharactersNoCopy
-    pub fn CFStringCreateWithCString(alloc: CFAllocatorRef,
-                                     cStr: *const c_char,
-                                     encoding: CFStringEncoding)
-                                     -> CFStringRef;
-    //fn CFStringCreateWithCStringNoCopy
-    //fn CFStringCreateWithFormat
-    //fn CFStringCreateWithFormatAndArguments
-    //fn CFStringCreateWithPascalString
-    //fn CFStringCreateWithPascalStringNoCopy
-    //fn CFStringCreateWithSubstring
-
-    /* Searching Strings */
-    //fn CFStringCreateArrayWithFindResults
-    //fn CFStringFind
-    //fn CFStringFindCharacterFromSet
-    //fn CFStringFindWithOptions
-    //fn CFStringFindWithOptionsAndLocale
-    //fn CFStringGetLineBounds
-
-    /* Comparing Strings */
-    //fn CFStringCompare
-    //fn CFStringCompareWithOptions
-    //fn CFStringCompareWithOptionsAndLocale
-    //fn CFStringHasPrefix
-    //fn CFStringHasSuffix
-
-    /* Accessing Characters */
-    //fn CFStringCreateExternalRepresentation
-    pub fn CFStringGetBytes(theString: CFStringRef,
-                            range: CFRange,
-                            encoding: CFStringEncoding,
-                            lossByte: u8,
-                            isExternalRepresentation: Boolean,
-                            buffer: *mut u8,
-                            maxBufLen: CFIndex,
-                            usedBufLen: *mut CFIndex)
-                            -> CFIndex;
-    //fn CFStringGetCharacterAtIndex
-    //fn CFStringGetCharacters
-    //fn CFStringGetCharactersPtr
-    //fn CFStringGetCharacterFromInlineBuffer
-    pub fn CFStringGetCString(theString: CFStringRef,
-                              buffer: *mut c_char,
-                              bufferSize: CFIndex,
-                              encoding: CFStringEncoding)
-                              -> Boolean;
-    pub fn CFStringGetCStringPtr(theString: CFStringRef,
-                                 encoding: CFStringEncoding)
-                                 -> *const c_char;
-    pub fn CFStringGetLength(theString: CFStringRef) -> CFIndex;
-    //fn CFStringGetPascalString
-    //fn CFStringGetPascalStringPtr
-    //fn CFStringGetRangeOfComposedCharactersAtIndex
-    //fn CFStringInitInlineBuffer
-
-    /* Working With Hyphenation */
-    //fn CFStringGetHyphenationLocationBeforeIndex
-    //fn CFStringIsHyphenationAvailableForLocale
-
-    /* Working With Encodings */
-    //fn CFStringConvertEncodingToIANACharSetName
-    //fn CFStringConvertEncodingToNSStringEncoding
-    //fn CFStringConvertEncodingToWindowsCodepage
-    //fn CFStringConvertIANACharSetNameToEncoding
-    //fn CFStringConvertNSStringEncodingToEncoding
-    //fn CFStringConvertWindowsCodepageToEncoding
-    //fn CFStringGetFastestEncoding
-    //fn CFStringGetListOfAvailableEncodings
-    //fn CFStringGetMaximumSizeForEncoding
-    //fn CFStringGetMostCompatibleMacStringEncoding
-    //fn CFStringGetNameOfEncoding
-    //fn CFStringGetSmallestEncoding
-    //fn CFStringGetSystemEncoding
-    //fn CFStringIsEncodingAvailable
-
-    /* Getting Numeric Values */
-    //fn CFStringGetDoubleValue
-    //fn CFStringGetIntValue
-
-    /* Getting String Properties */
-    //fn CFShowStr
-    pub fn CFStringGetTypeID() -> CFTypeID;
-
-    /* String File System Representations */
-    //fn CFStringCreateWithFileSystemRepresentation
-    //fn CFStringGetFileSystemRepresentation
-    //fn CFStringGetMaximumSizeOfFileSystemRepresentation
-
-    /* Getting Paragraph Bounds */
-    //fn CFStringGetParagraphBounds
-
-    /* Managing Surrogates */
-    //fn CFStringGetLongCharacterForSurrogatePair
-    //fn CFStringGetSurrogatePairForLongCharacter
-    //fn CFStringIsSurrogateHighCharacter
-    //fn CFStringIsSurrogateLowCharacter
-}
deleted file mode 100644
--- a/third_party/rust/core-foundation-sys-0.2.3/src/url.rs
+++ /dev/null
@@ -1,156 +0,0 @@
-// Copyright 2013-2015 The Servo Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-use libc::c_void;
-
-use base::{CFOptionFlags, CFIndex, CFAllocatorRef, Boolean, CFTypeID};
-use string::CFStringRef;
-
-#[repr(C)]
-pub struct __CFURL(c_void);
-
-pub type CFURLRef = *const __CFURL;
-
-pub type CFURLBookmarkCreationOptions = CFOptionFlags;
-
-pub type CFURLPathStyle = CFIndex;
-
-/* typedef CF_ENUM(CFIndex, CFURLPathStyle) */
-pub const kCFURLPOSIXPathStyle: CFURLPathStyle   = 0;
-pub const kCFURLHFSPathStyle: CFURLPathStyle     = 1;
-pub const kCFURLWindowsPathStyle: CFURLPathStyle = 2;
-
-// static kCFURLBookmarkCreationPreferFileIDResolutionMask: CFURLBookmarkCreationOptions =
-//     (1 << 8) as u32;
-// static kCFURLBookmarkCreationMinimalBookmarkMask: CFURLBookmarkCreationOptions =
-//     (1 << 9) as u32;
-// static kCFURLBookmarkCreationSuitableForBookmarkFile: CFURLBookmarkCreationOptions =
-//     (1 << 10) as u32;
-// static kCFURLBookmarkCreationWithSecurityScope: CFURLBookmarkCreationOptions =
-//     (1 << 11) as u32;
-// static kCFURLBookmarkCreationSecurityScopeAllowOnlyReadAccess: CFURLBookmarkCreationOptions =
-//     (1 << 12) as u32;
-
-// TODO: there are a lot of missing keys and constants. Add if you are bored or need them.
-
-extern {
-    /*
-     * CFURL.h
-     */
-
-    /* Common File System Resource Keys */
-    // static kCFURLAttributeModificationDateKey: CFStringRef;
-    // static kCFURLContentAccessDateKey: CFStringRef;
-    // static kCFURLContentModificationDateKey: CFStringRef;
-    // static kCFURLCreationDateKey: CFStringRef;
-    // static kCFURLCustomIconKey: CFStringRef;
-    // static kCFURLEffectiveIconKey: CFStringRef;
-    // static kCFURLFileResourceIdentifierKey: CFStringRef;
-    // static kCFURLFileSecurityKey: CFStringRef;
-    // static kCFURLHasHiddenExtensionKey: CFStringRef;
-    // static kCFURLIsDirectoryKey: CFStringRef;
-    // static kCFURLIsExecutableKey: CFStringRef;
-    // static kCFURLIsHiddenKey: CFStringRef;
-    // static kCFURLIsPackageKey: CFStringRef;
-    // static kCFURLIsReadableKey: CFStringRef;
-    // static kCFURLIsRegularFileKey: CFStringRef;
-    // static kCFURLIsSymbolicLinkKey: CFStringRef;
-    // static kCFURLIsSystemImmutableKey: CFStringRef;
-    // static kCFURLIsUserImmutableKey: CFStringRef;
-    // static kCFURLIsVolumeKey: CFStringRef;
-    // static kCFURLIsWritableKey: CFStringRef;
-    // static kCFURLLabelColorKey: CFStringRef;
-    // static kCFURLLabelNumberKey: CFStringRef;
-    // static kCFURLLinkCountKey: CFStringRef;
-    // static kCFURLLocalizedLabelKey: CFStringRef;
-    // static kCFURLLocalizedNameKey: CFStringRef;
-    // static kCFURLLocalizedTypeDescriptionKey: CFStringRef;
-    // static kCFURLNameKey: CFStringRef;
-    // static kCFURLParentDirectoryURLKey: CFStringRef;
-    // static kCFURLPreferredIOBlockSizeKey: CFStringRef;
-    // static kCFURLTypeIdentifierKey: CFStringRef;
-    // static kCFURLVolumeIdentifierKey: CFStringRef;
-    // static kCFURLVolumeURLKey: CFStringRef;
-    // static kCFURLIsExcludedFromBackupKey: CFStringRef;
-    // static kCFURLFileResourceTypeKey: CFStringRef;
-
-    /* Creating a CFURL */
-    //fn CFURLCopyAbsoluteURL
-    //fn CFURLCreateAbsoluteURLWithBytes
-    //fn CFURLCreateByResolvingBookmarkData
-    //fn CFURLCreateCopyAppendingPathComponent
-    //fn CFURLCreateCopyAppendingPathExtension
-    //fn CFURLCreateCopyDeletingLastPathComponent
-    //fn CFURLCreateCopyDeletingPathExtension
-    //fn CFURLCreateFilePathURL
-    //fn CFURLCreateFileReferenceURL
-    //fn CFURLCreateFromFileSystemRepresentation
-    //fn CFURLCreateFromFileSystemRepresentationRelativeToBase
-    //fn CFURLCreateFromFSRef
-    //fn CFURLCreateWithBytes
-    //fn CFURLCreateWithFileSystemPath
-    pub fn CFURLCreateWithFileSystemPath(allocator: CFAllocatorRef, filePath: CFStringRef, pathStyle: CFURLPathStyle, isDirectory: Boolean) -> CFURLRef;
-    //fn CFURLCreateWithFileSystemPathRelativeToBase
-    //fn CFURLCreateWithString(allocator: CFAllocatorRef, urlString: CFStringRef,
-    //                         baseURL: CFURLRef) -> CFURLRef;
-
-    /* Accessing the Parts of a URL */
-    //fn CFURLCanBeDecomposed
-    //fn CFURLCopyFileSystemPath
-    //fn CFURLCopyFragment
-    //fn CFURLCopyHostName
-    //fn CFURLCopyLastPathComponent
-    //fn CFURLCopyNetLocation
-    //fn CFURLCopyParameterString
-    //fn CFURLCopyPassword
-    //fn CFURLCopyPath
-    //fn CFURLCopyPathExtension
-    //fn CFURLCopyQueryString
-    //fn CFURLCopyResourceSpecifier
-    //fn CFURLCopyScheme
-    //fn CFURLCopyStrictPath
-    //fn CFURLCopyUserName
-    //fn CFURLGetPortNumber
-    //fn CFURLHasDirectoryPath
-
-    /* Converting URLs to Other Representations */
-    //fn CFURLCreateData(allocator: CFAllocatorRef, url: CFURLRef,
-    //                   encoding: CFStringEncoding, escapeWhitespace: bool) -> CFDataRef;
-    //fn CFURLCreateStringByAddingPercentEscapes
-    //fn CFURLCreateStringByReplacingPercentEscapes
-    //fn CFURLCreateStringByReplacingPercentEscapesUsingEncoding
-    //fn CFURLGetFileSystemRepresentation
-    //fn CFURLGetFSRef
-    pub fn CFURLGetString(anURL: CFURLRef) -> CFStringRef;
-
-    /* Getting URL Properties */
-    //fn CFURLGetBaseURL(anURL: CFURLRef) -> CFURLRef;
-    //fn CFURLGetBytes
-    //fn CFURLGetByteRangeForComponent
-    pub fn CFURLGetTypeID() -> CFTypeID;
-    //fn CFURLResourceIsReachable
-
-    /* Getting and Setting File System Resource Properties */
-    //fn CFURLClearResourcePropertyCache
-    //fn CFURLClearResourcePropertyCacheForKey
-    //fn CFURLCopyResourcePropertiesForKeys
-    //fn CFURLCopyResourcePropertyForKey
-    //fn CFURLCreateResourcePropertiesForKeysFromBookmarkData
-    //fn CFURLCreateResourcePropertyForKeyFromBookmarkData
-    //fn CFURLSetResourcePropertiesForKeys
-    //fn CFURLSetResourcePropertyForKey
-    //fn CFURLSetTemporaryResourcePropertyForKey
-
-    /* Working with Bookmark Data */
-    //fn CFURLCreateBookmarkData
-    //fn CFURLCreateBookmarkDataFromAliasRecord
-    //fn CFURLCreateBookmarkDataFromFile
-    //fn CFURLWriteBookmarkDataToFile
-    //fn CFURLStartAccessingSecurityScopedResource
-    //fn CFURLStopAccessingSecurityScopedResource
-}
--- a/toolkit/library/gtest/rust/Cargo.lock
+++ b/toolkit/library/gtest/rust/Cargo.lock
@@ -148,42 +148,25 @@ dependencies = [
  "term_size 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-segmentation 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "vec_map 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "core-foundation"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "core-foundation"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "core-foundation-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "core-foundation-sys"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "core-graphics"
@@ -1195,24 +1178,20 @@ dependencies = [
  "webrender_traits 0.20.0",
 ]
 
 [[package]]
 name = "webrender_bindings"
 version = "0.1.0"
 dependencies = [
  "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)",
- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "webrender 0.19.0",
  "webrender_traits 0.20.0",
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "webrender_traits"
 version = "0.20.0"
 dependencies = [
  "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1271,19 +1250,17 @@ dependencies = [
 "checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
 "checksum bitreader 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8319aa6588c40cce19a135009ec70dc730a34ed9d27bab2409298b948546da7a"
 "checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8"
 "checksum cexpr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "393a5f0088efbe41f9d1fcd062f24e83c278608420e62109feb2c8abee07de7d"
 "checksum cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c"
 "checksum cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8bdd78cca65a739cb5475dbf6b6bbb49373e327f4a6f2b499c0f98632df38c10"
 "checksum clang-sys 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4f98f0715ff67f27ca6a2f8f0ffc2a56f8edbc7acd57489c29eadc3a15c4eafe"
 "checksum clap 2.20.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f89819450aa94325998aa83ce7ea142db11ad24c725d6bc48459845e0d6d9f18"
-"checksum core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67"
 "checksum core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f51ce3b8ebe311c56de14231eb57572c15abebd2d32b3bcb99bcdb9c101f5ac3"
-"checksum core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d"
 "checksum core-foundation-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "41115a6aa5d3e1e5ef98148373f25971d1fad53818553f216495f9e67e90a624"
 "checksum core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ead017dcf77f503dc991f6b52de6084eeea60a94b0a652baa9bf88654a28e83f"
 "checksum core-text 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e9719616a10f717628e074744f8c55df7b450f7a34d29c196d14f4498aad05d"
 "checksum cssparser 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d8352ccd22c5ebab558d179e32f6d3dd26eed30252f8420d636bfae5052eb50e"
 "checksum cssparser-macros 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a85e1452f40a50777c8424fa7fcaa7dd7074c7bc5419014fbffe7ea3d750dee8"
 "checksum deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1614659040e711785ed8ea24219140654da1729f3ec8a47a9719d041112fe7bf"
 "checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90"
 "checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"
--- a/toolkit/library/rust/Cargo.lock
+++ b/toolkit/library/rust/Cargo.lock
@@ -146,42 +146,25 @@ dependencies = [
  "term_size 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-segmentation 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "unicode-width 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
  "vec_map 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "core-foundation"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "core-foundation"
 version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "core-foundation-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
  "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "core-foundation-sys"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
-]
-
-[[package]]
-name = "core-foundation-sys"
 version = "0.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 dependencies = [
  "libc 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "core-graphics"
@@ -1182,24 +1165,20 @@ dependencies = [
  "webrender_traits 0.20.0",
 ]
 
 [[package]]
 name = "webrender_bindings"
 version = "0.1.0"
 dependencies = [
  "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
  "euclid 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
  "gleam 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)",
- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "webrender 0.19.0",
  "webrender_traits 0.20.0",
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 ]
 
 [[package]]
 name = "webrender_traits"
 version = "0.20.0"
 dependencies = [
  "app_units 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
  "byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1258,19 +1237,17 @@ dependencies = [
 "checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
 "checksum bitreader 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8319aa6588c40cce19a135009ec70dc730a34ed9d27bab2409298b948546da7a"
 "checksum byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c40977b0ee6b9885c9013cd41d9feffdd22deb3bb4dc3a71d901cc7a77de18c8"
 "checksum cexpr 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "393a5f0088efbe41f9d1fcd062f24e83c278608420e62109feb2c8abee07de7d"
 "checksum cfg-if 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de1e760d7b6535af4241fca8bd8adf68e2e7edacc6b29f5d399050c5e48cf88c"
 "checksum cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8bdd78cca65a739cb5475dbf6b6bbb49373e327f4a6f2b499c0f98632df38c10"
 "checksum clang-sys 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4f98f0715ff67f27ca6a2f8f0ffc2a56f8edbc7acd57489c29eadc3a15c4eafe"
 "checksum clap 2.20.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f89819450aa94325998aa83ce7ea142db11ad24c725d6bc48459845e0d6d9f18"
-"checksum core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67"
 "checksum core-foundation 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f51ce3b8ebe311c56de14231eb57572c15abebd2d32b3bcb99bcdb9c101f5ac3"
-"checksum core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d"
 "checksum core-foundation-sys 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "41115a6aa5d3e1e5ef98148373f25971d1fad53818553f216495f9e67e90a624"
 "checksum core-graphics 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ead017dcf77f503dc991f6b52de6084eeea60a94b0a652baa9bf88654a28e83f"
 "checksum core-text 4.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0e9719616a10f717628e074744f8c55df7b450f7a34d29c196d14f4498aad05d"
 "checksum cssparser 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d8352ccd22c5ebab558d179e32f6d3dd26eed30252f8420d636bfae5052eb50e"
 "checksum cssparser-macros 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a85e1452f40a50777c8424fa7fcaa7dd7074c7bc5419014fbffe7ea3d750dee8"
 "checksum deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1614659040e711785ed8ea24219140654da1729f3ec8a47a9719d041112fe7bf"
 "checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90"
 "checksum encoding 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "6b0d943856b990d12d3b55b359144ff341533e516d94098b1d3fc1ac666d36ec"