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 345871 950a074545c090460d1a2a88f24d36531421733c
parent 345870 ff0cdb8597366c181aa47fabbafbcf2086c9bc47
child 345872 95480a61674b3bb87b358d09c81e1f2f06d57545
push id38337
push userkwierso@gmail.com
push dateSat, 04 Mar 2017 01:30:14 +0000
treeherderautoland@b691557cb7a3 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersrhunt
bugs1343089
milestone54.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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"