Merge mozilla-central to mozilla-inbound
authorGregory Szorc <gps@mozilla.com>
Wed, 06 Jul 2016 18:26:17 -0700
changeset 346071 d666f37dfa890eb321002fa4daf75080826d2649
parent 346070 388227afc2e71b516bc457a8caff4db77479877d (current diff)
parent 345899 95ffbc4ff63584631c408e8d9912961fcf68bb09 (diff)
child 346072 3e2ee07720ad8070c930539ca2baf859ace26e83
push id1230
push userjlund@mozilla.com
push dateMon, 31 Oct 2016 18:13:35 +0000
treeherdermozilla-release@5e06e3766db2 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone50.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
Merge mozilla-central to mozilla-inbound
b2g/config/aries-l/sources.xml
b2g/config/dolphin-512/config.json
b2g/config/dolphin-512/sources.xml
b2g/config/dolphin/config.json
b2g/config/dolphin/releng-dolphin.manifest
b2g/config/dolphin/sources.xml
b2g/config/emulator-ics/config.json
b2g/config/emulator-ics/releng-emulator-ics.manifest
b2g/config/emulator-ics/sources.xml
b2g/config/emulator-jb/config.json
b2g/config/emulator-jb/releng-emulator-jb.manifest
b2g/config/emulator-jb/sources.xml
b2g/config/emulator-kk/config.json
b2g/config/emulator-kk/releng-emulator-kk.manifest
b2g/config/emulator-kk/sources.xml
b2g/config/emulator-l/config.json
b2g/config/emulator-l/releng-emulator-l.manifest
b2g/config/emulator-l/sources.xml
b2g/config/emulator-x86-kk/config.json
b2g/config/emulator-x86-kk/releng-emulator-kk.manifest
b2g/config/emulator-x86-kk/sources.xml
b2g/config/emulator-x86-l/config.json
b2g/config/emulator-x86-l/releng-emulator-l.manifest
b2g/config/emulator-x86-l/sources.xml
b2g/config/emulator/config.json
b2g/config/emulator/releng-emulator.manifest
b2g/config/emulator/sources.xml
b2g/config/flame-kk/config.json
b2g/config/flame-kk/releng-flame-kk.manifest
b2g/config/flame-kk/sources.xml
b2g/config/flame/config.json
b2g/config/flame/releng-flame.manifest
b2g/config/flame/sources.xml
b2g/config/nexus-4-kk/config.json
b2g/config/nexus-4-kk/releng-mako.manifest
b2g/config/nexus-4-kk/sources.xml
b2g/config/nexus-4/config.json
b2g/config/nexus-4/releng-mako.manifest
b2g/config/nexus-4/sources.xml
browser/themes/linux/preferences/Options-sync.png
browser/themes/linux/preferences/Options.png
browser/themes/osx/preferences/Options-sync.png
browser/themes/osx/preferences/Options.png
browser/themes/osx/preferences/checkbox-yosemite.png
browser/themes/osx/preferences/checkbox-yosemite@2x.png
browser/themes/osx/preferences/checkbox.png
browser/themes/osx/preferences/checkbox@2x.png
browser/themes/shared/search/search-pref.png
browser/themes/windows/preferences/Options-XP.png
browser/themes/windows/preferences/Options-sync.png
browser/themes/windows/preferences/Options.png
browser/themes/windows/preferences/checkbox-aero.png
browser/themes/windows/preferences/checkbox-classic.png
browser/themes/windows/preferences/checkbox-xp.png
browser/themes/windows/preferences/checkbox.png
browser/themes/windows/preferences/mail-XP.png
browser/themes/windows/preferences/mail.png
devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll.js
devtools/client/inspector/markup/test/doc_markup_dragdrop_autoscroll.html
devtools/client/webconsole/new-console-output/components/message-types/date-preview.js
devtools/client/webconsole/new-console-output/test/components/test_date-preview.html
dom/html/HTMLMediaElement.cpp
dom/html/HTMLMediaElement.h
mobile/android/app/mobile.js
taskcluster/ci/legacy/tasks/branches/base_jobs.yml
taskcluster/ci/legacy/tasks/decision/branch.yml
taskcluster/ci/legacy/tasks/decision/try.yml
taskcluster/ci/legacy/tasks/post-builds/mulet_simulator.yml
taskcluster/ci/legacy/tasks/tests/mulet_gaia_js_integration_tests.yml
taskcluster/taskgraph/kind/docker_image.py
testing/docker/builder/emulator-ics.env
testing/docker/builder/emulator-kk.env
testing/mozharness/configs/b2g/taskcluster-spark-blobfree.py
testing/mozharness/configs/b2g/taskcluster-spark-dogfood.py
testing/mozharness/configs/b2g/taskcluster-spark-ota-balrog.py
testing/mozharness/configs/b2g/taskcluster-spark-ota.py
testing/mozharness/configs/b2g/taskcluster-spark.py
toolkit/components/telemetry/Histograms.json
--- a/.ycm_extra_conf.py
+++ b/.ycm_extra_conf.py
@@ -1,17 +1,20 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # 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/.
 
 import imp
 import os
-from StringIO import StringIO
 import shlex
 import sys
+try:
+    from StringIO import StringIO
+except ImportError:
+    from io import StringIO
 
 old_bytecode = sys.dont_write_bytecode
 sys.dont_write_bytecode = True
 
 path = os.path.join(os.path.dirname(__file__), 'mach')
 
 if not os.path.exists(path):
     path = os.path.join(os.path.dirname(__file__), 'config.status')
deleted file mode 100644
--- a/b2g/config/aries-l/sources.xml
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="aee7ff3dba262a037559d360b62af429b62cb876">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
-  <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="7c5a77c651bcde37005e6b6e209747edcc6c9361"/>
-  <!-- Stock Android things -->
-  <project groups="pdk,linux" name="platform/prebuilts/clang/linux-x86/host/3.5" path="prebuilts/clang/linux-x86/host/3.5" revision="0f86914b89cf8a069533e66b218533a17bad6b43"/>
-  <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" revision="6b1fb5b730b1299f99f9194c1fcf088579cc7977"/>
-  <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" revision="755656d9a7c79c6463920ad13f95d71e45e21397"/>
-  <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="ad086223028d281b2ea95f0f42f23ff4435917dd"/>
-  <project depth="1" groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" remote="caf" revision="c09e1b3a55153d1ba142d5bf548c90487ea71f9e"/>
-  <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" revision="94d88f335cdc90bf43471bacf243006e99cff908"/>
-  <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" revision="ac160a43fddd833d4a0bc430f44f8b1956bac1e9"/>
-  <project groups="pdk,linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" revision="966dbeff106bf36966d4c80a4f2c58a464ae314e"/>
-  <project depth="1" groups="pdk,linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" remote="caf" revision="c33513f9de95fcdf4ec832db5e3ebd612382f541"/>
-  <project groups="linux" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="accd992f11a8ec0a0ec52cdc891302dc54e2941e"/>
-  <project name="device/common" path="device/common" revision="cf1543ff569188c1df9f4e9c7fa53b75393c49e3"/>
-  <project name="device/sample" path="device/sample" revision="3bbddd699b3e093a664aae7d9a63032b798b561b"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="870adeafa39f8cb4bec108e35638bb1c36fc648a"/>
-  <project name="platform/bionic" path="bionic" revision="060309e1369e7aa394d720fbc0703d5e20a60391"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="ac9bafa97733238b0f8538d1f28e9a01d2931fa1"/>
-  <project name="platform/external/aac" path="external/aac" revision="925c65e2186ed3f33d26e85d1471a1b5f18b1bfa"/>
-  <project name="platform/external/bison" path="external/bison" revision="ba6887d58129c3cba6f181942943709f6250471f"/>
-  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="7456378c0ebfac007506decf0d187b747b70affd"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="ef2f916f26550b6d2684c5f96ef404deb24060e8"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="34b2cdaab634bcd1bd2f01130573a7833771df70"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="cb2e70cd69a05cdfffa00825ed2f944789bbf95f"/>
-  <project name="platform/external/clang" path="external/clang" revision="eeb154f1b498998e77261475909c28aa6f61377e"/>
-  <project name="platform/external/compiler-rt" path="external/compiler-rt" revision="c87fcb2428a26ae69a2f7110c73ac08bafb652d7"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="ffae58641836bb1c19b340b70ed4c625e0171a5d"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="9d46bf92e0953655ca81c8b02ae5007dc67bd920"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="c31df77fe0064ca3d16676be2cfa04362c14a01d"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="a4e81ae7683f1b49f35f4cf3936ad9a9e4a54231"/>
-  <project name="platform/external/expat" path="external/expat" revision="f5fef24959803e65738cf96a91b4153cddcd3bf6"/>
-  <project name="platform/external/f2fs-tools" path="external/f2fs-tools" revision="fc24ac8347630a14d62ffafa93a27ec3b81cc44b"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="0447a94e59aaad84ba9606bd7ef5bab525c356c3"/>
-  <project name="platform/external/flac" path="external/flac" revision="e15b8e8f7ee9af14f048c8bee8875583453a4259"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="8276a1e4822384a763ee5a239352e815858802e9"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="408f3ac7a9a3716c8198a04305d0132816ba02ad"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="d1420472b31fab33fb23dd16197fdc6c1a056d4c"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="c06fa3137c3c990f281400007f1426789e882a6f"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="4b4c07cf16bc2a0e915be8acbd1947d4cca4dcab"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="001e8c6dd3a1aa77d4449b66b5cd5e00a158481b"/>
-  <project name="platform/external/icu" path="external/icu" revision="3667975ba9c170a65c66666c019c8256ccc047bf"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="2b9c711e59817efcf487b790cd95d441ce434b45"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="8c1adaedd11540df5647f19c9ab5bc81fa614548"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="38e301e24878e82cf6a4f0fbcd920cbe7270ff13"/>
-  <project name="platform/external/jack" path="external/jack" revision="72d913b877f04598204bfac6cce1ab96a193d058"/>
-  <project name="platform/external/jemalloc" path="external/jemalloc" revision="768ad4c9555dca6dafd147c7c00920eedddd3969"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="e55f218242ffd89d0a76ba1dee11a2a439d233c5"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="06ff2ef8790692b2a8d11eceb145d8723c77b622"/>
-  <project name="platform/external/jsmn" path="external/jsmn" revision="7af4b7e6369d6afc276da699bd41251d2398e350"/>
-  <project name="platform/external/jsoncpp" path="external/jsoncpp" revision="6e813c30f660b10f430e7f600799ae1379a287dc"/>
-  <project name="platform/external/junit" path="external/junit" revision="61fcf385c1b65ef439c5664adda77b9cfa0e8118"/>
-  <project name="platform/external/libcxxabi" path="external/libcxxabi" revision="96c4e7bce0f0e710cf5c0c6f2557f142a6ebed27"/>
-  <project name="platform/external/libcxx" path="external/libcxx" revision="3c2d8389b6c83fc5d88111aae64c527e903e73c7"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="f107553887fbb8ed03b7bd8f6318d1bc4489fee4"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="c57cd8d9318259f8f85fa5ceaa6327ec9c7b0296"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="057646515e2d6dffec80bbbabddc706689fb12e3"/>
-  <project name="platform/external/libnl" path="external/libnl" revision="103740e4486e7aa783323f4b9b1b3f596c858b30"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="921a239234786023cdade5d6b222a7c88068b61d"/>
-  <project name="platform/external/libopus" path="external/libopus" revision="2b6e63f8fe19a481e3577d6de764855198493ea4"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="f391e622e30509cd1731152aab61511e82969236"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="72d906de7515609342498f5e45c81282b1302448"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="6472342ee6c171882891d2f644b88eef55c9ebc3"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="9eb69f1e70aa80a1ccc00242c634fcf2a424b06a"/>
-  <project name="platform/external/libunwind" path="external/libunwind" revision="989888043cdaf966b8b86853910aa19165e5194e"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="052edf77a2149d108bfa5e6ca88adf26c6950bd7"/>
-  <project name="platform/external/llvm" path="external/llvm" revision="00b16d2275a2305137a2afca1479cc4077aad2e5"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" revision="49f160bbaea5d855bddfa22a7d61a29fb6e736f9"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="be73b929515f8e4a59e979a5372bc192e1324ece"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="5bc44d564f09695b89e713afaeee09fc07ecd182"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="d8a69d6b9f960c068ce5d375875e3c8609a1f405"/>
-  <project name="platform/external/pcre" path="external/pcre" revision="74befec51e20f2e31ae4a11f7e992dbeb6be8bd9"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="8cd15d4980ba1b4dc2a05cc3e5bf48bfabaa14ea"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="ba3ac916708940cc761318c57e8efe4cd73af400"/>
-  <project name="platform/external/scrypt" path="external/scrypt" revision="4059b5c88404bc81350bb37b23fca35ea3c97179"/>
-  <project name="platform/external/sfntly" path="external/sfntly" revision="9656ee1e46a5ad61c569c2e70e94187be52cebe6"/>
-  <project name="platform/external/skia" path="external/skia" revision="14cd31a0bafabdc222e9beaccfb6162a312d6e90"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="dc512141dae4ef69e470a64d0cfbf412277aa0b3"/>
-  <project name="platform/external/speex" path="external/speex" revision="f26fe68d1400a503a71b55728e9ba43b5bf8f65f"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="8bf2eb40ff5dd0a6724d493eb997d99a2e07e20f"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="76e06e090244f1960bdd48f1109613ea4cf05884"/>
-  <project name="platform/external/strace" path="external/strace" revision="b2dc0fc24db579b0fedf26e89a1a466b2c9a32e2"/>
-  <project name="platform/external/svox" path="external/svox" revision="7c3164643a2115617581d34bb9f9612f0e0173bf"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="7d489e3f8f2c5463d334de9cc74bdce271a1886d"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="75b33a817a0c62278c6099c47985f8704e7d9232"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="8fbb1a592beafe2de3ddbdcac78ffcd96df5e383"/>
-  <project name="platform/external/tinycompress" path="external/tinycompress" revision="82c0b2c653987ff4280be7b14d1f0c1d89eba4c9"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="de52ec2164bb14fba7ae01ac8f0167212b8c741f"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="0d3f3eb780888334c9d87d22d5595f313395f8d6"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="1d89e41830bf268fca6b4a797ea30a96d84a84fb"/>
-  <project name="platform/external/webp" path="external/webp" revision="5ac894de5df4345a26e006d4f73acb422ea9d814"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="333fb8884c0467f06ad956b3e52ff1169b822eb0"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="0f5965cfdf082b9e329d543e2a49d229dccf0050"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="d0f3ac473d9d1356ce175cffc3c2a33c2fbda006"/>
-  <project name="platform/external/zopfli" path="external/zopfli" revision="546647ec998acbaa06124ee57b826257b6530905"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="0951e44a56a7721c26d82fdc1d4c8c05f83f6496"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="d9f0fe12f016cd8105dfd110cd2209db725e035a"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="f5cec8be8143538003c4cdc84a3bc4973e70adec"/>
-  <project name="platform/libcore" path="libcore" revision="42e5c65efd528e3d360ecf147016af8f51abe679"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="1c07d779580f3db10a7f96fba387968bf2783e28"/>
-  <project name="platform/ndk" path="ndk" revision="2f78ff38973c8e8e89dc28915fe637ea185b102e"/>
-  <project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="25b96077aeae7bd0e3a5e7c284fb636664337013"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="3881c90cec9a89b1b1e13c97af537647dcf63c71"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="a259bbcab27bb60bb75b16bce581549c724954cc"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="a6dda1861aee67e18947fee510e4e85f8c1ffeb7"/>
-  <project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="6c9cebe5892c69e8b4bb2ea4e202f36ad095a4f0"/>
-  <project name="platform/system/extras" path="system/extras" revision="7eb50bad98466762626ae1dd31df2acd77202c06"/>
-  <project name="platform/system/media" path="system/media" revision="9de34d557017fe115051fbbd49f05564de6ba3de"/>
-  <project name="platform/system/netd" path="system/netd" revision="313c71603fbfa643ff5f62f4fb3c26aa4696435c"/>
-  <project name="platform/system/security" path="system/security" revision="7c9f4ee469a965f119e302a39f00004d8c59bc6b"/>
-  <project name="platform/system/vold" path="system/vold" revision="d4435cf658bc391a5dc85d4973b38e5b9ada92fc"/>
-  <project name="platform_frameworks_av" path="frameworks/av" remote="b2g" revision="479a404164986b3e95212eecdae7e67da4fba9ed"/>
-  <project name="platform_frameworks_base" path="frameworks/base" remote="b2g" revision="396b731dbccc62f272f1fdb8228109c3fbd83c25"/>
-  <project name="platform_frameworks_wilhelm" path="frameworks/wilhelm" remote="b2g" revision="174bb44bb9af7583e6337e1e1b6cc18d0217ae82"/>
-  <project name="platform_system_core" path="system/core" remote="b2g" revision="1b8322b228f717ff2a4d48fa8b44240d8e3f62bc"/>
-  <project name="platform_external_sepolicy" path="external/sepolicy" remote="b2g" revision="246c603d9fe181fa8893af7293dbc63e870fe5e0"/>
-  <default remote="caf" revision="refs/tags/android-5.1.1_r29" sync-j="4"/>
-  <!-- Platform common things -->
-  <project name="platform/external/libxml2" path="external/libxml2" revision="d0fea31601c5a47c1327515a1ed1d81c4d3586cf"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="60a2b840daa7e877d7aec9c08909a17b72095d10"/>
-  <project name="platform/hardware/broadcom/wlan" path="hardware/broadcom/wlan" revision="0e5baccde90f60ab248a1aedd1f50bff0ba224d9"/>
-  <project name="platform/hardware/qcom/bt" path="hardware/qcom/bt" remote="caf" revision="d2b071c3683bace40c9ed666107367dac5a5bb45"/>
-  <project name="platform/hardware/qcom/audio" path="hardware/qcom/audio" revision="4225df42ce215c0b46c7bd5a59a03f0c85c1d06c"/>
-  <project name="platform/hardware/qcom/gps" path="hardware/qcom/gps" revision="b299e214bf810b2b29a3cdcf872f8de09595845f"/>
-  <project name="platform/hardware/qcom/media" path="hardware/qcom/media" revision="0a774fd3bfc78cf03ca10d436255d0120c49a068"/>
-  <project name="platform/hardware/qcom/wlan" path="hardware/qcom/wlan" revision="82d8c482d59926ff27c53f1fcc8a0ce3554e5491"/>
-  <project name="platform/hardware/ril" path="hardware/ril" revision="4782b037af55a8d61078305df6a4c31c1424623c"/>
-  <project name="platform_external_libnfc-nci" path="external/libnfc-nci" remote="b2g" revision="cac2be832f7bf748d8f0de7eac93009ef7c2eea9"/>
-  <project name="hardware_qcom_display" path="hardware/qcom/display" remote="b2g" revision="9312b15e14ee19686ec7eac7b4cf2035199e92a6"/>
-  <project name="platform_hardware_broadcom_libbt" path="hardware/broadcom/libbt" remote="b2g" revision="c927f10590b39bfe35976e01aed0969afeed3ba8"/>
-  <project name="platform_hardware_libhardware" path="hardware/libhardware" remote="b2g" revision="c4bdd7888f2ab3069f6f8853915a806ebd390320"/>
-  <project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="5f4b68c799927b6e078f987b12722c3a6ccd4a45"/>
-  <!-- Sony platform specific things -->
-  <project name="codeaurora_kernel_msm" path="kernel" remote="b2g" revision="36e3286b400566d0cfe9ea9f54ca76039910bf92"/>
-  <project name="device-qcom-sepolicy" path="device/qcom/sepolicy" remote="b2g" revision="e0a1cce6a8559ccc88e15da148531d36e18ae5f7"/>
-  <project name="device-sony-common" path="device/sony/common" remote="b2g" revision="8ef37488798b6a1340dd9aac22e9e338cab905f7"/>
-  <project name="android_external_busybox" path="external/busybox" remote="b2g" revision="757a15c84e7bf9897b908058f2e529fcffea73b8"/>
-  <project groups="device" name="init_sh" path="hardware/sony/init_sh" remote="b2g" revision="58d94ebe3a2e9a1af4bc8c003cd6837e53cc4867"/>
-  <project groups="device" name="macaddrsetup" path="hardware/sony/macaddrsetup" remote="b2g" revision="1e31df0400fda7d80151bd4c5441027cd49749f8"/>
-  <project groups="device" name="mkqcdtbootimg" path="hardware/sony/mkqcdtbootimg" remote="b2g" revision="4badb288cefe7cc708450c02fd4f6cab84c3ed98"/>
-  <project groups="device" name="thermanager" path="hardware/sony/thermanager" remote="b2g" revision="ec9a2b6a7fe8254ecc3c2c4781e7304f3822e390"/>
-  <project groups="device" name="timekeep" path="hardware/sony/timekeep" remote="b2g" revision="460869402e019b122c4e5ffce19bfbbad026c0fe"/>
-  <project name="sony-camera-hal" path="hardware/qcom/camera" remote="b2g" revision="22805439075263b20b0aee1298e003187a9c180b"/>
-  <project name="vendor-qcom-opensource-dataservices" path="vendor/qcom/opensource/dataservices" remote="b2g" revision="d847f206c805c358c15d2bd09ad7c2724e31af9c"/>
-  <!-- Shinano platform specific things -->
-  <project groups="device" name="device-sony-shinano" path="device/sony/shinano" remote="b2g" revision="0d4a0909139c3c50075daa4a2300744b3921301d"/>
-  <project groups="device" name="device-sony-aries" path="device/sony/aries" remote="b2g" revision="27a90ca4e11e7954fd395fc0b62316c863fcb323"/>
-  <project groups="device" name="device-sony-leo" path="device/sony/leo" remote="b2g" revision="7fa58489a5ac3977d7609271b67f12f7609b2e01"/>
-  <project groups="device" name="device-sony-scorpion" path="device/sony/scorpion" remote="b2g" revision="7a511ecb29bd873156d7908ecc56d01e13512485"/>
-  <project groups="device" name="device-sony-scorpion_windy" path="device/sony/scorpion_windy" remote="b2g" revision="03bf71ec1b0a934e36507e10eb80bc5869f7c72b"/>
-  <project groups="device" name="device-sony-sirius" path="device/sony/sirius" remote="b2g" revision="763c7408f3132e7558d1f42a75ca212d59634259"/>
-  <!-- Rhine platform specific things -->
-  <project groups="device" name="device-sony-rhine" path="device/sony/rhine" remote="b2g" revision="f8fc588e9bb7c4dc89e4dd0625dcc363ad042edb"/>
-  <project groups="device" name="device-sony-honami" path="device/sony/honami" remote="b2g" revision="e2496d1b4de848042726d23eb3164c2281c2d526"/>
-  <project groups="device" name="device-sony-amami" path="device/sony/amami" remote="b2g" revision="6fa4f527b07a997c650d2b2e586839bdd29f9820"/>
-  <!-- Yukon platform specific things -->
-  <project name="device-sony-yukon" path="device/sony/yukon" remote="b2g" revision="ddbb9c51a1ef0415dd91901cf00e5f821f9165b4"/>
-  <project name="device-sony-tianchi" path="device/sony/tianchi" remote="b2g" revision="7adaac955e1dd49e6268f28f34ff580e3be04d47"/>
-  <project name="device-sony-eagle" path="device/sony/eagle" remote="b2g" revision="c32653915fc96c1fbf75bffb95ad9485fa005c6f"/>
-  <project name="device-sony-flamingo" path="device/sony/flamingo" remote="b2g" revision="ad9110649ec467518900932f648e45ce36effaeb"/>
-  <project name="device-sony-seagull" path="device/sony/seagull" remote="b2g" revision="7e4049d36d071430741b0d7ccfc003b3a5c22272"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/dolphin-512/config.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
-    "config_version": 2,
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2", "bc"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["kernelheader", ""],
-    "upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "zip_files": [
-        ["{workdir}/out/target/product/scx15_sp7715ea/*.img", "out/target/product/scx15_sp7715ea/"],
-        "{workdir}/flash.sh",
-        "{workdir}/load-config.sh",
-        "{workdir}/.config",
-        "{workdir}/sources.xml",
-        "{workdir}/profile.sh",
-        ["{workdir}/gecko/tools/profiler/merge-profiles.py", "gecko/tools/profiler/"],
-        ["{workdir}/scripts/profile-symbolicate.py", "scripts/"],
-        ["{workdir}/gecko/tools/rb/fix_stack_using_bpsyms.py", "gecko/tools/rb/"]
-    ],
-    "env": {
-        "VARIANT": "user",
-        "MOZILLA_OFFICIAL": "1"
-    },
-    "b2g_manifest": "dolphin-512.xml",
-    "b2g_manifest_intree": true,
-    "additional_source_tarballs": [],
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    }
-}
deleted file mode 100644
--- a/b2g/config/dolphin-512/sources.xml
+++ /dev/null
@@ -1,145 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="e0c735ec89df011ea7dd435087a9045ecff9ff9e">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="9946a490a9264b42e65385d703b28fa055ab2d42"/>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="049c281ad212bf528b2af8fc246b0dd0c9f97415"/>
-  <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="34ea6163f9f0e0122fb0bb03607eccdca31ced7a"/>
-  <!-- Stock Android things -->
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/>
-  <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="83760d213fb3bec7b4117d266fcfbf6fe2ba14ab"/>
-  <project name="device/common" path="device/common" revision="6a2995683de147791e516aae2ccb31fdfbe2ad30"/>
-  <project name="device/sample" path="device/sample" revision="1a3d8efa0ad32ec8f145367a3cf0f54b97385c3c"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="18f1b5e28734183ff8073fe86dc46bc4ebba8a59"/>
-  <project name="platform/bionic" path="bionic" revision="86b1f589c313422a7da1812512b9ec8d1cf9ba3c"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="75a2463ff719f242759de5c6c7555473dab05b68"/>
-  <project name="platform/external/aac" path="external/aac" revision="fa3eba16446cc8f2f5e2dfc20d86a49dbd37299e"/>
-  <project name="platform/external/bison" path="external/bison" revision="c2418b886165add7f5a31fc5609f0ce2d004a90e"/>
-  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="c8e99ca7e11c00f8124196fe1726a15e6e976587"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="23e322ab19fb7d74c2c37e40ce364d9f709bdcee"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="1cb636bd8e9e5cdfd5d5b2909a122f6e80db62de"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="0d73ef7049feee794f14cf1af88d05dae8139914"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="84b7252b0a9d0edc9a1db1e0c518771d26b23058"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="41d356427a632f5336384bfa45c8420ffc274f66"/>
-  <project name="platform/external/dropbear" path="external/dropbear" revision="a34ddbe3819bc465968f3676c734b405e655f8b7"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="47478a2944a2a17c7fdebe9d92573db92013125c"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="b23b2dfb354b3ccf5d1c5d39815f02e7048cf516"/>
-  <project name="platform/external/expat" path="external/expat" revision="0af0cb3bc7519e567bd9daff3dcd315ab0134a99"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="0da5f683c9ddc9442af3b389b4220e91ccffb320"/>
-  <project name="platform/external/flac" path="external/flac" revision="ab37b6247df0e8c4ec0ccaa870e667f62c74975b"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="899c67b6cfcd2010784fbf08c5415af16c526e0c"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="9241386b62c353302c2f9eccda0672685b252b4d"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="e11a9c7fe6f1cef99aad2f25afaea37b72fe9f93"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="9aef3ea079a57c98a9207f8c3b95a5dc08ee74b5"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="0f1ce3dd0b880b6ae0cf7f5413702b8ef542efb2"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="858f2d28ac741ef139f74bdbdbcefa7560f17c91"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="3309edccdbc2a92eb03a285abb27c1c1c4a88e43"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="157d428913c3d738be481f12e8cbf9267b3b2862"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="f4cb1ee4b00abbfb6f968dc25818c23b4b47e584"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="93e814c9b08136846335ce463192d90ba59766bb"/>
-  <project name="platform/external/jack" path="external/jack" revision="5ceb2025ac5d25ed48183ac2d3dac4691fe761fb"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="31b17e69a87e4caa50f9c6b1a47c84ef75f79d83"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="68f6f73d3157cc0481826e03d0fae9586217a300"/>
-  <project name="platform/external/junit" path="external/junit" revision="3abf41974d8aae44b3bbd15d83487894253d287d"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="50761abed8f4734970874165b386cfd4d9599db4"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="9e987ccb716624d658f98abc7db2097e11e3d8ed"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="ec0b24fb1468abe37be4164a6feb16568e036bde"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="3a7bce5dda6a8db92c9248846d0255e68c3a5b2a"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="b5e7fb4c103b3898cb78e9f7615cf7893626a5e9"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="1e2cf2c4a2d15a9b1ca2d353b99fb6884413ffe1"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="8fd7c65a336d45d5225f32363a9f26c1e3e60c3c"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="5e563eddf3e143a4b670766b49f676ce39023322"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" revision="c46f53f5e072f23051c4eedef730386f7634dc11"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="f8c396c4d446a038358106a301b329607a04633d"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="444644cfa9a2f3002863caa168fb2d6b34dfd1e8"/>
-  <project name="platform/external/netperf" path="external/netperf" revision="58ecd3b7c76263900e38921360e334a416aec362"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="bb8428f762b3632f493572c4f73957e1281ade79"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="48ee66d295979372ed0234cefda42385daae8312"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="aa0725fb1da35e47676b6da30009322eb5ed59be"/>
-  <project name="platform/external/scrypt" path="external/scrypt" revision="eb05b73c3bba21fff55529813109de4bad5ddbd1"/>
-  <project name="platform/external/sepolicy" path="external/sepolicy" revision="f3525622103090156a6bbd9a8609be8b009d223f"/>
-  <project name="platform/external/sfntly" path="external/sfntly" revision="30d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cd"/>
-  <project name="platform/external/skia" path="external/skia" revision="97c714a01e32e6aee7faf9c57fbbd4d95b41d353"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="2dbbd3bac0f0e819d196a80cc7855054148ef8b6"/>
-  <project name="platform/external/speex" path="external/speex" revision="fb7db5853ffb841a4d32fea8b5c3a43e6b875cae"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="ac0e0d5f866fbce0ebf00d0ddd615464849aa83b"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="628e14d37c5b239839a466e81c74bf66255b770b"/>
-  <project name="platform/external/strace" path="external/strace" revision="1a4e05d53dec658a061acb9869cb1eb1342cd09d"/>
-  <project name="platform/external/svox" path="external/svox" revision="838228cc17b5798e51bc20d06e54dbd781e441db"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="532b8f38c144da9a298260a5d8978ab9e8e3856c"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="aa08b9c35638a32de0444a940cf47708e4ba0eda"/>
-  <project name="platform/external/tinycompress" path="external/tinycompress" revision="a85e245a09c028d36cbf04f233be10bc583691f5"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="494e448824844d866e805831d1d5f5acb654065c"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="c74b546f5af36968ffa56d7fd4529f4273b96f48"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="0499204aa97d3e2978ee77d869dd033acb2196e2"/>
-  <project name="platform/external/webp" path="external/webp" revision="513e97bd307573e2adc776eb5368bd129aceaa4a"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="446452f84e9cc4c75d8e80f6f05e24793397a19d"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="a2cff2275e1b501ff478b03757d6e4f05fddc2db"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="a5c7131da47c991585a6c6ac0c063b6d7d56e3fc"/>
-  <project name="platform/frameworks/base" path="frameworks/base" revision="2d12cb68a6c680e1ef50c6fbd19f782f67aec9de"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="b6018ccb81af66e0523a4bfdc45f0bd2ab472b55"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="dbbe673145107e99883f62bafd70c5f43f11065c"/>
-  <project name="platform/frameworks/wilhelm" path="frameworks/wilhelm" revision="aac6c4bb59a6577c97cbda68699829b507b7490d"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="fbeca55f4695dd07c0291213403533b8fbca4885"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="a8449b1de00c313a4ca90d55af44c9b706b17926"/>
-  <project name="platform/libcore" path="libcore" revision="e195beab082c09217318fc19250caeaf4c1bd800"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="feeb36c2bd4adfe285f98f5de92e0f3771b2c115"/>
-  <project name="platform/ndk" path="ndk" revision="e58ef003be4306bb53a8c11331146f39e4eab31f"/>
-  <project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="0e7c060db684b409616fe67ea433ef19f5634c60"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="c792f0bd9fff7aea2887c60bbb3a9bbdb534ffa3"/>
-  <project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="f7d9bf71cf6693474f3f2a81a4ba62c0fc5646aa"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="cfcef469537869947abb9aa1d656774cc2678d4c"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>
-  <project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="288db53ad77084bd44791add5e3a4c266a6e9c60"/>
-  <project name="platform/system/extras" path="system/extras" revision="10e78a05252b3de785f88c2d0b9ea8a428009c50"/>
-  <project name="platform/system/media" path="system/media" revision="7ff72c2ea2496fa50b5e8a915e56e901c3ccd240"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="fe95bc6f83af5c18a73aa86c96e7fa7f79b91477"/>
-  <project name="platform/system/netd" path="system/netd" revision="3ae56364946d4a5bf5a5f83f12f9a45a30398e33"/>
-  <project name="platform/system/security" path="system/security" revision="ee8068b9e7bfb2770635062fc9c2035be2142bd8"/>
-  <project name="platform/system/vold" path="system/vold" revision="2e43efe1b30d0b98574d293059556aebd2f46454"/>
-  <!--original fetch url was http://sprdsource.spreadtrum.com:8085/b2g/android-->
-  <remote fetch="https://git.mozilla.org/external/sprd-aosp" name="sprd-aosp"/>
-  <default remote="sprd-aosp" revision="sprdb2g_gonk4.4" sync-j="4"/>
-  <!-- Stock Android things -->
-  <project name="platform/external/icu4c" path="external/icu4c" revision="2bb01561780583cc37bc667f0ea79f48a122d8a2"/>
-  <!-- dolphin specific things -->
-  <project name="device/sprd" path="device/sprd" revision="b94ac10f073ed2503505e59f5097d4e286423037"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="4e58336019b5cbcfd134caf55b142236cf986618"/>
-  <project name="platform/frameworks/av" path="frameworks/av" revision="4387fe988e5a1001f29ce05fcfda03ed2d32137b"/>
-  <project name="platform/hardware/akm" path="hardware/akm" revision="6d3be412647b0eab0adff8a2768736cf4eb68039"/>
-  <project groups="invensense" name="platform/hardware/invensense" path="hardware/invensense" revision="e6d9ab28b4f4e7684f6c07874ee819c9ea0002a2"/>
-  <project name="platform/hardware/ril" path="hardware/ril" revision="865ce3b4a2ba0b3a31421ca671f4d6c5595f8690"/>
-  <project name="kernel/common" path="kernel" revision="6c6f012cea17fb8b3263605737816cf6663432f1"/>
-  <project name="platform/system/core" path="system/core" revision="53d584d4a4b4316e4de9ee5f210d662f89b44e7e"/>
-  <project name="u-boot" path="u-boot" revision="5167e5eec5cb6b3147839da158637e6d953a4e4f"/>
-  <project name="vendor/sprd/gps" path="vendor/sprd/gps" revision="6974f8e771d4d8e910357a6739ab124768891e8f"/>
-  <project name="vendor/sprd/open-source" path="vendor/sprd/open-source" revision="a6f913f0e114945d995680a6fe5cccb24c02b3c2"/>
-  <project name="vendor/sprd/partner" path="vendor/sprd/partner" revision="8649c7145972251af11b0639997edfecabfc7c2e"/>
-  <project name="vendor/sprd/proprietories" path="vendor/sprd/proprietories" revision="d2466593022f7078aaaf69026adf3367c2adb7bb"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/dolphin/config.json
+++ /dev/null
@@ -1,48 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-dolphin.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2", "bc"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["kernelheader", ""],
-    "upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml",
-        "{objdir}/dist/b2g-update/*.mar"
-    ],
-    "zip_files": [
-        ["{workdir}/out/target/product/scx15_sp7715ga/*.img", "out/target/product/scx15_sp7715ga/"],
-        "{workdir}/flash.sh",
-        "{workdir}/load-config.sh",
-        "{workdir}/.config",
-        "{workdir}/sources.xml",
-        "{workdir}/profile.sh",
-        ["{workdir}/gecko/tools/profiler/merge-profiles.py", "gecko/tools/profiler/"],
-        ["{workdir}/scripts/profile-symbolicate.py", "scripts/"],
-        ["{workdir}/gecko/tools/rb/fix_stack_using_bpsyms.py", "gecko/tools/rb/"]
-    ],
-    "env": {
-        "VARIANT": "user",
-        "MOZILLA_OFFICIAL": "1",
-        "B2G_UPDATE_CHANNEL": "nightly"
-    },
-    "b2g_manifest": "dolphin.xml",
-    "b2g_manifest_intree": true,
-    "additional_source_tarballs": [],
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    }
-}
deleted file mode 100644
--- a/b2g/config/dolphin/releng-dolphin.manifest
+++ /dev/null
@@ -1,10 +0,0 @@
-[
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": "True"
-}
-]
deleted file mode 100644
--- a/b2g/config/dolphin/sources.xml
+++ /dev/null
@@ -1,159 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="964d9fa4eabe9eb473ef9101ca2a690880f28547">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
-  <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="7c5a77c651bcde37005e6b6e209747edcc6c9361"/>
-  <!-- Stock Android things -->
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" remote="caf" revision="c09e1b3a55153d1ba142d5bf548c90487ea71f9e"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" remote="caf" revision="c33513f9de95fcdf4ec832db5e3ebd612382f541"/>
-  <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="83760d213fb3bec7b4117d266fcfbf6fe2ba14ab"/>
-  <project name="device/common" path="device/common" revision="6a2995683de147791e516aae2ccb31fdfbe2ad30"/>
-  <project name="device/sample" path="device/sample" revision="1a3d8efa0ad32ec8f145367a3cf0f54b97385c3c"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="18f1b5e28734183ff8073fe86dc46bc4ebba8a59"/>
-  <project name="platform/bionic" path="bionic" revision="86b1f589c313422a7da1812512b9ec8d1cf9ba3c"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="286354e69491f7cba5b9ec6b551831fe6f85ad0d"/>
-  <project name="platform/external/aac" path="external/aac" revision="fa3eba16446cc8f2f5e2dfc20d86a49dbd37299e"/>
-  <project name="platform/external/bison" path="external/bison" revision="c2418b886165add7f5a31fc5609f0ce2d004a90e"/>
-  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="ee3614e4b809c264efed41e268272597176f1862"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="23e322ab19fb7d74c2c37e40ce364d9f709bdcee"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="1cb636bd8e9e5cdfd5d5b2909a122f6e80db62de"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="0d73ef7049feee794f14cf1af88d05dae8139914"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="84b7252b0a9d0edc9a1db1e0c518771d26b23058"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="c2f655d7b501739e05e263d45cb334f26db78079"/>
-  <project name="platform/external/dropbear" path="external/dropbear" revision="a34ddbe3819bc465968f3676c734b405e655f8b7"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="47478a2944a2a17c7fdebe9d92573db92013125c"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="b23b2dfb354b3ccf5d1c5d39815f02e7048cf516"/>
-  <project name="platform/external/expat" path="external/expat" revision="0af0cb3bc7519e567bd9daff3dcd315ab0134a99"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="0da5f683c9ddc9442af3b389b4220e91ccffb320"/>
-  <project name="platform/external/flac" path="external/flac" revision="ab37b6247df0e8c4ec0ccaa870e667f62c74975b"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="899c67b6cfcd2010784fbf08c5415af16c526e0c"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="9241386b62c353302c2f9eccda0672685b252b4d"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="e11a9c7fe6f1cef99aad2f25afaea37b72fe9f93"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="9aef3ea079a57c98a9207f8c3b95a5dc08ee74b5"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="0f1ce3dd0b880b6ae0cf7f5413702b8ef542efb2"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="858f2d28ac741ef139f74bdbdbcefa7560f17c91"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="3309edccdbc2a92eb03a285abb27c1c1c4a88e43"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="157d428913c3d738be481f12e8cbf9267b3b2862"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="f4cb1ee4b00abbfb6f968dc25818c23b4b47e584"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="93e814c9b08136846335ce463192d90ba59766bb"/>
-  <project name="platform/external/jack" path="external/jack" revision="5ceb2025ac5d25ed48183ac2d3dac4691fe761fb"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="31b17e69a87e4caa50f9c6b1a47c84ef75f79d83"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="68f6f73d3157cc0481826e03d0fae9586217a300"/>
-  <project name="platform/external/junit" path="external/junit" revision="3abf41974d8aae44b3bbd15d83487894253d287d"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="50761abed8f4734970874165b386cfd4d9599db4"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="9e987ccb716624d658f98abc7db2097e11e3d8ed"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="ec0b24fb1468abe37be4164a6feb16568e036bde"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="3a7bce5dda6a8db92c9248846d0255e68c3a5b2a"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="b5e7fb4c103b3898cb78e9f7615cf7893626a5e9"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="1e2cf2c4a2d15a9b1ca2d353b99fb6884413ffe1"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="8fd7c65a336d45d5225f32363a9f26c1e3e60c3c"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="5e563eddf3e143a4b670766b49f676ce39023322"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" remote="caf" revision="dd17df3f6775c4366a5c1d21865370d60a3b1295"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="f8c396c4d446a038358106a301b329607a04633d"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="444644cfa9a2f3002863caa168fb2d6b34dfd1e8"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="bb8428f762b3632f493572c4f73957e1281ade79"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="48ee66d295979372ed0234cefda42385daae8312"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="aa0725fb1da35e47676b6da30009322eb5ed59be"/>
-  <project name="platform/external/scrypt" path="external/scrypt" revision="eb05b73c3bba21fff55529813109de4bad5ddbd1"/>
-  <project name="platform/external/sepolicy" path="external/sepolicy" revision="f3525622103090156a6bbd9a8609be8b009d223f"/>
-  <project name="platform/external/sfntly" path="external/sfntly" revision="30d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cd"/>
-  <project name="platform/external/skia" path="external/skia" revision="97c714a01e32e6aee7faf9c57fbbd4d95b41d353"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="2dbbd3bac0f0e819d196a80cc7855054148ef8b6"/>
-  <project name="platform/external/speex" path="external/speex" revision="fb7db5853ffb841a4d32fea8b5c3a43e6b875cae"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="ac0e0d5f866fbce0ebf00d0ddd615464849aa83b"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="628e14d37c5b239839a466e81c74bf66255b770b"/>
-  <project name="platform/external/strace" path="external/strace" revision="1a4e05d53dec658a061acb9869cb1eb1342cd09d"/>
-  <project name="platform/external/svox" path="external/svox" revision="838228cc17b5798e51bc20d06e54dbd781e441db"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="532b8f38c144da9a298260a5d8978ab9e8e3856c"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="aa08b9c35638a32de0444a940cf47708e4ba0eda"/>
-  <project name="platform/external/tinycompress" path="external/tinycompress" revision="a85e245a09c028d36cbf04f233be10bc583691f5"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="494e448824844d866e805831d1d5f5acb654065c"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="c74b546f5af36968ffa56d7fd4529f4273b96f48"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="0499204aa97d3e2978ee77d869dd033acb2196e2"/>
-  <project name="platform/external/webp" path="external/webp" revision="513e97bd307573e2adc776eb5368bd129aceaa4a"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="446452f84e9cc4c75d8e80f6f05e24793397a19d"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="a2cff2275e1b501ff478b03757d6e4f05fddc2db"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="a5c7131da47c991585a6c6ac0c063b6d7d56e3fc"/>
-  <project name="platform/frameworks/base" path="frameworks/base" revision="d9d67d72dab332472d19aff19985d41d1c883763"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="8d54940d9bdad8fec3208ff58ddab590be9fe0d4"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="dbbe673145107e99883f62bafd70c5f43f11065c"/>
-  <project name="platform/frameworks/wilhelm" path="frameworks/wilhelm" revision="aac6c4bb59a6577c97cbda68699829b507b7490d"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="3d07a67010709194ca0e1ef40acf34ff8aff31ca"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="68b0c269fd1889f47ecfb9119c05281e9b6db0af"/>
-  <project name="platform/libcore" path="libcore" revision="e195beab082c09217318fc19250caeaf4c1bd800"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="feeb36c2bd4adfe285f98f5de92e0f3771b2c115"/>
-  <project name="platform/ndk" path="ndk" revision="e58ef003be4306bb53a8c11331146f39e4eab31f"/>
-  <project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="c739cffa6394c06e099ea48879a20341b6163338"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="c792f0bd9fff7aea2887c60bbb3a9bbdb534ffa3"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="cfcef469537869947abb9aa1d656774cc2678d4c"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>
-  <project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="6c9cebe5892c69e8b4bb2ea4e202f36ad095a4f0"/>
-  <project name="platform/system/extras" path="system/extras" revision="10e78a05252b3de785f88c2d0b9ea8a428009c50"/>
-  <project name="platform/system/media" path="system/media" revision="188b3e51e0a2ce1e16dc8067edef7be3d2365ad9"/>
-  <project name="platform/system/netd" path="system/netd" revision="3ae56364946d4a5bf5a5f83f12f9a45a30398e33"/>
-  <project name="platform/system/security" path="system/security" revision="ee8068b9e7bfb2770635062fc9c2035be2142bd8"/>
-  <project name="platform/system/vold" path="system/vold" revision="fe12a9e2268da653d1cd4c39ec89a42211d22f25"/>
-  <!--original fetch url was http://sprdsource.spreadtrum.com:8085/b2g/android-->
-  <remote fetch="https://git.mozilla.org/external/sprd-aosp" name="sprd-aosp"/>
-  <default remote="sprd-aosp" revision="sprdb2g_gonk4.4" sync-j="4"/>
-  <!-- Stock Android things -->
-  <project name="platform/external/icu4c" path="external/icu4c" revision="2bb01561780583cc37bc667f0ea79f48a122d8a2"/>
-  <!-- dolphin specific things -->
-  <project name="device/sprd" path="device/sprd" revision="f4aae37239c177f90044d28444a2cb518e34b11a"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="39a5b5bcadad745df3e6882316fce426f98b1669"/>
-  <project name="platform/frameworks/av" path="frameworks/av" revision="8bb69db127112fc66da75f8ca7a1158614b919f6"/>
-  <project name="platform/hardware/akm" path="hardware/akm" revision="6d3be412647b0eab0adff8a2768736cf4eb68039"/>
-  <project groups="invensense" name="platform/hardware/invensense" path="hardware/invensense" revision="e6d9ab28b4f4e7684f6c07874ee819c9ea0002a2"/>
-  <project name="platform/hardware/ril" path="hardware/ril" revision="865ce3b4a2ba0b3a31421ca671f4d6c5595f8690"/>
-  <project name="kernel/common" path="kernel" revision="b698c5aa4e9393dfd70d0ea7a0bf93b333b54750"/>
-  <project name="platform/system/core" path="system/core" revision="1b888e1ae54c358246f13e4fb915ce43cde00691"/>
-  <project name="u-boot" path="u-boot" revision="f1502910977ac88f43da7bf9277c3523ad4b0b2f"/>
-  <project name="vendor/sprd/gps" path="vendor/sprd/gps" revision="7d6e1269be7186b2073fa568958b357826692c4b"/>
-  <project name="vendor/sprd/open-source" path="vendor/sprd/open-source" revision="295ff253b74353751a99aafd687196a28c84a58e"/>
-  <project name="vendor/sprd/partner" path="vendor/sprd/partner" revision="8649c7145972251af11b0639997edfecabfc7c2e"/>
-  <project name="vendor/sprd/proprietories" path="vendor/sprd/proprietories" revision="d2466593022f7078aaaf69026adf3367c2adb7bb"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/emulator-ics/config.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-emulator-ics.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["droid", "package-emulator", "package-tests"],
-    "upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{workdir}/out/emulator.tar.gz",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.test_packages.json",
-        "{workdir}/sources.xml"
-    ],
-    "upload_platform": "emulator-ics",
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    },
-    "b2g_manifest": "emulator.xml",
-    "b2g_manifest_intree": true
-}
deleted file mode 100644
--- a/b2g/config/emulator-ics/releng-emulator-ics.manifest
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": true
-},
-{
-"size": 12072532,
-"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
-"algorithm": "sha512",
-"filename": "gtk3.tar.xz",
-"setup": "setup.sh",
-"unpack": true
-}
-]
deleted file mode 100644
--- a/b2g/config/emulator-ics/sources.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <default remote="caf" revision="refs/tags/android-4.0.4_r2.1" sync-j="4"/>
-  <!-- Gonk-specific things and forks -->
-  <project name="platform_bionic" path="bionic" remote="b2g" revision="e2b3733ba3fa5e3f404e983d2e4142b1f6b1b846"/>
-  <project name="platform_build" path="build" remote="b2g" revision="1b0db93fb6b870b03467aff50d6419771ba0d88c">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
-  <project name="android-development" path="development" remote="b2g" revision="2bdf22305b523af644e1891b4ddfd9229336d0ce"/>
-  <project name="platform_external_apriori" path="external/apriori" remote="b2g" revision="11816ad0406744f963537b23d68ed9c2afb412bd"/>
-  <project name="platform_external_elfcopy" path="external/elfcopy" remote="b2g" revision="62c1bed1c4505369cac2e72fbe30452a598fb690"/>
-  <project name="platform_external_elfutils" path="external/elfutils" remote="b2g" revision="72940dec691fa3255e13df01f8c53b620e446066"/>
-  <project name="platform_external_opensans" path="external/opensans" remote="b2g" revision="b5b4c226ca1d71e936153cf679dda6d3d60e2354"/>
-  <project name="screencap-gonk" path="external/screencap-gonk" remote="b2g" revision="e6403c71e9eca8cb943739d5a0a192deac60fc51"/>
-  <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="af8b2b782387209cc5b5803926f86bdbc31570ca"/>
-  <project name="platform_frameworks_base" path="frameworks/base" remote="b2g" revision="6afc63abe52776ae6a1d32a2d927e630a743a86a"/>
-  <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="5fa1b11a01e7e90dbe9681e690020d10795ec1a9"/>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="android-sdk" path="sdk" remote="b2g" revision="4f46930827957afbce500a4a920755a218bf3155"/>
-  <project name="darwinstreamingserver" path="system/darwinstreamingserver" remote="b2g" revision="cf85968c7f85e0ec36e72c87ceb4837a943b8af6"/>
-  <!-- Stock Android things -->
-  <project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="425f8b5fadf5889834c5acd27d23c9e0b2129c28"/>
-  <project name="device/common" path="device/common" revision="42b808b7e93d0619286ae8e59110b176b7732389"/>
-  <project name="device/sample" path="device/sample" revision="237bd668d0f114d801a8d6455ef5e02cc3577587"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="34ea6163f9f0e0122fb0bb03607eccdca31ced7a"/>
-  <project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="52a1a862a8bac319652b8f82d9541ba40bfa45ce"/>
-  <project name="platform/external/bluetooth/glib" path="external/bluetooth/glib" revision="0febbc94a1c40c0227958b7f27764145ec6297bc"/>
-  <project name="platform/external/bluetooth/hcidump" path="external/bluetooth/hcidump" revision="03c410e4f80e73d2650b2d6973a11984d096100e"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="85a68103754b1e5473dca7becd76834848c77c35"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="960142b2e6a4269517467d44e4e953549ff56c38"/>
-  <project name="platform/external/dbus" path="external/dbus" revision="07274c4eed41f20d79265f049710b5bf08a3ef20"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="c543c0f363dee48a80ef17cff1d5b98fd426b01a"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="4e6e5ea3872facb3ad2d84784c108865cc8d536d"/>
-  <project name="platform/external/expat" path="external/expat" revision="728203a4d1c40de1a5fa5dcfa68057faaf3aac50"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="6d128260b94c366d4066c8452e6a8d23533db244"/>
-  <project name="platform/external/flac" path="external/flac" revision="e3b0a1fcadcfd1cfd2ebe217ada8ae12ceb3e292"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="15321e16a085b9b5c85cf029aee86bf57b2e65c1"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="6dbee1b36e184a0d39314254924a61837bd1ed3a"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="8c212ebe53bb2baab3575f03069016f1fb11e449"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="6b66309486b04d2107ab745a48d37c659da468fd"/>
-  <!-- icu4c is missing the default tag in caf, that's the *only* reason for the hardcode -->
-  <project name="platform/external/icu4c" path="external/icu4c" revision="0fa67b93b831c6636ca18b152a1b1b14cc99b034"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="c66c5716d5335e450f7a7b71ccc6a604fb2f41d2"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="32e954f4bcb000ce8f3d8be13bce435eef0cb725"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="3d70825f75a11a0e625c7be4f5889571e7509456"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="45b9af864cff193c98605d3fb8fb88d01e209e4a"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="e214a332b5dbb70e9ab5f37ad6e8fbe05a5759aa"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="46f667ba6c2fd83e4b419ccb16934ded55625b1d"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="dedb7df404eb8ca534c12aa47401f42b075d43f6"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="b994ba2e3e54734c34f624926e5fbfbca5735cde"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="7513a8f86d594184f9ac6250289d22817fe5d740"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="2aa9dc166c783c3afbaa90dd8b5b334031c4ad4d"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="95c40b11e6d98ad944d64c38e30693ac025e2c88"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="046e97ace354aa350845465635e4816fb27c9994"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="6282e9cd4c1eb3dc16bfb3592eff58fb6bd13022"/>
-  <project name="platform/external/skia" path="external/skia" revision="8c1c7cfacd82a174c65fcbf839d7037e3692aee8"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="7839a53c7c252fc5f8b1ab685a00cfcf0c7d0c39"/>
-  <project name="platform/external/speex" path="external/speex" revision="863479d6859d3cae16e76db5f97ea3e35b7f2bd8"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="9acb3e17217c007a4469565ab01cf037d01ea090"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="a069b0806a337f9e1f335757d771d59879979434"/>
-  <project name="platform/external/strace" path="external/strace" revision="89824cc5029c90f44fab65dfd27f1b516dfd512b"/>
-  <project name="platform/external/svox" path="external/svox" revision="3c1f325f0f5a16e041fc60e53d45d6bd57007cfe"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="0fc3ae734d777a1e95c7633351de1d4764ac36ca"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="3747f266d4df878e5b1738a4204e7c1ea26ed381"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="d3079cb5cb6a27ec5b3f7ecdaaba69d5232d4101"/>
-  <project name="platform/external/webp" path="external/webp" revision="4a06b031b9072f65c034fe5ece2633d978d50815"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="117f1940fa0f4529783bdefe5bf3ac255e707ace"/>
-  <project name="platform/external/wpa_supplicant" path="external/wpa_supplicant" revision="550e9f4ace79b684e246f6a17d3b8d30999afc4e"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="7a182ff25e44f2bc66448a9b9738a97ab43aaaaf"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="ccb649c33105a3f537dd4e71111d7afe0dd5e95c"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="d381d56e7dd4572a47935b353c8893727f5f50cb"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="7f2253709fc8ec200997a684b44ad946ba813f16"/>
-  <project name="platform/frameworks/support" path="frameworks/support" revision="b0d785331d7dc80ac06daa12434830ddcea7cc52"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="8d951a39a693d00e90e3d8c4d64fe619d0a1e72f"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="af9565aa8be0136463ec549d9d3abdd906d2c390"/>
-  <project name="platform/libcore" path="libcore" revision="027162a7afeec9f68a8e0b25bbf3c574ee4ed66d"/>
-  <project name="platform/ndk" path="ndk" revision="ffbb37a4985ca4aa9ae11f5593e79efcabce5515"/>
-  <project name="platform/prebuilt" path="prebuilt" revision="a4062cc40fcaa0776dc880ce591b4c515d36f420"/>
-  <project name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="d2685281e2e54ca14d1df304867aa82c37b27162"/>
-  <project name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="627f9b20fc518937b93747a7ff1ed4f5ed46e06f"/>
-  <project name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="d9735fc81434f2af2c44d86ca57740c673c8d9bc"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="acba00cdb4596c6dcb61ed06f14cf4ec89623539"/>
-  <project name="platform/system/bluetooth" path="system/bluetooth" revision="507e46e553586bec971551322f20d066c80a0788"/>
-  <project name="platform/system/core" path="system/core" revision="91e5551f88aea5aa64e1b4f8b4b52d7be2b28b64"/>
-  <project name="platform/system/extras" path="system/extras" revision="0205c49fedf29620165c6b4e6db3d13739c93396"/>
-  <project name="platform/system/media" path="system/media" revision="7f17e3995d1588cfcc309b56525652794b6513ef"/>
-  <project name="platform/system/netd" path="system/netd" revision="3d298fde142bee3fc4f07f63f16f2d8ce42339c0"/>
-  <project name="platform/system/vold" path="system/vold" revision="919829940468066a32f403980b43f6ebfee5d314"/>
-  <!-- Emulator-specific things -->
-  <project name="device_generic_goldfish" path="device/generic/goldfish" remote="b2g" revision="fc5f390fa314385e2a84629ea88284a60b40f7c4"/>
-  <project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="02c32feb2fe97037be0ac4dace3a6a5025ac895d"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/emulator-jb/config.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-emulator-jb.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["droid", "package-emulator", "package-tests"],
-    "upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{workdir}/out/emulator.tar.gz",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "upload_platform": "emulator-jb",
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    },
-    "b2g_manifest": "emulator-jb.xml",
-    "b2g_manifest_intree": true
-}
deleted file mode 100644
--- a/b2g/config/emulator-jb/releng-emulator-jb.manifest
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": true
-},
-{
-"size": 12072532,
-"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
-"algorithm": "sha512",
-"filename": "gtk3.tar.xz",
-"setup": "setup.sh",
-"unpack": true
-}
-]
deleted file mode 100644
--- a/b2g/config/emulator-jb/sources.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="8df1b0580ade1786bc1bf05a6abc06bcd62c2d6b">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="7c5a77c651bcde37005e6b6e209747edcc6c9361"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
-  <!-- Stock Android things -->
-  <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="5c45f43419d5582949284eee9cef0c43d866e03b"/>
-  <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="3748b4168e7bd8d46457d4b6786003bc6a5223ce"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="9025e50b9d29b3cabbbb21e1dd94d0d13121a17e"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="b89fda71fcd0fa0cf969310e75be3ea33e048b44"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="2e7d5348f35575870b3c7e567a9a9f6d66f8d6c5"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="1342fd7b4b000ac3e76a5dfe111a0de9d710b4c8"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" revision="c09e1b3a55153d1ba142d5bf548c90487ea71f9e"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="1b26ad444462ccbd97f6319565b4735f7bd779e5"/>
-  <project name="device/common" path="device/common" revision="4e1a38704dcfadef60ed2da3cfeba02a56b069d2"/>
-  <project name="device/sample" path="device/sample" revision="b045905b46c8b4ee630d0c2aee7db63eaec722d9"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="fa873799be5cf200f1d1d32a63953949c9dcdda8"/>
-  <project name="platform/bionic" path="bionic" revision="0d910c2a305f6b223b7b879a4532df1d0ec73030"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="b279a60d33785df6d08065a2b082eeecb64af759"/>
-  <project name="platform/external/aac" path="external/aac" revision="67e322018c4ae56213dec4083f1e37cf7e087a05"/>
-  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="72573746f78ed1bce49e93737f33d0248ee6da97"/>
-  <project name="platform/external/bison" path="external/bison" revision="28effbb752100922ad6c80a98c8bb10e133a4d2a"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="5ffcc745e11ceee2bae573156b6f1e6adfc626fb"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="a5ee05561c389494e79b8ae9531079f8ede18172"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="1cec80d1db6520985616f83de06048deb17b224f"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="6661527f6c35842f51ae2e9dc121b74626eb257a"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="126ae3c6d08241dd7f9f3aded3525f861540e62f"/>
-  <project name="platform/external/dropbear" path="external/dropbear" revision="94ee5e669e2d6d7ff307e03cb57ab4a523747aef"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="21969c36a17adc5d6788d637145bd5a29055cd17"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="2a029ad5458aebb8aa0469468b9e865cda36a993"/>
-  <project name="platform/external/expat" path="external/expat" revision="52195dab4c5e4c7f6228d051d98ac00cf8e42701"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="be2875dc5332ce572cecb3271b722f619849195d"/>
-  <project name="platform/external/flac" path="external/flac" revision="83a1fe501ebcade62a057b848e716075e1130862"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="c9ff2def9e89f87c193fe168188a137843ea23ac"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="064c41f1f1d68c9b164cdfdac66da5a90fb75f6d"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="257d86b044f29c721a89a7465287e4abdf17c08d"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="9a9f70f8ad6a59656f043579a44dfb965317c4f3"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="3ac9e25cc800dc8c5dda7003ed69ef978cf052f5"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="3891d3c4d20e9583906641ea33f4973791ae999f"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="c9354c605264168de2523ab158067088abde719b"/>
-  <project name="platform/external/icu4c" path="external/icu4c" revision="a8f744cec5125866672e131f328cc5a6e35c9173"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="eea3c493f74aab7f91a12c0c4a5cbf6e6bebbbb1"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="add52510498261b971560f045514319819988659"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="2cdf9477087793a7a51037e21f79b6f8969fb1bc"/>
-  <project name="platform/external/jack" path="external/jack" revision="a39e68eaae6309c1adcda79e4b69f4f168e896a1"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="66eda28b42afe6150f90d72bc90e307ce43697e9"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="16ed6dca8738be33ad5c9990a09631bbc2e559c3"/>
-  <project name="platform/external/junit" path="external/junit" revision="5ceac9a37c430197a72a0e38bed0b0e7781ed5b7"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="88128edec8df6137d0d84ca8fec3493b2e404cad"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="89a1c57e02e27a3a226424992833ed9645991ce2"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="8bf95c739da6c60a08b07297a1d7b996d51fd53b"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="7bd0b8345c96344746541e8f39375226bf580c41"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="6b0f05807a0e117bd774029a2b84e95ac1254353"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="7db9ecfdf0d68c5000dbbaf8d96b0ff11d98a7fd"/>
-  <project name="platform_external_libpng" path="external/libpng" remote="b2g" revision="5f020432161cfde3d66aa4879b1d216a1f093303"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="fafd3f40d5185ddb99a47fe951a60c8c5d9eece2"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="986b9a21757ebbd9c18a00a8b09d495b9681d6e1"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="1be94b794185aa20e0a66062c34691f31e37ec1f"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" revision="15dd90d06fce6f13243a2c24248a64b3381f7e25"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="1b182dd7e82bdd41dd2791831b68252d86a61c82"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="7fddee20c8f2b792a85ed5cd663c241af7db282b"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="2d1bb4b8633349cca0bd3319149629cc39c73b97"/>
-  <project name="platform/external/ping" path="external/ping" revision="ea46d4544bd58b406cac525b4036264da2a81404"/>
-  <project name="platform/external/ping6" path="external/ping6" revision="501b3d22cd27e732f7c2e66ac2ca9d7e668e690a"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="e03c033ca948e7b63436376c3d4ea5b16fa8e03e"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="3f50f9936c204c236f85a592647278ed9d6557a0"/>
-  <project name="platform/external/sepolicy" path="external/sepolicy" revision="0e9e59717b5462b2310e216e2981fdfc55a67430"/>
-  <project name="platform/external/skia" path="external/skia" revision="209b62a4c69e569fd62eb00d50de7d4bee878277"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="2cc5ed671b4b29f0dbf64d1afc8b68599d36b15f"/>
-  <project name="platform/external/speex" path="external/speex" revision="9d1647340a04fbaf7b54ad8269f3aa523703fb68"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="9f73c46223fb3db135b22e68abaf0977132d76cf"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="630990abdc445a6d4ae790ef904521df2e7e2250"/>
-  <project name="platform/external/strace" path="external/strace" revision="1714f1f9abf2237901b4c5d80955a3556d355c60"/>
-  <project name="platform/external/svox" path="external/svox" revision="65c756ac5edc78493d8597b865362015c1a6b6e9"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="6fdb4dfecc14d4634479bb544b0badf1eb58df92"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="75a7b633f60026f8d371e18e9127015990656b12"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="a6e1da53a63cc2b676ee75a97a5953531fafa27a"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="ed2c5fc8937f8225ec6fd94ebcabac65621a2dc8"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="f5549cc02ee15888ecc31cf85b346578260975f9"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="10b2146109b54c868dec73f1e67abe03fa3acfed"/>
-  <project name="platform/external/webp" path="external/webp" revision="020c9b164f4a9d8bce6b48d5d2b783136a8de669"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="1a1433203ddf6395516e065ada1dcdfc8bd5c654"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="d94a17182a88c2c2d865f50b728de8561d251efa"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="06608b270da9ec8a3e618f201d7356aad83f9ffe"/>
-  <project name="platform_frameworks_av" path="frameworks/av" remote="b2g" revision="5fec1fcdc31a4db34e60cc0f73f7c93000fb1a8d"/>
-  <project name="platform/frameworks/base" path="frameworks/base" revision="8fafbc6692a52d1f1417693f24f6349b4de5afbd"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="c135c11c422c1570fdae2e19336f06f39e723c5a"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="bc06a1779be6919a581a938e1c3118b3a4ab4c18"/>
-  <project name="platform/frameworks/wilhelm" path="frameworks/wilhelm" revision="4f330e2d671e230c106a3c41ecddbced8ff5d826"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="bb653159145842bd86a3522073fcbf5d6450c598"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="7044afe8fa0a992a2926370e7abe9d06cc9df67b"/>
-  <project name="platform/libcore" path="libcore" revision="3552ed1686d04a65b85e56ccc24ff3fcf77725e6"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="4792069e90385889b0638e97ae62c67cdf274e22"/>
-  <project name="platform/ndk" path="ndk" revision="7666b97bbaf1d645cdd6b4430a367b7a2bb53369"/>
-  <project name="platform/prebuilts/misc" path="prebuilts/misc" revision="f6ab40b3257abc07741188fd173ac392575cc8d2"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="e52099755d0bd3a579130eefe8e58066cc6c0cb6"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="842e33e43a55ea44833b9e23e4d180fa17c843af"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5db24726f0f42124304195a6bdea129039eeeaeb"/>
-  <project name="platform/system/bluetooth" path="system/bluetooth" revision="930ae098543881f47eac054677726ee4b998b2f8"/>
-  <project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="6c9cebe5892c69e8b4bb2ea4e202f36ad095a4f0"/>
-  <project name="platform_system_core" path="system/core" remote="b2g" revision="542d1f59dc331b472307e5bd043101d14d5a3a3e"/>
-  <project name="platform/system/extras" path="system/extras" revision="18c1180e848e7ab8691940481f5c1c8d22c37b3e"/>
-  <project name="platform/system/media" path="system/media" revision="d90b836f66bf1d9627886c96f3a2d9c3007fbb80"/>
-  <project name="platform/system/netd" path="system/netd" revision="56112dd7b811301b718d0643a82fd5cac9522073"/>
-  <project name="platform/system/security" path="system/security" revision="f48ff68fedbcdc12b570b7699745abb6e7574907"/>
-  <project name="platform/system/vold" path="system/vold" revision="8de05d4a52b5a91e7336e6baa4592f945a6ddbea"/>
-  <default remote="caf" revision="refs/tags/android-4.3_r2.1" sync-j="4"/>
-  <!-- Emulator specific things -->
-  <project name="android-development" path="development" remote="b2g" revision="dab55669da8f48b6e57df95d5af9f16b4a87b0b1"/>
-  <project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="3a9a17613cc685aa232432566ad6cc607eab4ec1"/>
-  <project name="device_generic_goldfish" path="device/generic/goldfish" remote="b2g" revision="197cd9492b9fadaa915c5daf36ff557f8f4a8d1c"/>
-  <project name="platform/external/libnfc-nci" path="external/libnfc-nci" revision="7d33aaf740bbf6c7c6e9c34a92b371eda311b66b"/>
-  <project name="libnfcemu" path="external/libnfcemu" remote="b2g" revision="125ccf9bd5986c7728ea44508b3e1d1185ac028b"/>
-  <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="c5f8d282efe4a4e8b1e31a37300944e338e60e4f"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="0e56e450367cd802241b27164a2979188242b95f"/>
-  <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="94fa531c4995f8ed7161468c58082d3eedce5801"/>
-  <project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="02c32feb2fe97037be0ac4dace3a6a5025ac895d"/>
-  <project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="5f4b68c799927b6e078f987b12722c3a6ccd4a45"/>
-  <project name="android-sdk" path="sdk" remote="b2g" revision="8b1365af38c9a653df97349ee53a3f5d64fd590a"/>
-  <project name="darwinstreamingserver" path="system/darwinstreamingserver" remote="b2g" revision="cf85968c7f85e0ec36e72c87ceb4837a943b8af6"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/emulator-kk/config.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-emulator-kk.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["droid", "package-emulator", "package-tests"],
-    "upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{workdir}/out/emulator.tar.gz",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "upload_platform": "emulator-kk",
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    },
-    "b2g_manifest": "emulator-kk.xml",
-    "b2g_manifest_intree": true
-}
deleted file mode 100644
--- a/b2g/config/emulator-kk/releng-emulator-kk.manifest
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": true
-},
-{
-"size": 12072532,
-"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
-"algorithm": "sha512",
-"filename": "gtk3.tar.xz",
-"setup": "setup.sh",
-"unpack": true
-}
-]
deleted file mode 100644
--- a/b2g/config/emulator-kk/sources.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="964d9fa4eabe9eb473ef9101ca2a690880f28547">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="7c5a77c651bcde37005e6b6e209747edcc6c9361"/>
-  <!-- Stock Android things -->
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="f92a936f2aa97526d4593386754bdbf02db07a12"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="6e47ff2790f5656b5b074407829ceecf3e6188c4"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="1950e4760fa14688b83cdbb5acaa1af9f82ef434"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="ac6eb97a37035c09fb5ede0852f0881e9aadf9ad"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" remote="caf" revision="c09e1b3a55153d1ba142d5bf548c90487ea71f9e"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="737f591c5f95477148d26602c7be56cbea0cdeb9"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" remote="caf" revision="c33513f9de95fcdf4ec832db5e3ebd612382f541"/>
-  <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="51da9b1981be481b92a59a826d4d78dc73d0989a"/>
-  <project name="device/common" path="device/common" revision="798a3664597e6041985feab9aef42e98d458bc3d"/>
-  <project name="device/sample" path="device/sample" revision="9aebb4ac5b6c1b2552599651a0e51b01e720eea6"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="77d97588f8ca4ea280d4e6b6225fc72853078778"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="4fd89afeff2706cc226724dd039e086b2b5a86d4"/>
-  <project name="platform/external/aac" path="external/aac" revision="585942dfe8ce0b450af2409720cc0bd9a595ceae"/>
-  <project name="platform/external/bison" path="external/bison" revision="00953c546c8e02ba618355544009f373b465471e"/>
-  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="067eac306279fd677fcf7408cc960741dd07d01a"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="79e9d7bac946b2d89c468766699c8ea35dff33eb"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="145950eb384ccc6261ee649d802d58795fc3ff29"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="25648e00091208cad15505ef7f10183d22d4e2ea"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="d3307f4cf6c3dc99ff3993881874c7498502e346"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="8501b339deaad1354697fb4adada267b4600b142"/>
-  <project name="platform/external/dropbear" path="external/dropbear" revision="c4af303ab2f8a989feadf7ad211e74e77bd14edf"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="42e25ab63418386ccf39ac781ba52a847fa88602"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="801c347fd1ef0685e4ec040aba5cef331ec14350"/>
-  <project name="platform/external/expat" path="external/expat" revision="4a65b6cb6d2aae6bf952b0e6b44881f84fdf5128"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="e24fa134127a9f2a298ad04c5d092ce2c6b43791"/>
-  <project name="platform/external/flac" path="external/flac" revision="d835398098fcbcb904e99ec6bdb9e4a78ef82a7d"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="d5a7ed510903655138246192e031960b09418209"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="41a7d241271ff1738bcb90ef98fc657938899f17"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="a14feae5ebbcda801c26623ec6b04884e2a9ed5b"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="50ca09a5b13245c7357733a9072d67fd3d8d4709"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="0e87f7087bead3fbba86ad24fb888b23c25b35d3"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="77bfb851261572216aeba5a5e1bb1d910d40ecb9"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="6e3a3edf0a9ae09a7b92637c2a7131df0bde4760"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="b438b9c63d6f79cb08391f0b0f12b8457ea99395"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="c493b85a54d27cbcb1dcb91bb86545254cf28684"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="fe8cf0795af508d6bd413d0ab729ed6afabd237e"/>
-  <project name="platform/external/jack" path="external/jack" revision="f4e712ba487ef9c26360bce0ae2a7bf62cb36e0a"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="369044ba5a78dd3378a804402d43819551350bfc"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="b0d8c64f08ef085025b60d9d398e66089cafe2c0"/>
-  <project name="platform/external/junit" path="external/junit" revision="4304fac3d9e09955b1d73adfe3dff49a8d14b38a"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="ffb6eeb53ef4ec427e24862c30317179fb303006"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="32666d6cf523e154c47a2378d5344f574f537f31"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="06209143852be5967c67eb7675d80ea6250c6487"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="35499a49e8475844a1ea4f7d17cef7c6ebb85051"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="b33f5501cc0ef62a776f1223ede90beacb54ffa3"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="b8abe0f4ea706357680930f86fdd6cd26bf30b31"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="e79b02c09f131d26a4b95d025fe85f3e0bd87a55"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="f2a93748f1974a76f1676f66049b3a29f1b4e532"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="cf9b75ee1949969c6620fcbec854e67a305dbbc7"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="11e4fb71a745e7d0f76099f8861d7e6083c104fa"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" remote="caf" revision="dd17df3f6775c4366a5c1d21865370d60a3b1295"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="221fb0e62a39d4cedd6469a048cadb28fbf01a96"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="0c2bf20f00ca9d74080a75eda76d0a5550702eaa"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="aa09f63881e72abb398d301c8c19c56583790c84"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="fa764bcb74c08acb4143facd9849722570c2f72b"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="f9e8d80a28c31202759760ead2444d2170830b3c"/>
-  <project name="platform/external/scrypt" path="external/scrypt" revision="98e45237eb006217a8d011da70090932a342707e"/>
-  <project name="platform/external/sepolicy" path="external/sepolicy" revision="5801984a666503748a7df6ad6c88b559e871b400"/>
-  <project name="platform/external/sfntly" path="external/sfntly" revision="2386cc392b9c6bf0ab17b23e853a1aa4b1f3db9a"/>
-  <project name="platform/external/skia" path="external/skia" revision="62efe29dfe1e5d425bcfd2d187ea8950b972762a"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="ad7c4fc233e6725e508a7f798c443b2985819c64"/>
-  <project name="platform/external/speex" path="external/speex" revision="ab4d3d4aebf76d88c664e4da19c9afcf01f59da1"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="5c8e8d23e689b53ce2adb5865556900b6402ad46"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="b0ff03ade03fa080ca8a1932cc7e328661d33927"/>
-  <project name="platform/external/strace" path="external/strace" revision="df60312a98c0cdb419d130a454bd5f3190ee6a16"/>
-  <project name="platform/external/svox" path="external/svox" revision="1cc8a28a4089b0a2041c4077e917e5964dd10e4d"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="ab78ce1be9f67f787282796f8accc7d50a2fb051"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="c76d00f367d39014256d478aa917f57f6424d455"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="4b3f554e49d94a41276dddcc1a11fa0442c2044b"/>
-  <project name="platform/external/tinycompress" path="external/tinycompress" revision="4ef0577bf643bc5ae8168015d2a0aa437d165564"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="2a1ec6642c9f7672d9681ebb3f3a313fd07076ce"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="e3247e3d0b61e8f7a8542ee5d0d3bb3c6fd225fe"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="0d21d46a2ff991df430b76be5f6980e4cbb288d4"/>
-  <project name="platform/external/webp" path="external/webp" revision="69b867b7841425c3c8a195cf995d0a1ce910a564"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="d329bff545502138fc328853bd8ee81cbb65f9db"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="e748574e9fa44cfd85df28b75d56f7f2f1cb4293"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="72f197d0cc4009f97d3b0ae2d2f3eb2088468d45"/>
-  <project name="platform/frameworks/base" path="frameworks/base" revision="a155d358adbd5e06152f4c5329b12955ba5372b1"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="2176649bcda07ff82ba6e83f3b5ee8b80f2c5cb1"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="7a2d17bd2190556c9c804721ad7b19d45948bb1f"/>
-  <project name="platform/frameworks/wilhelm" path="frameworks/wilhelm" revision="eb6077f10ae6255a72337124188f0e08dcd10e3e"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="3b80c725cea54132df05d208930d91e00d19f999"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="01f436c51dc68aec7cc1c85fda6e6792b2a95066"/>
-  <project name="platform/libcore" path="libcore" revision="9877ade9617bb0db6e59aa2a54719a9bc92600f3"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="46c96ace65eb1ccab05bf15b9bf8e53e443039af"/>
-  <project name="platform/ndk" path="ndk" revision="cb5519af32ae7b4a9c334913a612462ecd04c5d0"/>
-  <project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="c739cffa6394c06e099ea48879a20341b6163338"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="6aa61f8557a22039a30b42b7f283996381fd625d"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="b562b01c93de9578d5db537b6a602a38e1aaa0ce"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="387f03e815f57d536dd922706db1622bddba8d81"/>
-  <project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="6c9cebe5892c69e8b4bb2ea4e202f36ad095a4f0"/>
-  <project name="platform/system/extras" path="system/extras" revision="5356165f67f4a81c2ef28671c13697f1657590df"/>
-  <project name="platform/system/media" path="system/media" revision="be0e2fe59a8043fa5200f75697df9220a99abe9d"/>
-  <project name="platform/system/netd" path="system/netd" revision="36704b0da24debcab8090156568ac236315036bb"/>
-  <project name="platform/system/security" path="system/security" revision="583374f69f531ba68fc3dcbff1f74893d2a96406"/>
-  <project name="platform/system/vold" path="system/vold" revision="d4455b8cf361f8353e8aebac15ffd64b4aedd2b9"/>
-  <project name="platform/external/icu4c" path="external/icu4c" remote="aosp" revision="b4c6379528887dc25ca9991a535a8d92a61ad6b6"/>
-  <project name="platform_frameworks_av" path="frameworks/av" remote="b2g" revision="2da3a2d5100f8afa1229bb50aa2a29ea0aaf8417"/>
-  <project name="platform_system_core" path="system/core" remote="b2g" revision="8586f55fe4b015911b48e731b69c592ad82a0807"/>
-  <default remote="caf" revision="refs/tags/android-4.4.2_r1" sync-j="4"/>
-  <!-- Emulator specific things -->
-  <project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="72ffdf71c68a96309212eb13d63560d66db14c9e"/>
-  <project name="device_generic_goldfish" path="device/generic/goldfish" remote="b2g" revision="566810728cd485ff2f30766499d32ada7cbd487a"/>
-  <project name="platform_bionic" path="bionic" remote="b2g" revision="3e85c4683c121530c1c3a48c696a569bf5f587e2"/>
-  <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="5fff3b73c4ca30765ac70a696fcc2c81979eb384"/>
-  <project name="platform/external/libnfc-nci" path="external/libnfc-nci" revision="f37bd545063039e30a92f2550ae78c0e6e4e2d08"/>
-  <project name="platform_external_wpa_supplicant_8" path="external/wpa_supplicant_8" remote="b2g" revision="0c6a6547cd1fd302fa2b0f6e375654df36bf0ec4"/>
-  <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="c0dd0098328f3992e1ca09d6d4355729243863d5"/>
-  <project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="5f4b68c799927b6e078f987b12722c3a6ccd4a45"/>
-  <project name="platform/development" path="development" revision="5968ff4e13e0d696ad8d972281fc27ae5a12829b"/>
-  <project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="0c0c050518705d49531375012fa2b4e95e1b3693"/>
-  <project name="android-sdk" path="sdk" remote="b2g" revision="0951179277915335251c5e11d242e4e1a8c2236f"/>
-  <project name="darwinstreamingserver" path="system/darwinstreamingserver" remote="b2g" revision="cf85968c7f85e0ec36e72c87ceb4837a943b8af6"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/emulator-l/config.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-emulator-l.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["droid", "package-emulator", "package-tests"],
-    "upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{workdir}/out/emulator.tar.gz",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "upload_platform": "emulator-l",
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    },
-    "b2g_manifest": "emulator-l.xml",
-    "b2g_manifest_intree": true
-}
deleted file mode 100644
--- a/b2g/config/emulator-l/releng-emulator-l.manifest
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": true
-},
-{
-"size": 12072532,
-"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
-"algorithm": "sha512",
-"filename": "gtk3.tar.xz",
-"setup": "setup.sh",
-"unpack": true
-}
-]
deleted file mode 100644
--- a/b2g/config/emulator-l/sources.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="aee7ff3dba262a037559d360b62af429b62cb876">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="7c5a77c651bcde37005e6b6e209747edcc6c9361"/>
-  <!-- Stock Android things -->
-  <project groups="pdk,linux" name="platform/prebuilts/clang/linux-x86/host/3.5" path="prebuilts/clang/linux-x86/host/3.5" revision="ffc05a232799fe8fcb3e47b7440b52b1fb4244c0"/>
-  <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" revision="337e0ef5e40f02a1ae59b90db0548976c70a7226"/>
-  <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" revision="8af5ff6f5dced9eb5a8127459df6c75d24342204"/>
-  <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="30915518fa7ea07166efedc191a4f40aef516fe7"/>
-  <project depth="1" groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" remote="caf" revision="c09e1b3a55153d1ba142d5bf548c90487ea71f9e"/>
-  <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" revision="96eee58e3389fb05a835310d6a06a6ba4486097a"/>
-  <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" revision="7c8a46698171aa2e0be09edb43d15a6acf832770"/>
-  <project groups="pdk,linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" revision="24b2038be8a636fd4a5d21f0abae1e466b07bcf7"/>
-  <project depth="1" groups="pdk,linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" remote="caf" revision="c33513f9de95fcdf4ec832db5e3ebd612382f541"/>
-  <project groups="linux" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="ab14644af0429dfb6744e9709f9ef46fb7bf73e4"/>
-  <project name="device/common" path="device/common" revision="05f67c8cf7b9669da6f37f74b3388b594e319b84"/>
-  <project name="device/sample" path="device/sample" revision="298675b60a633253434c4829339534c08292dc92"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="39fd88f57cec1dd6e9c70f85ab0c76587f7ba766"/>
-  <project name="platform/bionic" path="bionic" revision="7741d30da4f0f0c15e6622ca75ad396e78eab7dd"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="c9ef7996198ad29e706b352cbb773a7dad5bdc5c"/>
-  <project name="platform/external/aac" path="external/aac" revision="78fdf0627dd31f77fe71fde289512f749032a787"/>
-  <project name="platform/external/bison" path="external/bison" revision="4efa7909d921823fbfcf85f5c64ad3578803e2ee"/>
-  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="cdae70948d67a920e8847ad0323ff11f51dbcaf9"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="d7a2c5578467c3b8375943bee09c20a692d8d2a0"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="c41fb467156106c6274c12e1279fbd5340757667"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="a1d60ce948816137de49ea0737d9a9d6b54adab7"/>
-  <project name="platform/external/clang" path="external/clang" revision="6c6bfc254506351c5753de7e2fe3eab6bca40d2b"/>
-  <project name="platform/external/compiler-rt" path="external/compiler-rt" revision="3b8d597882284a3694b9bca7500ee9d9a4f02683"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="72519f06fc08fe450607e040544267cd0befdee3"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="6e8e5151469e8da0eadb894813201f5e87e7ad66"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="566faf84e682b1e8233ed9853c9a0a4dd8c3bc37"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="5084a43adc8ae0de74888842a47d33d66f3fd2ca"/>
-  <project name="platform/external/expat" path="external/expat" revision="47e857874d4a893bc90288f98f392448151cf741"/>
-  <project name="platform/external/f2fs-tools" path="external/f2fs-tools" revision="fc24ac8347630a14d62ffafa93a27ec3b81cc44b"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="f24510089e8b5cb533c0406fd2e9c5a8eb1b201b"/>
-  <project name="platform/external/flac" path="external/flac" revision="ae2004f637dd0eb68d763f441d3ff1cf285d42b4"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="a177e10e69985dc9640b89f615e1c0b61fb4f0f4"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="9d1a7f107acea987ed2440c0a310a6c42f667bd7"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="c7e3aae061a272caa34e5a465edd9927cde42ac8"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="f0f278e928db903456cbbc2dfff2a678c31a9d27"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="5d13a30f9978eb09254ebc83ae51d6a730eec215"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="647fa898029679d4fac6958332c88c5f3f169439"/>
-  <project name="platform/external/icu" path="external/icu" revision="a41b209dc1f9836733c59a30e862784e8895ac7c"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="acf444b6a524b4bce5b7cfe81b29e2839ff6e508"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="bf460d6fcb58d7f8e95f5d3ab9ffa2e7e16c2957"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="11beff4f1ad782fd1d8e5c1857f2c2088abb42f6"/>
-  <project name="platform/external/jack" path="external/jack" revision="cd80e83b301ac9c5a845d8d01dc73084891cd19d"/>
-  <project name="platform/external/jemalloc" path="external/jemalloc" revision="a6a05e48b628346ec4342f8b6d1c3d0a5987236e"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="3b6bb83af87698537d150ee004ba27720af50f54"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="b5c22f7648e1b03241abb05733aec47e2bf66462"/>
-  <project name="platform/external/jsmn" path="external/jsmn" revision="646c4a36fd8cdb1ecd2080963bd26d9e245473c5"/>
-  <project name="platform/external/jsoncpp" path="external/jsoncpp" revision="d9d8c51470b0cd2b95219c6b596ef90ae7915b8e"/>
-  <project name="platform/external/junit" path="external/junit" revision="a9d933b7f8f42007de21bc674a61d491e14b48df"/>
-  <project name="platform/external/libcxxabi" path="external/libcxxabi" revision="31349d4fd0a2ee4744d1cade9fa774dd2213be80"/>
-  <project name="platform/external/libcxx" path="external/libcxx" revision="7cff60f9e680dc58c9a913eddc049946e3616265"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="7f76ac798f682fed4662c789010050789eabee89"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="0e6384fa203d8c7499fe64c9e93930df8e50cc99"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="13c47f6dfcd78c59243e997b5df30c5155949d59"/>
-  <project name="platform/external/libnl" path="external/libnl" revision="b1e000e9a7b0048a5e8335a32125b405bd77c53b"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="9a2354608fdae6e105b28d4456a94146e41616c7"/>
-  <project name="platform/external/libopus" path="external/libopus" revision="46be742257e102568f59c3ce18e322cf0b258799"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="03c8b18ba58ac3347c18875779e162c75c652715"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="8eac982ec2415fbc83e5a61899e0ca7eba4fe96d"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="317bc4b75ea40dfb5988c12f607505a86c6c2823"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="24b924ffd20dbf7359a9e15a10a8d1cfd6309597"/>
-  <project name="platform/external/libunwind" path="external/libunwind" revision="e3fa64fe20e4eaf13c2231727158bd5fac4e53ec"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="652843c7218cdfcd42c98a839b72941d0e4696ba"/>
-  <project name="platform/external/llvm" path="external/llvm" revision="63e3c6329893697af239dae0ddab843a3e1623a3"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" revision="32a5f67c10e0b87cf95bbbaad489b8e3f098eb01"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="c452c566cd6face953c9e33d01c4df652d39fdf6"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="00d9d6b1aa7772c96878db17d556f29150705be8"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="bf4112b16f0ede8128ba7ff3c17a0056834b7c75"/>
-  <project name="platform/external/pcre" path="external/pcre" revision="89b3b9780dbdd7c682b9bf2efd0f476a1ebc5d33"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="cdb14929d7c934944079ce070f5eb2f9459f824c"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="33d0429591d345687755c25f23ea2e46df5cd293"/>
-  <project name="platform/external/scrypt" path="external/scrypt" revision="d809e38af0d89747cde00970271fb64d42333302"/>
-  <project name="platform/external/sfntly" path="external/sfntly" revision="d2bab207acad60e098d0652b5ed7348c96a249f3"/>
-  <project name="platform/external/skia" path="external/skia" revision="b0fe7c355d4d95ff89b8e9e459285fe2b98e366d"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="3d04f03d824d5ea8835e577785b51022820ae763"/>
-  <project name="platform/external/speex" path="external/speex" revision="9d73341cd881c415e6fce726ea4918654cd03145"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="2394fd03445b9496025558d4e48a54c09180e132"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="49f98215d1dea7f96f7560528bc8528570e2e05b"/>
-  <project name="platform/external/strace" path="external/strace" revision="a093fa84778892c96159ccee02dc8d6c4378a124"/>
-  <project name="platform/external/svox" path="external/svox" revision="7543f63ace85c9812dfc5263d63ed190eebb7f1c"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="5ad81cc518df943dbff3a566f3db5a3aae4b3098"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="f28770c517d9ca78bf25779d833da2d8a3aa1c61"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="73444308ffa76f7df107c9b5c8eb657d2a212017"/>
-  <project name="platform/external/tinycompress" path="external/tinycompress" revision="d65aa7ba2e7548452906d3d61ee03c94cc64f25d"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="ea87469657dd498dd76ea01b35daab9d48503a3c"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="d09b587fe9bd7f1524d434c15941a5483c2d7046"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="7954026e4cbeeaa4bb7d7e2c82a6556ea34c58ab"/>
-  <project name="platform/external/webp" path="external/webp" revision="5df3d5cb644f301e4a0c78b939e411b061a36558"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="de40077759a01a02a3e21b30ea0755f2d6fc4e09"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="b2aadfdf9482777530efac1fb13a25ff401e78ee"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="a9dc8ffc4b43f0ff455d52fc5a889e92794962a4"/>
-  <project name="platform/external/zopfli" path="external/zopfli" revision="8b994159cf3fc74a58e42fca72bc6849e6027912"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="c39bd4ee1f4b3ef92bf7a45824b77703f40a5fd4"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="2293192ed15b88ebe962fb5377dd197200e6472b"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="f5feb2aa2047fbaf13be448fe8d06bff3ccf7b84"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="8d075b4d5e9e032b18fbc8b5def63827d1b4a30d"/>
-  <project name="platform/libcore" path="libcore" revision="bdec7d684c083760bef7bc4ba2429cceccaaf7d0"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="27bcc086236cedd31c056303e255c6d0ea3d4a50"/>
-  <project name="platform/ndk" path="ndk" revision="42e85f81cc6c74af145056ee80b06e520cccb9a7"/>
-  <project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="25b96077aeae7bd0e3a5e7c284fb636664337013"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="1d080491f26dfdfd76d5bbc3e6b40c660e8565af"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="61a10cbd19d6b7fc052a8cb92dfa1b37b93754f3"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="9e892a67a01671f312c76b0880dedaa6ba478148"/>
-  <project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="6c9cebe5892c69e8b4bb2ea4e202f36ad095a4f0"/>
-  <project name="platform/system/extras" path="system/extras" revision="47fa016e2248b80aebd5928402c7409f8e0ca64e"/>
-  <project name="platform/system/media" path="system/media" revision="70bfebc66d9c6a4c614a8c7efde90e8e7e1d8641"/>
-  <project name="platform/system/netd" path="system/netd" revision="d113f0ceefa9ce29eb3c86e2d23c7417a70b4048"/>
-  <project name="platform/system/security" path="system/security" revision="94e1617f6f2bc2286d005e79cffa6bf0721b06b3"/>
-  <project name="platform/system/vold" path="system/vold" revision="c065e301e38ea0c241164e2a373e1ecefbeaf2ec"/>
-  <project name="platform_frameworks_av" path="frameworks/av" remote="b2g" revision="479a404164986b3e95212eecdae7e67da4fba9ed"/>
-  <project name="platform_frameworks_base" path="frameworks/base" remote="b2g" revision="396b731dbccc62f272f1fdb8228109c3fbd83c25"/>
-  <project name="platform_frameworks_wilhelm" path="frameworks/wilhelm" remote="b2g" revision="174bb44bb9af7583e6337e1e1b6cc18d0217ae82"/>
-  <project name="platform_system_core" path="system/core" remote="b2g" revision="1b8322b228f717ff2a4d48fa8b44240d8e3f62bc"/>
-  <project name="platform_external_sepolicy" path="external/sepolicy" remote="b2g" revision="246c603d9fe181fa8893af7293dbc63e870fe5e0"/>
-  <default remote="caf" revision="refs/tags/android-5.1.0_r1" sync-j="4"/>
-  <!-- Emulator specific things -->
-  <project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="fe7df1bc8dd0fd71571505d7be1c31a4ad1e40fb"/>
-  <project name="device_generic_goldfish" path="device/generic/goldfish" remote="b2g" revision="dc8c7896562bf63190befb3e6b21310a4b7144fa"/>
-  <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="59e434cbecc02653f44cedeb2ef5cc88dc8bb61b"/>
-  <project name="platform_external_wpa_supplicant_8" path="external/wpa_supplicant_8" remote="b2g" revision="cbda29a58abc4ea1f7f4611fe354ab67b606219d"/>
-  <project name="platform/development" path="development" revision="0c51f6e0aa2ee57fcb75ec3b2ff6bf754cece63e"/>
-  <project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="2c0d193349c55337e37196a7f2d5cef37753ed3e"/>
-  <project name="android-sdk" path="sdk" remote="b2g" revision="ff4190dc603f62a7caa48342aa268acf99863c5c"/>
-  <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="10d289639ea62f2f6fcfb5bbf6121c484e95f767"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/emulator-x86-kk/config.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-emulator-kk.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["droid", "package-emulator", "package-tests"],
-    "upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{workdir}/out/emulator.tar.gz",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "upload_platform": "emulator-kk",
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    },
-    "b2g_manifest": "emulator-kk.xml",
-    "b2g_manifest_intree": true
-}
deleted file mode 100644
--- a/b2g/config/emulator-x86-kk/releng-emulator-kk.manifest
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": true
-},
-{
-"size": 12072532,
-"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
-"algorithm": "sha512",
-"filename": "gtk3.tar.xz",
-"setup": "setup.sh",
-"unpack": true
-}
-]
deleted file mode 120000
--- a/b2g/config/emulator-x86-kk/sources.xml
+++ /dev/null
@@ -1,1 +0,0 @@
-../emulator-kk/sources.xml
\ No newline at end of file
deleted file mode 100644
--- a/b2g/config/emulator-x86-l/config.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-emulator-l.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["droid", "package-emulator", "package-tests"],
-    "upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{workdir}/out/emulator.tar.gz",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "upload_platform": "emulator-l",
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    },
-    "b2g_manifest": "emulator-l.xml",
-    "b2g_manifest_intree": true
-}
deleted file mode 100644
--- a/b2g/config/emulator-x86-l/releng-emulator-l.manifest
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": true
-},
-{
-"size": 12072532,
-"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
-"algorithm": "sha512",
-"filename": "gtk3.tar.xz",
-"setup": "setup.sh",
-"unpack": true
-}
-]
deleted file mode 120000
--- a/b2g/config/emulator-x86-l/sources.xml
+++ /dev/null
@@ -1,1 +0,0 @@
-../emulator-l/sources.xml
\ No newline at end of file
deleted file mode 100644
--- a/b2g/config/emulator/config.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-emulator.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["droid", "package-emulator", "package-tests"],
-    "upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{workdir}/out/emulator.tar.gz",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.test_packages.json",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{workdir}/out/target/product/generic/*.tar.bz2",
-        "{workdir}/out/target/product/generic/tests/*.zip",
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    },
-    "b2g_manifest": "emulator.xml",
-    "b2g_manifest_intree": true
-}
deleted file mode 100644
--- a/b2g/config/emulator/releng-emulator.manifest
+++ /dev/null
@@ -1,18 +0,0 @@
-[
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": true
-},
-{
-"size": 12072532,
-"digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
-"algorithm": "sha512",
-"filename": "gtk3.tar.xz",
-"setup": "setup.sh",
-"unpack": true
-}
-]
deleted file mode 100644
--- a/b2g/config/emulator/sources.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <default remote="caf" revision="refs/tags/android-4.0.4_r2.1" sync-j="4"/>
-  <!-- Gonk-specific things and forks -->
-  <project name="platform_bionic" path="bionic" remote="b2g" revision="e2b3733ba3fa5e3f404e983d2e4142b1f6b1b846"/>
-  <project name="platform_build" path="build" remote="b2g" revision="1b0db93fb6b870b03467aff50d6419771ba0d88c">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
-  <project name="android-development" path="development" remote="b2g" revision="2bdf22305b523af644e1891b4ddfd9229336d0ce"/>
-  <project name="platform_external_apriori" path="external/apriori" remote="b2g" revision="11816ad0406744f963537b23d68ed9c2afb412bd"/>
-  <project name="platform_external_elfcopy" path="external/elfcopy" remote="b2g" revision="62c1bed1c4505369cac2e72fbe30452a598fb690"/>
-  <project name="platform_external_elfutils" path="external/elfutils" remote="b2g" revision="72940dec691fa3255e13df01f8c53b620e446066"/>
-  <project name="platform_external_opensans" path="external/opensans" remote="b2g" revision="b5b4c226ca1d71e936153cf679dda6d3d60e2354"/>
-  <project name="screencap-gonk" path="external/screencap-gonk" remote="b2g" revision="e6403c71e9eca8cb943739d5a0a192deac60fc51"/>
-  <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="af8b2b782387209cc5b5803926f86bdbc31570ca"/>
-  <project name="platform_frameworks_base" path="frameworks/base" remote="b2g" revision="6afc63abe52776ae6a1d32a2d927e630a743a86a"/>
-  <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="5fa1b11a01e7e90dbe9681e690020d10795ec1a9"/>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="android-sdk" path="sdk" remote="b2g" revision="4f46930827957afbce500a4a920755a218bf3155"/>
-  <project name="darwinstreamingserver" path="system/darwinstreamingserver" remote="b2g" revision="cf85968c7f85e0ec36e72c87ceb4837a943b8af6"/>
-  <!-- Stock Android things -->
-  <project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="425f8b5fadf5889834c5acd27d23c9e0b2129c28"/>
-  <project name="device/common" path="device/common" revision="42b808b7e93d0619286ae8e59110b176b7732389"/>
-  <project name="device/sample" path="device/sample" revision="237bd668d0f114d801a8d6455ef5e02cc3577587"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="34ea6163f9f0e0122fb0bb03607eccdca31ced7a"/>
-  <project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="52a1a862a8bac319652b8f82d9541ba40bfa45ce"/>
-  <project name="platform/external/bluetooth/glib" path="external/bluetooth/glib" revision="0febbc94a1c40c0227958b7f27764145ec6297bc"/>
-  <project name="platform/external/bluetooth/hcidump" path="external/bluetooth/hcidump" revision="03c410e4f80e73d2650b2d6973a11984d096100e"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="85a68103754b1e5473dca7becd76834848c77c35"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="960142b2e6a4269517467d44e4e953549ff56c38"/>
-  <project name="platform/external/dbus" path="external/dbus" revision="07274c4eed41f20d79265f049710b5bf08a3ef20"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="c543c0f363dee48a80ef17cff1d5b98fd426b01a"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="4e6e5ea3872facb3ad2d84784c108865cc8d536d"/>
-  <project name="platform/external/expat" path="external/expat" revision="728203a4d1c40de1a5fa5dcfa68057faaf3aac50"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="6d128260b94c366d4066c8452e6a8d23533db244"/>
-  <project name="platform/external/flac" path="external/flac" revision="e3b0a1fcadcfd1cfd2ebe217ada8ae12ceb3e292"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="15321e16a085b9b5c85cf029aee86bf57b2e65c1"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="6dbee1b36e184a0d39314254924a61837bd1ed3a"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="8c212ebe53bb2baab3575f03069016f1fb11e449"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="6b66309486b04d2107ab745a48d37c659da468fd"/>
-  <!-- icu4c is missing the default tag in caf, that's the *only* reason for the hardcode -->
-  <project name="platform/external/icu4c" path="external/icu4c" revision="0fa67b93b831c6636ca18b152a1b1b14cc99b034"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="c66c5716d5335e450f7a7b71ccc6a604fb2f41d2"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="32e954f4bcb000ce8f3d8be13bce435eef0cb725"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="3d70825f75a11a0e625c7be4f5889571e7509456"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="45b9af864cff193c98605d3fb8fb88d01e209e4a"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="e214a332b5dbb70e9ab5f37ad6e8fbe05a5759aa"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="46f667ba6c2fd83e4b419ccb16934ded55625b1d"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="dedb7df404eb8ca534c12aa47401f42b075d43f6"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="b994ba2e3e54734c34f624926e5fbfbca5735cde"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="7513a8f86d594184f9ac6250289d22817fe5d740"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="2aa9dc166c783c3afbaa90dd8b5b334031c4ad4d"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="95c40b11e6d98ad944d64c38e30693ac025e2c88"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="046e97ace354aa350845465635e4816fb27c9994"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="6282e9cd4c1eb3dc16bfb3592eff58fb6bd13022"/>
-  <project name="platform/external/skia" path="external/skia" revision="8c1c7cfacd82a174c65fcbf839d7037e3692aee8"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="7839a53c7c252fc5f8b1ab685a00cfcf0c7d0c39"/>
-  <project name="platform/external/speex" path="external/speex" revision="863479d6859d3cae16e76db5f97ea3e35b7f2bd8"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="9acb3e17217c007a4469565ab01cf037d01ea090"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="a069b0806a337f9e1f335757d771d59879979434"/>
-  <project name="platform/external/strace" path="external/strace" revision="89824cc5029c90f44fab65dfd27f1b516dfd512b"/>
-  <project name="platform/external/svox" path="external/svox" revision="3c1f325f0f5a16e041fc60e53d45d6bd57007cfe"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="0fc3ae734d777a1e95c7633351de1d4764ac36ca"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="3747f266d4df878e5b1738a4204e7c1ea26ed381"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="d3079cb5cb6a27ec5b3f7ecdaaba69d5232d4101"/>
-  <project name="platform/external/webp" path="external/webp" revision="4a06b031b9072f65c034fe5ece2633d978d50815"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="117f1940fa0f4529783bdefe5bf3ac255e707ace"/>
-  <project name="platform/external/wpa_supplicant" path="external/wpa_supplicant" revision="550e9f4ace79b684e246f6a17d3b8d30999afc4e"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="7a182ff25e44f2bc66448a9b9738a97ab43aaaaf"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="ccb649c33105a3f537dd4e71111d7afe0dd5e95c"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="d381d56e7dd4572a47935b353c8893727f5f50cb"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="7f2253709fc8ec200997a684b44ad946ba813f16"/>
-  <project name="platform/frameworks/support" path="frameworks/support" revision="b0d785331d7dc80ac06daa12434830ddcea7cc52"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="8d951a39a693d00e90e3d8c4d64fe619d0a1e72f"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="af9565aa8be0136463ec549d9d3abdd906d2c390"/>
-  <project name="platform/libcore" path="libcore" revision="027162a7afeec9f68a8e0b25bbf3c574ee4ed66d"/>
-  <project name="platform/ndk" path="ndk" revision="ffbb37a4985ca4aa9ae11f5593e79efcabce5515"/>
-  <project name="platform/prebuilt" path="prebuilt" revision="a4062cc40fcaa0776dc880ce591b4c515d36f420"/>
-  <project name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="d2685281e2e54ca14d1df304867aa82c37b27162"/>
-  <project name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="627f9b20fc518937b93747a7ff1ed4f5ed46e06f"/>
-  <project name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="d9735fc81434f2af2c44d86ca57740c673c8d9bc"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="acba00cdb4596c6dcb61ed06f14cf4ec89623539"/>
-  <project name="platform/system/bluetooth" path="system/bluetooth" revision="507e46e553586bec971551322f20d066c80a0788"/>
-  <project name="platform/system/core" path="system/core" revision="91e5551f88aea5aa64e1b4f8b4b52d7be2b28b64"/>
-  <project name="platform/system/extras" path="system/extras" revision="0205c49fedf29620165c6b4e6db3d13739c93396"/>
-  <project name="platform/system/media" path="system/media" revision="7f17e3995d1588cfcc309b56525652794b6513ef"/>
-  <project name="platform/system/netd" path="system/netd" revision="3d298fde142bee3fc4f07f63f16f2d8ce42339c0"/>
-  <project name="platform/system/vold" path="system/vold" revision="919829940468066a32f403980b43f6ebfee5d314"/>
-  <!-- Emulator-specific things -->
-  <project name="device_generic_goldfish" path="device/generic/goldfish" remote="b2g" revision="fc5f390fa314385e2a84629ea88284a60b40f7c4"/>
-  <project name="platform_prebuilts_qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="02c32feb2fe97037be0ac4dace3a6a5025ac895d"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/flame-kk/config.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-flame-kk.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2", "dosfstools", "java-1.6.0-openjdk"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["", "blobfree"],
-    "upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml",
-        "{workdir}/out/target/product/flame/fota-*-update-*.mar"
-    ],
-    "public_upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml",
-        "{objdir}/dist/b2g-update/*.mar",
-        "{workdir}/out/target/product/flame/fota-*-update.mar"
-    ],
-    "zip_files": [
-        ["{workdir}/out/target/product/flame/*.img", "out/target/product/flame/"],
-        ["{workdir}/out/target/product/flame/bootloader", "out/target/product/flame/"],
-        ["{workdir}/boot.img", "out/target/product/flame/"],
-        "{workdir}/flash.sh",
-        "{workdir}/gecko/b2g/installer/flash.bat",
-        "{workdir}/prebuilts/misc/windows/win_flash_tools/*",
-        "{workdir}/load-config.sh",
-        "{workdir}/.config",
-        "{workdir}/sources.xml",
-        "{workdir}/profile.sh",
-        ["{workdir}/gecko/tools/profiler/merge-profiles.py", "gecko/tools/profiler/"],
-        ["{workdir}/scripts/profile-symbolicate.py", "scripts/"],
-        ["{workdir}/gecko/tools/rb/fix_stack_using_bpsyms.py", "gecko/tools/rb/"]
-    ],
-    "env": {
-        "VARIANT": "userdebug",
-        "MOZILLA_OFFICIAL": "1",
-        "MOZ_TELEMETRY_REPORTING": "1",
-        "B2G_UPDATE_CHANNEL": "nightly",
-        "GAIA_KEYBOARD_LAYOUTS": "en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,zh-Hant-Zhuyin,en-Dvorak",
-        "FOTA_FINGERPRINTS": "qcom/flame/flame:4.4.2/KOT49H/eng.cltbld.20150527.043015:userdebug/test-keys,qcom/flame/flame:4.4.2/KOT49H/eng.naoki.20151216.105618:userdebug/test-keys"
-    },
-    "b2g_manifest": "flame-kk.xml",
-    "b2g_manifest_intree": true,
-    "additional_source_tarballs": ["backup-flame.tar.xz"],
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    }
-}
deleted file mode 100644
--- a/b2g/config/flame-kk/releng-flame-kk.manifest
+++ /dev/null
@@ -1,17 +0,0 @@
-[
-{
-"size": 135359412,
-"digest": "45e677c9606cc4eec44ef4761df47ff431df1ffad17a5c6d21ce700a1c47f79e87a4aa9f30ae47ff060bd64f5b775d995780d88211f9a759ffa0d076beb4816b",
-"algorithm": "sha512",
-"filename": "backup-flame.tar.xz",
-"comment": "v18D"
-},
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": "True"
-}
-]
deleted file mode 100644
--- a/b2g/config/flame-kk/sources.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="964d9fa4eabe9eb473ef9101ca2a690880f28547">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
-  <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="7c5a77c651bcde37005e6b6e209747edcc6c9361"/>
-  <!-- Stock Android things -->
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" remote="caf" revision="c09e1b3a55153d1ba142d5bf548c90487ea71f9e"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" remote="caf" revision="c33513f9de95fcdf4ec832db5e3ebd612382f541"/>
-  <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="a32003194f707f66a2d8cdb913ed1869f1926c5d"/>
-  <project name="device/common" path="device/common" revision="96d4d2006c4fcb2f19a3fa47ab10cb409faa017b"/>
-  <project name="device/sample" path="device/sample" revision="9c19bbbe0793ebdc427277dc37f9bb4ae20bccb2"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="18f1b5e28734183ff8073fe86dc46bc4ebba8a59"/>
-  <project name="platform/external/aac" path="external/aac" revision="fa3eba16446cc8f2f5e2dfc20d86a49dbd37299e"/>
-  <project name="platform/external/bison" path="external/bison" revision="c2418b886165add7f5a31fc5609f0ce2d004a90e"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="23e322ab19fb7d74c2c37e40ce364d9f709bdcee"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="1cb636bd8e9e5cdfd5d5b2909a122f6e80db62de"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="0d73ef7049feee794f14cf1af88d05dae8139914"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="84b7252b0a9d0edc9a1db1e0c518771d26b23058"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="a0f273e289166fa488bba261b2d431c9503aed0d"/>
-  <project name="platform/external/dropbear" path="external/dropbear" revision="a34ddbe3819bc465968f3676c734b405e655f8b7"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="164ce36fe92b78b92575e56abd101209631b48fc"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="b23b2dfb354b3ccf5d1c5d39815f02e7048cf516"/>
-  <project name="platform/external/expat" path="external/expat" revision="0af0cb3bc7519e567bd9daff3dcd315ab0134a99"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="0da5f683c9ddc9442af3b389b4220e91ccffb320"/>
-  <project name="platform/external/flac" path="external/flac" revision="b38b3d2c53c22f542fd764f9d60ef19b49d42e1b"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="899c67b6cfcd2010784fbf08c5415af16c526e0c"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="9241386b62c353302c2f9eccda0672685b252b4d"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="e11a9c7fe6f1cef99aad2f25afaea37b72fe9f93"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="9aef3ea079a57c98a9207f8c3b95a5dc08ee74b5"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="0f1ce3dd0b880b6ae0cf7f5413702b8ef542efb2"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="858f2d28ac741ef139f74bdbdbcefa7560f17c91"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="3309edccdbc2a92eb03a285abb27c1c1c4a88e43"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="1778c5571f3b9ed213a03ecc80adf74f570b4916"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="f4cb1ee4b00abbfb6f968dc25818c23b4b47e584"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="ceedcd308d47976e31eda76a8852edd7f92837de"/>
-  <project name="platform/external/jack" path="external/jack" revision="5ceb2025ac5d25ed48183ac2d3dac4691fe761fb"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="31b17e69a87e4caa50f9c6b1a47c84ef75f79d83"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="1808bfd1060d2fde90478691a4da8ead0cb0a345"/>
-  <project name="platform/external/junit" path="external/junit" revision="01da89f7f8a8f9852e0ec1a490e7d2a0ee3785d5"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="50761abed8f4734970874165b386cfd4d9599db4"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="9e987ccb716624d658f98abc7db2097e11e3d8ed"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="ec0b24fb1468abe37be4164a6feb16568e036bde"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="3a7bce5dda6a8db92c9248846d0255e68c3a5b2a"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="cdf9c7fe4febaa4a7b3917d56d4180960e48800f"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="1e2cf2c4a2d15a9b1ca2d353b99fb6884413ffe1"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="edc447a138ec77236f1cbfd36c1211a38ba21418"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="ca9281af0bfe816f1ae2fc3e8771524164a0a03c"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" remote="caf" revision="dd17df3f6775c4366a5c1d21865370d60a3b1295"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="f8c396c4d446a038358106a301b329607a04633d"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="444644cfa9a2f3002863caa168fb2d6b34dfd1e8"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="bb8428f762b3632f493572c4f73957e1281ade79"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="48ee66d295979372ed0234cefda42385daae8312"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="aa0725fb1da35e47676b6da30009322eb5ed59be"/>
-  <project name="platform/external/scrypt" path="external/scrypt" revision="eb05b73c3bba21fff55529813109de4bad5ddbd1"/>
-  <project name="platform/external/sepolicy" path="external/sepolicy" revision="6f50b84072d4920ce331226837ba794be72ea2b1"/>
-  <project name="platform/external/sfntly" path="external/sfntly" revision="30d4e1f3d81ad9f7a1aa14ce6d2ceb5df56c15cd"/>
-  <project name="platform/external/skia" path="external/skia" revision="84a7058ba19c80ababd8c7c9eb379bf0babcc9ce"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="9fb2c53165b1512aa57db0bf1c757e3215e28eb8"/>
-  <project name="platform/external/speex" path="external/speex" revision="fb7db5853ffb841a4d32fea8b5c3a43e6b875cae"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="ac0e0d5f866fbce0ebf00d0ddd615464849aa83b"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="628e14d37c5b239839a466e81c74bf66255b770b"/>
-  <project name="platform/external/strace" path="external/strace" revision="1a4e05d53dec658a061acb9869cb1eb1342cd09d"/>
-  <project name="platform/external/svox" path="external/svox" revision="b3c3bf3c1be35f3d455671de9f6d7b9bca3ce73a"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="841663c88f0692202d57def239267e28cf832cdc"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="c1b682efcd3b3eac3101408231b58ea92c668756"/>
-  <project name="platform/external/tinycompress" path="external/tinycompress" revision="a85e245a09c028d36cbf04f233be10bc583691f5"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="494e448824844d866e805831d1d5f5acb654065c"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="ead7a211773b9366466c6512cf945bc9dd1490a5"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="78772d5dde5a06eefae281b0dde224fcac46c4ff"/>
-  <project name="platform/external/webp" path="external/webp" revision="513e97bd307573e2adc776eb5368bd129aceaa4a"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="446452f84e9cc4c75d8e80f6f05e24793397a19d"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="a2cff2275e1b501ff478b03757d6e4f05fddc2db"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="6eb3570ff8fa71bd83bb375b4bf09804c6089fed"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="dbbe673145107e99883f62bafd70c5f43f11065c"/>
-  <project name="platform/frameworks/wilhelm" path="frameworks/wilhelm" revision="f0c3b4edf597c40aae4ea311575f39c8bcf203df"/>
-  <project name="platform/libcore" path="libcore" revision="baf7d8068dd501cfa338d3a8b1b87216d6ce0571"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="50c4430e32849530ced32680fd6ee98963b3f7ac"/>
-  <project name="platform/ndk" path="ndk" revision="e58ef003be4306bb53a8c11331146f39e4eab31f"/>
-  <project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="c739cffa6394c06e099ea48879a20341b6163338"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="c792f0bd9fff7aea2887c60bbb3a9bbdb534ffa3"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="69d524e80cdf3981006627c65ac85f3a871238a3"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>
-  <project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="6c9cebe5892c69e8b4bb2ea4e202f36ad095a4f0"/>
-  <project name="platform/system/extras" path="system/extras" revision="576f57b6510de59c08568b53c0fb60588be8689e"/>
-  <project name="platform/system/netd" path="system/netd" revision="a6531f7befb49b1c81bc0de7e51c5482b308e1c5"/>
-  <project name="platform/system/security" path="system/security" revision="ee8068b9e7bfb2770635062fc9c2035be2142bd8"/>
-  <project name="platform/system/vold" path="system/vold" revision="42fa2a0f14f965970a4b629a176bbd2666edf017"/>
-  <project name="platform/external/curl" path="external/curl" revision="e68addd988448959ea8157c5de637346b4180c33"/>
-  <project name="platform/external/icu4c" path="external/icu4c" revision="d3ec7428eb276db43b7ed0544e09344a6014806c"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="76c4bf4bc430a1b8317f2f21ef735867733e50cc"/>
-  <project name="platform/system/media" path="system/media" revision="c1332c21c608f4932a6d7e83450411cde53315ef"/>
-  <!--original fetch url was git://github.com/t2m-foxfone/-->
-  <remote fetch="https://git.mozilla.org/external/t2m-foxfone" name="t2m"/>
-  <default remote="caf" revision="LNX.LA.3.5.2.1.1" sync-j="4"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" revision="26e93f6af47f7bd3a9beb5c102a5f45e19bfa38a"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="d9735fc81434f2af2c44d86ca57740c673c8d9bc"/>
-  <!-- Flame specific things -->
-  <project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="1bb28abbc215f45220620af5cd60a8ac1be93722"/>
-  <project name="device/qcom/common" path="device/qcom/common" revision="2501e5940ba69ece7654ff85611c76ae5bda299c"/>
-  <project name="device-flame" path="device/t2m/flame" remote="b2g" revision="71adaecff0d7ca51f9ee9d58b39b6957344d1478"/>
-  <project name="codeaurora_kernel_msm" path="kernel" remote="b2g" revision="03396c93577aafae7ca3603de1c74eafd30e7d54"/>
-  <project name="kernel_lk" path="bootable/bootloader/lk" remote="b2g" revision="fda40423ffa573dc6cafd3780515010cb2a086be"/>
-  <project name="platform_bootable_recovery" path="bootable/recovery" remote="b2g" revision="d5e53ed6f22fa06052351dc03510af9473af01ea"/>
-  <project name="platform_bionic" path="bionic" remote="b2g" revision="3e85c4683c121530c1c3a48c696a569bf5f587e2"/>
-  <project name="platform_external_bluetooth_bluedroid" path="external/bluetooth/bluedroid" remote="b2g" revision="70f536bd97d901b96b94669ae1aa2fd0fb54b258"/>
-  <project name="platform_external_libnfc-nci" path="external/libnfc-nci" remote="t2m" revision="4186bdecb4dae911b39a8202252cc2310d91b0be"/>
-  <project name="platform_external_libnfc-pn547" path="external/libnfc-pn547" remote="b2g" revision="5bb999b84b8adc14f6bea004d523ba258dea8188"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="5b71e40213f650459e95d35b6f14af7e88d8ab62"/>
-  <project name="platform_frameworks_av" path="frameworks/av" remote="b2g" revision="eab4189dd74194e499a081a42f8336d02e2c35bd"/>
-  <project name="platform/frameworks/base" path="frameworks/base" revision="da8e6bc53c8bc669da0bb627904d08aa293f2497"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="a46a9f1ac0ed5662d614c277cbb14eb3f332f365"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="7196881a0e9dd7bfbbcf0af64c8064e70f0fa094"/>
-  <project name="platform/hardware/qcom/audio" path="hardware/qcom/audio" revision="8d7676dfb68ee0cd069affedd5d1e97316a184ba"/>
-  <project name="platform/hardware/qcom/camera" path="hardware/qcom/camera" revision="2a1ded216a91bf62a72b1640cf01ab4998f37028"/>
-  <project name="hardware_qcom_display" path="hardware/qcom/display" remote="b2g" revision="0eb5fd21d8697136ee4a0166f5e06bff25cc1e8a"/>
-  <project name="platform/hardware/qcom/gps" path="hardware/qcom/gps" revision="9883ea57b0668d8f60dba025d4522dfa69a1fbfa"/>
-  <project name="platform/hardware/qcom/media" path="hardware/qcom/media" revision="a558dc844bf5144fc38603fd8f4df8d9557052a5"/>
-  <project name="platform/hardware/qcom/wlan" path="hardware/qcom/wlan" revision="57ee1320ed7b4a1a1274d8f3f6c177cd6b9becb2"/>
-  <project name="platform/hardware/ril" path="hardware/ril" revision="12b1977cc704b35f2e9db2bb423fa405348bc2f3"/>
-  <project name="platform/system/bluetooth" path="system/bluetooth" revision="985bf15264d865fe7b9c5b45f61c451cbaafa43d"/>
-  <project name="platform/system/core" path="system/core" revision="42839aedcf70bf6bc92a3b7ea4a5cc9bf9aef3f9"/>
-  <project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="5f4b68c799927b6e078f987b12722c3a6ccd4a45"/>
-  <project name="platform/system/qcom" path="system/qcom" revision="63e3f6f176caad587d42bba4c16b66d953fb23c2"/>
-  <project name="platform/vendor/qcom-opensource/wlan/prima" path="vendor/qcom/opensource/wlan/prima" revision="d8952a42771045fca73ec600e2b42a4c7129d723"/>
-  <project name="platform/vendor/qcom/msm8610" path="device/qcom/msm8610" revision="4c187c1f3a0dffd8e51a961735474ea703535b99"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/flame/config.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-flame.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2", "dosfstools"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": [],
-    "upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml",
-        "{objdir}/dist/b2g-update/*.mar"
-    ],
-    "zip_files": [
-        ["{workdir}/out/target/product/flame/*.img", "out/target/product/flame/"],
-        ["{workdir}/boot.img", "out/target/product/flame/"],
-        "{workdir}/flash.sh",
-        "{workdir}/load-config.sh",
-        "{workdir}/.config",
-        "{workdir}/sources.xml",
-        "{workdir}/profile.sh",
-        ["{workdir}/gecko/tools/profiler/merge-profiles.py", "gecko/tools/profiler/"],
-        ["{workdir}/scripts/profile-symbolicate.py", "scripts/"],
-        ["{workdir}/gecko/tools/rb/fix_stack_using_bpsyms.py", "gecko/tools/rb/"]
-    ],
-    "env": {
-        "VARIANT": "user",
-        "MOZILLA_OFFICIAL": "1",
-        "MOZ_TELEMETRY_REPORTING": "1",
-        "B2G_UPDATE_CHANNEL": "nightly",
-        "GAIA_KEYBOARD_LAYOUTS": "en,pt-BR,es,de,fr,pl,zh-Hans-Pinyin,zh-Hant-Zhuyin,en-Dvorak"
-    },
-    "b2g_manifest": "flame.xml",
-    "b2g_manifest_intree": true,
-    "additional_source_tarballs": ["backup-flame.tar.xz"],
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    }
-}
deleted file mode 100644
--- a/b2g/config/flame/releng-flame.manifest
+++ /dev/null
@@ -1,15 +0,0 @@
-[
-{"size": 149922032,
-"digest": "8d1a71552ffee561e93b5b3f1bb47866592ab958f908007c75561156430eb1b85a265bfc4dc2038e58dda0264daa9854877a84ef3b591c9ac2f1ab97c098e61e",
-"filename": "backup-flame.tar.xz",
-"algorithm": "sha512"
-},
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": "True"
-}
-]
deleted file mode 100644
--- a/b2g/config/flame/sources.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="4efd19d199ae52656604f794c5a77518400220fd">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="c5b3aa4fc662d961eba79ef24d1378a243109e29"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="d3868ff4bb3a4b81382795e2784258c210fe6cb8"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="46da1a05ac04157669685246d70ac59d48699c9e"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="0627790166dccd8dd370fa7d9f434ed9fc027fb4"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
-  <!-- Stock Android things -->
-  <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="e95b4ce22c825da44d14299e1190ea39a5260bde"/>
-  <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="471afab478649078ad7c75ec6b252481a59e19b8"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="f59b0b330652def9439f594eb647be98b314d579"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/>
-  <project name="device/common" path="device/common" revision="90588b0e958568a874bc9000053d7aba83bb6cbc"/>
-  <project name="device/sample" path="device/sample" revision="1e264f9bfe7305c1843f9cc3e181d8eb895fef55"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="eb789ea833d8d800662b67914d9c1785a58c2caa"/>
-  <project name="platform/bionic" path="bionic" revision="07d72050320f10bd7bd22bdda4df9f702225f50f"/>
-  <project name="platform/external/aac" path="external/aac" revision="dd68dcdb756966b80ad86268d7fe45b3434374c9"/>
-  <project name="platform/external/bison" path="external/bison" revision="beeadda28642792e0c6e79fd842c891882ec9c9b"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="23e322ab19fb7d74c2c37e40ce364d9f709bdcee"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="1cb636bd8e9e5cdfd5d5b2909a122f6e80db62de"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="0d73ef7049feee794f14cf1af88d05dae8139914"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="0df3f4788202e5d81dd0d31d0e4a4ce00a7d455d"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="41d356427a632f5336384bfa45c8420ffc274f66"/>
-  <project name="platform/external/dropbear" path="external/dropbear" revision="a34ddbe3819bc465968f3676c734b405e655f8b7"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="63c2d4871fe374f13a0bc6e2efa341663277c123"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="ee5fb848d5f02a8d2c99cc1390001a7daedc4e66"/>
-  <project name="platform/external/expat" path="external/expat" revision="ee26fc15929c2a6579466063b099c7db7ba17708"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="0da5f683c9ddc9442af3b389b4220e91ccffb320"/>
-  <project name="platform/external/flac" path="external/flac" revision="d999d304720610e278cd89eaf4bc90b71d607762"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="8afe960626dbf326354b836fd4d63e05b6974195"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="9241386b62c353302c2f9eccda0672685b252b4d"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="e11a9c7fe6f1cef99aad2f25afaea37b72fe9f93"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="b027dc00b076d1820924bdcefeb987bb5d2dbf35"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="0f1ce3dd0b880b6ae0cf7f5413702b8ef542efb2"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="f6718d187ae88bb6fb83fd73b009c5242b790c0a"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="7025601d0815f37c67f879b82ae8878347f37fbc"/>
-  <project name="platform/external/icu4c" path="external/icu4c" revision="a8f744cec5125866672e131f328cc5a6e35c9173"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="5efffada0a44eff91623a1422b0059f5c26f90dc"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="f4cb1ee4b00abbfb6f968dc25818c23b4b47e584"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="32da35d5dea74e75db76f010a1a37dd346e60340"/>
-  <project name="platform/external/jack" path="external/jack" revision="5ceb2025ac5d25ed48183ac2d3dac4691fe761fb"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="b788750e0d55f0986e5ee0aadc91ec340b9f1b63"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="0482854ffd8f8df97f195df0b08628068232c483"/>
-  <project name="platform/external/junit" path="external/junit" revision="1e4a5275f1f19aac72d395c1fe995bab1be54361"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="50761abed8f4734970874165b386cfd4d9599db4"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="6946aa575b0949d045722794850896099d937cbb"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="42f5b41d22bbbad1b16b9cd3aba0512a399f32a6"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="6ccf7349d61f73ac26a0675d735d903ab919c658"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="ec0b24fb1468abe37be4164a6feb16568e036bde"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="3a7bce5dda6a8db92c9248846d0255e68c3a5b2a"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="8c58193420963d07311bb616b98a9d50a072696b"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="f8bdc31c321543a22a7aa3fa8eb42f3d398811a2"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="b0e0162a246f2c051427154909c0ecd694cc4805"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="ca15b5fc158a9df465aaf1acfe38d8cb5042c81b"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" revision="c46f53f5e072f23051c4eedef730386f7634dc11"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="f8c396c4d446a038358106a301b329607a04633d"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="444644cfa9a2f3002863caa168fb2d6b34dfd1e8"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="4d2199ecb112f77bd1897047a75277c1d43d1aa9"/>
-  <project name="platform/external/ping" path="external/ping" revision="84b590fe10fda51eca755bc65a8eb00bd29ce702"/>
-  <project name="platform/external/ping6" path="external/ping6" revision="360f71adc9c5fcf6dafb1d4258d4a6c1e5022dd2"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="fb8f78fe6e2d757b813747d5d401a0eeb0cd478b"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="aa0725fb1da35e47676b6da30009322eb5ed59be"/>
-  <project name="platform/external/sepolicy" path="external/sepolicy" revision="274d2927a7ccbfd266c83d6da5e9e2772805fbd5"/>
-  <project name="platform/external/skia" path="external/skia" revision="432b4aff573ed26601040c56abe2f43048c2039a"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="d62ce448aeb3a9497dfc90e2b0b041dabcfc262e"/>
-  <project name="platform/external/speex" path="external/speex" revision="fb7db5853ffb841a4d32fea8b5c3a43e6b875cae"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="ff996f25e1e3de2d1304dde7d64beb4521ecad2f"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="c7253d88b7fa6f7ba115f167a59b1e9f857db728"/>
-  <project name="platform/external/strace" path="external/strace" revision="1a4e05d53dec658a061acb9869cb1eb1342cd09d"/>
-  <project name="platform/external/svox" path="external/svox" revision="843824a45e0839947049fdaf5c5be278ab0e09b1"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="68c2ec9e0acdb3214b7fb91dbab8c9fab8736817"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="b3aacfd59332c1a5dead9975e60c6fa8cf6e6bee"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="42fc2d393c868d5db609e39551d64f1e60fefa0e"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="494e448824844d866e805831d1d5f5acb654065c"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="c74b546f5af36968ffa56d7fd4529f4273b96f48"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="3eec17965b3e2974e120e864b351a916f59835ba"/>
-  <project name="platform/external/webp" path="external/webp" revision="1e7bf8805bd030c19924a5306837ecd72c295751"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="446452f84e9cc4c75d8e80f6f05e24793397a19d"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="a2cff2275e1b501ff478b03757d6e4f05fddc2db"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="842d311053861e85f0cc730bc2c385f08618fc2e"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="dbbe673145107e99883f62bafd70c5f43f11065c"/>
-  <project name="platform/frameworks/wilhelm" path="frameworks/wilhelm" revision="3f73d418d3738c05fbb872644edc90765d1de00a"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="31b3f14eda4b158ee28bf8f8275ce798c4f0fe47"/>
-  <project name="platform/libcore" path="libcore" revision="89ecd09fe03c1948c66867fa94896e231414e3a7"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="a7de6785939e53982e93afacf03647ff1a759b5a"/>
-  <project name="platform/ndk" path="ndk" revision="8e69095b99310d9bdde7193eb0bf7634ffea7d63"/>
-  <project name="platform/prebuilts/misc" path="prebuilts/misc" revision="c9012e46971bd3aba8bb62acdc3fa42b4931bd07"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="ed74ba67afd626c0a733e3310a5c99ca11aaa324"/>
-  <project name="platform/prebuilts/qemu-kernel" path="prebuilts/qemu-kernel" revision="ec4a882d411d0d4ceadc5912ab4ce6fd4df23ab7"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="b86c0ecb186ffdbfb85d9c65b8a4b084b3ee9514"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="31ec211efafde89ab39472d7bd040f00d1b71945"/>
-  <project name="platform/system/extras" path="system/extras" revision="4d4bc6e7777887d93340f577d9b46de4a7c75f26"/>
-  <project name="platform/system/media" path="system/media" revision="df2cdd433738a891102873710bdd3c3db7adb0cc"/>
-  <project name="platform/system/netd" path="system/netd" revision="ea8103eae5642621ca8202e00620f4ca954ed413"/>
-  <project name="platform/system/security" path="system/security" revision="360f51f7af191316cd739f229db1c5f7233be063"/>
-  <project name="platform/system/vold" path="system/vold" revision="153df4d067a4149c7d78f1c92fed2ce2bd6a272e"/>
-  <!--original fetch url was git://github.com/t2m-foxfone/-->
-  <remote fetch="https://git.mozilla.org/external/t2m-foxfone" name="t2m"/>
-  <default remote="caf" revision="jb_3.2" sync-j="4"/>
-  <!-- Flame specific things -->
-  <project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="e8a318f7690092e639ba88891606f4183e846d3f"/>
-  <project name="device/qcom/common" path="device/qcom/common" revision="878804e0becfe5635bb8ccbf2671333d546c6fb6"/>
-  <project name="device-flame" path="device/t2m/flame" remote="b2g" revision="2f0c2790b0ab42bb2f0061f8977d88a46167e029"/>
-  <project name="codeaurora_kernel_msm" path="kernel" remote="b2g" revision="49417cfc622074daa3c76b345a199f6731375800"/>
-  <project name="kernel_lk" path="bootable/bootloader/lk" remote="b2g" revision="6f00133ac0f47e90027bd7e263a16b405bfac503"/>
-  <project name="platform_bootable_recovery" path="bootable/recovery" remote="b2g" revision="e81502511cda303c803e63f049574634bc96f9f2"/>
-  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="81c4a859d75d413ad688067829d21b7ba9205f81"/>
-  <project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="f0689ac1914cdbc59e53bdc9edd9013dc157c299"/>
-  <project name="platform/external/bluetooth/glib" path="external/bluetooth/glib" revision="dd925f76e4f149c3d5571b80e12f7e24bbe89c59"/>
-  <project name="platform/external/dbus" path="external/dbus" revision="ea87119c843116340f5df1d94eaf8275e1055ae8"/>
-  <project name="platform_external_libnfc-nci" path="external/libnfc-nci" remote="t2m" revision="4186bdecb4dae911b39a8202252cc2310d91b0be"/>
-  <project name="platform_external_libnfc-pn547" path="external/libnfc-pn547" remote="b2g" revision="5bb999b84b8adc14f6bea004d523ba258dea8188"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="320b05a5761eb2a4816f7529c91ea49422979b55"/>
-  <project name="platform/frameworks/av" path="frameworks/av" revision="0f7829661cd7125de9dc2c90eca2fa1dbc68dfbf"/>
-  <project name="platform/frameworks/base" path="frameworks/base" revision="f9309b4463abd80e0876cd113c892e31d62113b1"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="268d569074237b53617db8211400d4e3c947ae73"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="8b39ee0db3203247e983db773799f7f4ff2f69ce"/>
-  <project name="platform/hardware/qcom/audio" path="hardware/qcom/audio" revision="de4ade568b273781416638fbbce13ff31b636ada"/>
-  <project name="platform/hardware/qcom/camera" path="hardware/qcom/camera" revision="5e110615212302c5d798a3c223dcee458817651c"/>
-  <project name="platform/hardware/qcom/display" path="hardware/qcom/display" revision="fa9ffd47948eb24466de227e48fe9c4a7c5e7711"/>
-  <project name="platform/hardware/qcom/gps" path="hardware/qcom/gps" revision="cd76b19aafd4229ccf83853d02faef8c51ca8b34"/>
-  <project name="platform/hardware/qcom/media" path="hardware/qcom/media" revision="8a0d0b0d9889ef99c4c6317c810db4c09295f15a"/>
-  <project name="platform/hardware/qcom/wlan" path="hardware/qcom/wlan" revision="2208fa3537ace873b8f9ec2355055761c79dfd5f"/>
-  <project name="platform/hardware/ril" path="hardware/ril" revision="c4e2ac95907a5519a0e09f01a0d8e27fec101af0"/>
-  <project name="platform/system/bluetooth" path="system/bluetooth" revision="e1eb226fa3ad3874ea7b63c56a9dc7012d7ff3c2"/>
-  <project name="platform/system/core" path="system/core" revision="adc485d8755af6a61641d197de7cfef667722580"/>
-  <project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="d82e00fb6380b4f6cea7a96213913ee9eb441239"/>
-  <project name="platform/system/qcom" path="system/qcom" revision="1cdab258b15258b7f9657da70e6f06ebd5a2fc25"/>
-  <project name="platform/vendor/qcom/msm8610" path="device/qcom/msm8610" revision="4ae5df252123591d5b941191790e7abed1bce5a4"/>
-  <project name="platform/vendor/qcom-opensource/wlan/prima" path="vendor/qcom/opensource/wlan/prima" revision="ce18b47b4a4f93a581d672bbd5cb6d12fe796ca9"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/nexus-4-kk/config.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-mako.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": ["", "blobfree"],
-    "upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml",
-        "{workdir}/out/target/product/nexus-4-kk/fota-*-update-*.mar"
-    ],
-    "public_upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml",
-        "{objdir}/dist/b2g-update/*.mar",
-        "{workdir}/mako.zip",
-        "{workdir}/out/target/product/nexus-4-kk/fota-*-update.mar"
-    ],
-    "zip_files": [
-        ["{workdir}/out/target/product/mako/*.img", "out/target/product/mako/"],
-        ["{workdir}/boot.img", "out/target/product/mako/"],
-        "{workdir}/flash.sh",
-        "{workdir}/gecko/b2g/installer/flash.bat",
-        "{workdir}/prebuilts/misc/windows/win_flash_tools/*",
-        "{workdir}/load-config.sh",
-        "{workdir}/.config",
-        "{workdir}/sources.xml",
-        "{workdir}/profile.sh",
-        ["{workdir}/gecko/tools/profiler/merge-profiles.py", "gecko/tools/profiler/"],
-        ["{workdir}/scripts/profile-symbolicate.py", "scripts/"],
-        ["{workdir}/gecko/tools/rb/fix_stack_using_bpsyms.py", "gecko/tools/rb/"]
-    ],
-    "env": {
-        "VARIANT": "userdebug",
-        "MOZILLA_OFFICIAL": "1",
-        "MOZ_TELEMETRY_REPORTING": "1",
-        "B2G_UPDATE_CHANNEL": "nightly"
-    },
-    "b2g_manifest": "nexus-4-kk.xml",
-    "b2g_manifest_intree": true,
-    "additional_source_tarballs": [],
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    }
-}
deleted file mode 100644
--- a/b2g/config/nexus-4-kk/releng-mako.manifest
+++ /dev/null
@@ -1,29 +0,0 @@
-[
-{
-"size": i13096,
-"digest": "674475286c1639379079dca3cd14bfb9cc2a7e23733cd0f96e20296b2ee6dc0cdb9fccdc8635bef0475add156e085c17b946ec2c4254c83d3bef95d027e03537",
-"algorithm": "sha512",
-"filename": "broadcom-mako-kot49h-18b58457.tgz"
-},
-{
-"size": 17661109,
-"digest": "a5fcd2fda9fec1d24bb15e160f0ac2627a2b65e411f737c6cac48e777847c5a9eef3251af7deb535af89643a05e9889b857d1f60bf11df18fa270fd7b2db16db",
-"algorithm": "sha512",
-"filename": "qcom-mako-kot49h-e7a74920.tgz"
-},
-{
-"size": 163277,
-"digest": "e58aad76e6395a1a82fe886783842c4676c12d065e2f65bce6ce19cab2488be767aaea27fa2f46f48a0bf8d9714a6b453b474d2f9df5de158c49e6cbde0a359e",
-"algorithm": "sha512",
-"filename": "lge-mako-kot49h-f59c98be.tgz"
-},
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": "True"
-}
-]
-
deleted file mode 100644
--- a/b2g/config/nexus-4-kk/sources.xml
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="964d9fa4eabe9eb473ef9101ca2a690880f28547">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
-  <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="7c5a77c651bcde37005e6b6e209747edcc6c9361"/>
-  <!-- Stock Android things -->
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="f92a936f2aa97526d4593386754bdbf02db07a12"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="6e47ff2790f5656b5b074407829ceecf3e6188c4"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="1950e4760fa14688b83cdbb5acaa1af9f82ef434"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="ac6eb97a37035c09fb5ede0852f0881e9aadf9ad"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" remote="caf" revision="c09e1b3a55153d1ba142d5bf548c90487ea71f9e"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="737f591c5f95477148d26602c7be56cbea0cdeb9"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9" remote="caf" revision="c33513f9de95fcdf4ec832db5e3ebd612382f541"/>
-  <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="51da9b1981be481b92a59a826d4d78dc73d0989a"/>
-  <project name="device/common" path="device/common" revision="798a3664597e6041985feab9aef42e98d458bc3d"/>
-  <project name="device/sample" path="device/sample" revision="9aebb4ac5b6c1b2552599651a0e51b01e720eea6"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="77d97588f8ca4ea280d4e6b6225fc72853078778"/>
-  <project name="platform/bionic" path="bionic" revision="ab513342d514efb2b6b5eddaa11fdb332ee6b857"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="4fd89afeff2706cc226724dd039e086b2b5a86d4"/>
-  <project name="platform/external/aac" path="external/aac" revision="585942dfe8ce0b450af2409720cc0bd9a595ceae"/>
-  <project name="platform/external/bison" path="external/bison" revision="00953c546c8e02ba618355544009f373b465471e"/>
-  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="067eac306279fd677fcf7408cc960741dd07d01a"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="79e9d7bac946b2d89c468766699c8ea35dff33eb"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="145950eb384ccc6261ee649d802d58795fc3ff29"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="25648e00091208cad15505ef7f10183d22d4e2ea"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="d3307f4cf6c3dc99ff3993881874c7498502e346"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="8501b339deaad1354697fb4adada267b4600b142"/>
-  <project name="platform/external/dropbear" path="external/dropbear" revision="c4af303ab2f8a989feadf7ad211e74e77bd14edf"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="42e25ab63418386ccf39ac781ba52a847fa88602"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="801c347fd1ef0685e4ec040aba5cef331ec14350"/>
-  <project name="platform/external/expat" path="external/expat" revision="4a65b6cb6d2aae6bf952b0e6b44881f84fdf5128"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="e24fa134127a9f2a298ad04c5d092ce2c6b43791"/>
-  <project name="platform/external/flac" path="external/flac" revision="d835398098fcbcb904e99ec6bdb9e4a78ef82a7d"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="d5a7ed510903655138246192e031960b09418209"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="41a7d241271ff1738bcb90ef98fc657938899f17"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="a14feae5ebbcda801c26623ec6b04884e2a9ed5b"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="50ca09a5b13245c7357733a9072d67fd3d8d4709"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="0e87f7087bead3fbba86ad24fb888b23c25b35d3"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="77bfb851261572216aeba5a5e1bb1d910d40ecb9"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="6e3a3edf0a9ae09a7b92637c2a7131df0bde4760"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="b438b9c63d6f79cb08391f0b0f12b8457ea99395"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="c493b85a54d27cbcb1dcb91bb86545254cf28684"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="fe8cf0795af508d6bd413d0ab729ed6afabd237e"/>
-  <project name="platform/external/jack" path="external/jack" revision="f4e712ba487ef9c26360bce0ae2a7bf62cb36e0a"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="369044ba5a78dd3378a804402d43819551350bfc"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="b0d8c64f08ef085025b60d9d398e66089cafe2c0"/>
-  <project name="platform/external/junit" path="external/junit" revision="4304fac3d9e09955b1d73adfe3dff49a8d14b38a"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="ffb6eeb53ef4ec427e24862c30317179fb303006"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="32666d6cf523e154c47a2378d5344f574f537f31"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="06209143852be5967c67eb7675d80ea6250c6487"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="35499a49e8475844a1ea4f7d17cef7c6ebb85051"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="b33f5501cc0ef62a776f1223ede90beacb54ffa3"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="b8abe0f4ea706357680930f86fdd6cd26bf30b31"/>
-  <project name="platform/external/libpng" path="external/libpng" revision="e79b02c09f131d26a4b95d025fe85f3e0bd87a55"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="f2a93748f1974a76f1676f66049b3a29f1b4e532"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="cf9b75ee1949969c6620fcbec854e67a305dbbc7"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="11e4fb71a745e7d0f76099f8861d7e6083c104fa"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" remote="caf" revision="dd17df3f6775c4366a5c1d21865370d60a3b1295"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="221fb0e62a39d4cedd6469a048cadb28fbf01a96"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="0c2bf20f00ca9d74080a75eda76d0a5550702eaa"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="aa09f63881e72abb398d301c8c19c56583790c84"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="fa764bcb74c08acb4143facd9849722570c2f72b"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="f9e8d80a28c31202759760ead2444d2170830b3c"/>
-  <project name="platform/external/scrypt" path="external/scrypt" revision="98e45237eb006217a8d011da70090932a342707e"/>
-  <project name="platform/external/sepolicy" path="external/sepolicy" revision="5801984a666503748a7df6ad6c88b559e871b400"/>
-  <project name="platform/external/sfntly" path="external/sfntly" revision="2386cc392b9c6bf0ab17b23e853a1aa4b1f3db9a"/>
-  <project name="platform/external/skia" path="external/skia" revision="62efe29dfe1e5d425bcfd2d187ea8950b972762a"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="ad7c4fc233e6725e508a7f798c443b2985819c64"/>
-  <project name="platform/external/speex" path="external/speex" revision="ab4d3d4aebf76d88c664e4da19c9afcf01f59da1"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="5c8e8d23e689b53ce2adb5865556900b6402ad46"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="b0ff03ade03fa080ca8a1932cc7e328661d33927"/>
-  <project name="platform/external/strace" path="external/strace" revision="df60312a98c0cdb419d130a454bd5f3190ee6a16"/>
-  <project name="platform/external/svox" path="external/svox" revision="1cc8a28a4089b0a2041c4077e917e5964dd10e4d"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="ab78ce1be9f67f787282796f8accc7d50a2fb051"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="c76d00f367d39014256d478aa917f57f6424d455"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="4b3f554e49d94a41276dddcc1a11fa0442c2044b"/>
-  <project name="platform/external/tinycompress" path="external/tinycompress" revision="4ef0577bf643bc5ae8168015d2a0aa437d165564"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="2a1ec6642c9f7672d9681ebb3f3a313fd07076ce"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="e3247e3d0b61e8f7a8542ee5d0d3bb3c6fd225fe"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="0d21d46a2ff991df430b76be5f6980e4cbb288d4"/>
-  <project name="platform/external/webp" path="external/webp" revision="69b867b7841425c3c8a195cf995d0a1ce910a564"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="d329bff545502138fc328853bd8ee81cbb65f9db"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="e748574e9fa44cfd85df28b75d56f7f2f1cb4293"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="72f197d0cc4009f97d3b0ae2d2f3eb2088468d45"/>
-  <project name="platform/frameworks/base" path="frameworks/base" revision="a155d358adbd5e06152f4c5329b12955ba5372b1"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="2176649bcda07ff82ba6e83f3b5ee8b80f2c5cb1"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="7a2d17bd2190556c9c804721ad7b19d45948bb1f"/>
-  <project name="platform/frameworks/wilhelm" path="frameworks/wilhelm" revision="eb6077f10ae6255a72337124188f0e08dcd10e3e"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="3b80c725cea54132df05d208930d91e00d19f999"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="01f436c51dc68aec7cc1c85fda6e6792b2a95066"/>
-  <project name="platform/libcore" path="libcore" revision="9877ade9617bb0db6e59aa2a54719a9bc92600f3"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="46c96ace65eb1ccab05bf15b9bf8e53e443039af"/>
-  <project name="platform/ndk" path="ndk" revision="cb5519af32ae7b4a9c334913a612462ecd04c5d0"/>
-  <project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="c739cffa6394c06e099ea48879a20341b6163338"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="6aa61f8557a22039a30b42b7f283996381fd625d"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="b562b01c93de9578d5db537b6a602a38e1aaa0ce"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="387f03e815f57d536dd922706db1622bddba8d81"/>
-  <project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="6c9cebe5892c69e8b4bb2ea4e202f36ad095a4f0"/>
-  <project name="platform/system/extras" path="system/extras" revision="5356165f67f4a81c2ef28671c13697f1657590df"/>
-  <project name="platform/system/media" path="system/media" revision="be0e2fe59a8043fa5200f75697df9220a99abe9d"/>
-  <project name="platform/system/netd" path="system/netd" revision="36704b0da24debcab8090156568ac236315036bb"/>
-  <project name="platform/system/security" path="system/security" revision="583374f69f531ba68fc3dcbff1f74893d2a96406"/>
-  <project name="platform/system/vold" path="system/vold" revision="d4455b8cf361f8353e8aebac15ffd64b4aedd2b9"/>
-  <project name="platform/external/icu4c" path="external/icu4c" remote="aosp" revision="b4c6379528887dc25ca9991a535a8d92a61ad6b6"/>
-  <project name="platform_frameworks_av" path="frameworks/av" remote="b2g" revision="2da3a2d5100f8afa1229bb50aa2a29ea0aaf8417"/>
-  <project name="platform_system_core" path="system/core" remote="b2g" revision="8586f55fe4b015911b48e731b69c592ad82a0807"/>
-  <default remote="caf" revision="refs/tags/android-4.4.2_r1" sync-j="4"/>
-  <!-- Nexus 4 specific things -->
-  <project name="device-mako" path="device/lge/mako" remote="b2g" revision="64e5dc675cd6fcd8dd860a480c09097f7d71bf26"/>
-  <project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="72ffdf71c68a96309212eb13d63560d66db14c9e"/>
-  <project name="device_lge_mako-kernel" path="device/lge/mako-kernel" remote="b2g" revision="a49f2c34bc50a07b02f010a53d80477542209a81"/>
-  <project name="platform/external/libnfc-nci" path="external/libnfc-nci" revision="f37bd545063039e30a92f2550ae78c0e6e4e2d08"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="694cecf256122d0cb3b6a1a4efb4b5c7401db223"/>
-  <project name="platform/hardware/broadcom/wlan" path="hardware/broadcom/wlan" revision="5eb5fb95dbc095c554686bdded852c46f1299e37"/>
-  <project name="platform/hardware/qcom/audio" path="hardware/qcom/audio" revision="e168f3dc6c821239497e7358a968b99da6d9df5b"/>
-  <project name="platform/hardware/qcom/bt" path="hardware/qcom/bt" revision="9c274df08174e762523ca0c84249c875c76f0cc2"/>
-  <project name="platform/hardware/qcom/camera" path="hardware/qcom/camera" revision="b951a32c1afaec2547b082c2c1c56d79f6797426"/>
-  <project name="platform/hardware/qcom/display" path="hardware/qcom/display" revision="2a1a2869b7d8e512c0fe4d74e03cb00ea4722629"/>
-  <project name="platform/hardware/qcom/keymaster" path="hardware/qcom/keymaster" revision="584f1e418478f412b0d47bbaab35e34fca38ade7"/>
-  <project name="platform/hardware/qcom/media" path="hardware/qcom/media" revision="eef7d1a3d4b1584e62424ce06fee4c70f2edf9bb"/>
-  <project name="platform/hardware/qcom/msm8960" path="hardware/qcom/msm8960" revision="8f23611b843eacc3177b31987f3708b4c3b33621"/>
-  <project name="platform/hardware/qcom/power" path="hardware/qcom/power" revision="f8c9e51bd67c04ce4c19bf0515204118ea6b322a"/>
-  <project name="platform/hardware/qcom/sensors" path="hardware/qcom/sensors" revision="ef6ad16db4e9f796da493edfba600b9073b72eeb"/>
-  <project name="platform/hardware/qcom/wlan" path="hardware/qcom/wlan" revision="40d2275d17714cd524503b7080ff7bfcde134752"/>
-  <project name="platform/hardware/ril" path="hardware/ril" revision="321468d7cf1fa5c56422243d857a73d4f23f7574"/>
-  <project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="5f4b68c799927b6e078f987b12722c3a6ccd4a45"/>
-</manifest>
deleted file mode 100644
--- a/b2g/config/nexus-4/config.json
+++ /dev/null
@@ -1,50 +0,0 @@
-{
-    "config_version": 2,
-    "tooltool_manifest": "releng-mako.manifest",
-    "mock_target": "mozilla-centos6-x86_64",
-    "mock_packages": ["ccache", "make", "bison", "flex", "gcc", "g++", "mpfr", "zlib-devel", "ncurses-devel", "zip", "autoconf213", "glibc-static", "perl-Digest-SHA", "wget", "alsa-lib", "atk", "cairo", "dbus-glib", "fontconfig", "freetype", "glib2", "gtk2", "libXRender", "libXt", "pango", "mozilla-python27-mercurial", "openssh-clients", "nss-devel", "glibc-devel.i686", "libstdc++.i686", "zlib-devel.i686", "ncurses-devel.i686", "libX11-devel.i686", "mesa-libGL-devel.i686", "mesa-libGL-devel", "libX11-devel", "git", "libxml2"],
-    "mock_files": [
-        ["/home/cltbld/.ssh", "/home/mock_mozilla/.ssh"],
-        ["/builds/crash-stats-api.token", "/builds/crash-stats-api.token"]
-    ],
-    "build_targets": [],
-    "upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml"
-    ],
-    "public_upload_files": [
-        "{objdir}/dist/b2g-*.crashreporter-symbols.zip",
-        "{objdir}/dist/b2g-*.tar.gz",
-        "{workdir}/sources.xml",
-        "{objdir}/dist/b2g-update/*.mar"
-    ],
-    "zip_files": [
-        ["{workdir}/out/target/product/mako/*.img", "out/target/product/mako/"],
-        ["{workdir}/boot.img", "out/target/product/mako/"],
-        "{workdir}/flash.sh",
-        "{workdir}/load-config.sh",
-        "{workdir}/.config",
-        "{workdir}/sources.xml",
-        "{workdir}/profile.sh",
-        ["{workdir}/gecko/tools/profiler/merge-profiles.py", "gecko/tools/profiler/"],
-        ["{workdir}/scripts/profile-symbolicate.py", "scripts/"],
-        ["{workdir}/gecko/tools/rb/fix_stack_using_bpsyms.py", "gecko/tools/rb/"]
-    ],
-    "env": {
-        "VARIANT": "user",
-        "MOZILLA_OFFICIAL": "1",
-        "MOZ_TELEMETRY_REPORTING": "1",
-        "B2G_UPDATE_CHANNEL": "nightly"
-    },
-    "b2g_manifest": "nexus-4.xml",
-    "b2g_manifest_intree": true,
-    "additional_source_tarballs": [],
-    "gecko_l10n_root": "https://hg.mozilla.org/l10n-central",
-    "gaia": {
-        "l10n": {
-            "vcs": "hgtool",
-            "root": "https://hg.mozilla.org/gaia-l10n"
-        }
-    }
-}
deleted file mode 100644
--- a/b2g/config/nexus-4/releng-mako.manifest
+++ /dev/null
@@ -1,29 +0,0 @@
-[
-{
-"size": 13111,
-"digest": "09373556ddb4325897b9e008184228f9088b4c8c22bacf4fa2d39793ecfd264316ad69c2bc8082229ad7fdb80f89154c7b995a60f9b18beb1847e7111e7e69b2",
-"algorithm": "sha512",
-"filename": "broadcom-mako-jwr66v-cbde0d61.tgz"
-},
-{
-"size": 12658359,
-"digest": "2483df1a949df53d02ca33a87731cedd8f7cd07114d723bde1addf63fd71154c23b6f11f64f390b9849121725fb53a402db8df2f96a3673ec52416f45260f79d",
-"algorithm": "sha512",
-"filename": "qcom-mako-jwr66v-30ef957c.tgz"
-},
-{
-"size": 378532,
-"digest": "27aced8feb0e757d61df37839e62410ff30a059cfa8f04897d29ab74b787c765313acf904b1f9cf311c3e682883514df7da54197665251ef9b8bdad6bd0f62c5",
-"algorithm": "sha512",
-"filename": "lge-mako-jwr66v-985845e4.tgz"
-},
-{
-"version": "gcc 4.8.5 + PR64905",
-"size": 80160264,
-"digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
-"algorithm": "sha512",
-"filename": "gcc.tar.xz",
-"unpack": "True"
-}
-]
-
deleted file mode 100644
--- a/b2g/config/nexus-4/sources.xml
+++ /dev/null
@@ -1,161 +0,0 @@
-<?xml version="1.0" ?><manifest>
-  <!--
-    Remotes
-    -->
-  <!--original fetch url was https://android.googlesource.com/-->
-  <remote fetch="https://git.mozilla.org/external/aosp" name="aosp"/>
-  <!--original fetch url was git://github.com/apitrace/-->
-  <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/>
-  <!--original fetch url was git://github.com/mozilla-b2g/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2g"/>
-  <!--original fetch url was https://git.mozilla.org/b2g-->
-  <remote fetch="https://git.mozilla.org/b2g" name="b2gmozilla"/>
-  <!--original fetch url was git://codeaurora.org/-->
-  <remote fetch="https://git.mozilla.org/external/caf" name="caf"/>
-  <!--original fetch url was http://android.git.linaro.org/git-ro/-->
-  <remote fetch="https://git.mozilla.org/external/linaro" name="linaro"/>
-  <!--original fetch url was git://github.com/mozilla/-->
-  <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/>
-  <!--original fetch url was https://git.mozilla.org/releases-->
-  <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/>
-  <!--
-    B2G repositories for all targets
-    -->
-  <project name="gaia" path="gaia" remote="mozillaorg" revision="a954bd2954c422b7d24d92cfd73000cb455dce44"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="19150d320e6802ec211ccc5e74c254ae9992312d"/>
-  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
-  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
-  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
-  <project name="platform_system_libpdu" path="system/libpdu" remote="b2g" revision="f1a61fa8f97cc0a1ac4eca160acc222981b21d90"/>
-  <project name="platform_system_sensorsd" path="system/sensorsd" remote="b2g" revision="3618678c472320de386f5ddc27897992d0e148a8"/>
-  <!-- B2G specific things. -->
-  <project name="platform_build" path="build" remote="b2g" revision="8df1b0580ade1786bc1bf05a6abc06bcd62c2d6b">
-    <copyfile dest="Makefile" src="core/root.mk"/>
-  </project>
-  <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
-  <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
-  <project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
-  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="7c5a77c651bcde37005e6b6e209747edcc6c9361"/>
-  <project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>
-  <project name="vex" path="external/VEX" remote="b2g" revision="48d8c7c950745f1b166b42125e6f0d3293d71636"/>
-  <!-- Stock Android things -->
-  <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="5c45f43419d5582949284eee9cef0c43d866e03b"/>
-  <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="3748b4168e7bd8d46457d4b6786003bc6a5223ce"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="9025e50b9d29b3cabbbb21e1dd94d0d13121a17e"/>
-  <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="b89fda71fcd0fa0cf969310e75be3ea33e048b44"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="2e7d5348f35575870b3c7e567a9a9f6d66f8d6c5"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="1342fd7b4b000ac3e76a5dfe111a0de9d710b4c8"/>
-  <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9" revision="c09e1b3a55153d1ba142d5bf548c90487ea71f9e"/>
-  <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="1b26ad444462ccbd97f6319565b4735f7bd779e5"/>
-  <project name="device/common" path="device/common" revision="4e1a38704dcfadef60ed2da3cfeba02a56b069d2"/>
-  <project name="device/sample" path="device/sample" revision="b045905b46c8b4ee630d0c2aee7db63eaec722d9"/>
-  <project name="platform/abi/cpp" path="abi/cpp" revision="fa873799be5cf200f1d1d32a63953949c9dcdda8"/>
-  <project name="platform/bionic" path="bionic" revision="0d910c2a305f6b223b7b879a4532df1d0ec73030"/>
-  <project name="platform/bootable/recovery" path="bootable/recovery" revision="b279a60d33785df6d08065a2b082eeecb64af759"/>
-  <project name="platform/external/aac" path="external/aac" revision="67e322018c4ae56213dec4083f1e37cf7e087a05"/>
-  <project name="platform/external/bluetooth/bluedroid" path="external/bluetooth/bluedroid" revision="72573746f78ed1bce49e93737f33d0248ee6da97"/>
-  <project name="platform/external/bison" path="external/bison" revision="28effbb752100922ad6c80a98c8bb10e133a4d2a"/>
-  <project name="platform/external/bsdiff" path="external/bsdiff" revision="5ffcc745e11ceee2bae573156b6f1e6adfc626fb"/>
-  <project name="platform/external/bzip2" path="external/bzip2" revision="a5ee05561c389494e79b8ae9531079f8ede18172"/>
-  <project name="platform/external/checkpolicy" path="external/checkpolicy" revision="1cec80d1db6520985616f83de06048deb17b224f"/>
-  <project name="platform/external/dhcpcd" path="external/dhcpcd" revision="6661527f6c35842f51ae2e9dc121b74626eb257a"/>
-  <project name="platform/external/dnsmasq" path="external/dnsmasq" revision="126ae3c6d08241dd7f9f3aded3525f861540e62f"/>
-  <project name="platform/external/dropbear" path="external/dropbear" revision="94ee5e669e2d6d7ff307e03cb57ab4a523747aef"/>
-  <project name="platform/external/e2fsprogs" path="external/e2fsprogs" revision="21969c36a17adc5d6788d637145bd5a29055cd17"/>
-  <project name="platform/external/elfutils" path="external/elfutils" revision="2a029ad5458aebb8aa0469468b9e865cda36a993"/>
-  <project name="platform/external/expat" path="external/expat" revision="52195dab4c5e4c7f6228d051d98ac00cf8e42701"/>
-  <project name="platform/external/fdlibm" path="external/fdlibm" revision="be2875dc5332ce572cecb3271b722f619849195d"/>
-  <project name="platform/external/flac" path="external/flac" revision="83a1fe501ebcade62a057b848e716075e1130862"/>
-  <project name="platform/external/freetype" path="external/freetype" revision="c9ff2def9e89f87c193fe168188a137843ea23ac"/>
-  <project name="platform/external/gcc-demangle" path="external/gcc-demangle" revision="064c41f1f1d68c9b164cdfdac66da5a90fb75f6d"/>
-  <project name="platform/external/genext2fs" path="external/genext2fs" revision="257d86b044f29c721a89a7465287e4abdf17c08d"/>
-  <project name="platform/external/giflib" path="external/giflib" revision="9a9f70f8ad6a59656f043579a44dfb965317c4f3"/>
-  <project name="platform/external/gtest" path="external/gtest" revision="3ac9e25cc800dc8c5dda7003ed69ef978cf052f5"/>
-  <project name="platform/external/harfbuzz" path="external/harfbuzz" revision="3891d3c4d20e9583906641ea33f4973791ae999f"/>
-  <project name="platform/external/harfbuzz_ng" path="external/harfbuzz_ng" revision="c9354c605264168de2523ab158067088abde719b"/>
-  <project name="platform/external/icu4c" path="external/icu4c" revision="a8f744cec5125866672e131f328cc5a6e35c9173"/>
-  <project name="platform/external/iproute2" path="external/iproute2" revision="eea3c493f74aab7f91a12c0c4a5cbf6e6bebbbb1"/>
-  <project name="platform/external/ipsec-tools" path="external/ipsec-tools" revision="add52510498261b971560f045514319819988659"/>
-  <project name="platform/external/iptables" path="external/iptables" revision="2cdf9477087793a7a51037e21f79b6f8969fb1bc"/>
-  <project name="platform/external/jack" path="external/jack" revision="a39e68eaae6309c1adcda79e4b69f4f168e896a1"/>
-  <project name="platform/external/jhead" path="external/jhead" revision="66eda28b42afe6150f90d72bc90e307ce43697e9"/>
-  <project name="platform/external/jpeg" path="external/jpeg" revision="16ed6dca8738be33ad5c9990a09631bbc2e559c3"/>
-  <project name="platform/external/junit" path="external/junit" revision="5ceac9a37c430197a72a0e38bed0b0e7781ed5b7"/>
-  <project name="platform/external/libgsm" path="external/libgsm" revision="88128edec8df6137d0d84ca8fec3493b2e404cad"/>
-  <project name="platform/external/liblzf" path="external/liblzf" revision="89a1c57e02e27a3a226424992833ed9645991ce2"/>
-  <project name="platform/external/libnfc-nxp" path="external/libnfc-nxp" revision="8bf95c739da6c60a08b07297a1d7b996d51fd53b"/>
-  <project name="platform/external/libnl-headers" path="external/libnl-headers" revision="7bd0b8345c96344746541e8f39375226bf580c41"/>
-  <project name="platform/external/libogg" path="external/libogg" revision="6b0f05807a0e117bd774029a2b84e95ac1254353"/>
-  <project name="platform/external/libpcap" path="external/libpcap" revision="7db9ecfdf0d68c5000dbbaf8d96b0ff11d98a7fd"/>
-  <project name="platform_external_libpng" path="external/libpng" remote="b2g" revision="5f020432161cfde3d66aa4879b1d216a1f093303"/>
-  <project name="platform/external/libselinux" path="external/libselinux" revision="fafd3f40d5185ddb99a47fe951a60c8c5d9eece2"/>
-  <project name="platform/external/libsepol" path="external/libsepol" revision="986b9a21757ebbd9c18a00a8b09d495b9681d6e1"/>
-  <project name="platform/external/libvpx" path="external/libvpx" revision="1be94b794185aa20e0a66062c34691f31e37ec1f"/>
-  <project name="platform/external/mdnsresponder" path="external/mdnsresponder" revision="15dd90d06fce6f13243a2c24248a64b3381f7e25"/>
-  <project name="platform/external/mksh" path="external/mksh" revision="1b182dd7e82bdd41dd2791831b68252d86a61c82"/>
-  <project name="platform/external/netcat" path="external/netcat" revision="7fddee20c8f2b792a85ed5cd663c241af7db282b"/>
-  <project name="platform/external/openssl" path="external/openssl" revision="2d1bb4b8633349cca0bd3319149629cc39c73b97"/>
-  <project name="platform/external/ping" path="external/ping" revision="ea46d4544bd58b406cac525b4036264da2a81404"/>
-  <project name="platform/external/ping6" path="external/ping6" revision="501b3d22cd27e732f7c2e66ac2ca9d7e668e690a"/>
-  <project name="platform/external/protobuf" path="external/protobuf" revision="e03c033ca948e7b63436376c3d4ea5b16fa8e03e"/>
-  <project name="platform/external/safe-iop" path="external/safe-iop" revision="3f50f9936c204c236f85a592647278ed9d6557a0"/>
-  <project name="platform/external/sepolicy" path="external/sepolicy" revision="0e9e59717b5462b2310e216e2981fdfc55a67430"/>
-  <project name="platform/external/skia" path="external/skia" revision="209b62a4c69e569fd62eb00d50de7d4bee878277"/>
-  <project name="platform/external/sonivox" path="external/sonivox" revision="2cc5ed671b4b29f0dbf64d1afc8b68599d36b15f"/>
-  <project name="platform/external/speex" path="external/speex" revision="9d1647340a04fbaf7b54ad8269f3aa523703fb68"/>
-  <project name="platform/external/sqlite" path="external/sqlite" revision="9f73c46223fb3db135b22e68abaf0977132d76cf"/>
-  <project name="platform/external/stlport" path="external/stlport" revision="630990abdc445a6d4ae790ef904521df2e7e2250"/>
-  <project name="platform/external/strace" path="external/strace" revision="1714f1f9abf2237901b4c5d80955a3556d355c60"/>
-  <project name="platform/external/svox" path="external/svox" revision="65c756ac5edc78493d8597b865362015c1a6b6e9"/>
-  <project name="platform/external/tagsoup" path="external/tagsoup" revision="6fdb4dfecc14d4634479bb544b0badf1eb58df92"/>
-  <project name="platform/external/tcpdump" path="external/tcpdump" revision="75a7b633f60026f8d371e18e9127015990656b12"/>
-  <project name="platform/external/tinyalsa" path="external/tinyalsa" revision="a6e1da53a63cc2b676ee75a97a5953531fafa27a"/>
-  <project name="platform/external/tinyxml" path="external/tinyxml" revision="ed2c5fc8937f8225ec6fd94ebcabac65621a2dc8"/>
-  <project name="platform/external/tinyxml2" path="external/tinyxml2" revision="f5549cc02ee15888ecc31cf85b346578260975f9"/>
-  <project name="platform/external/tremolo" path="external/tremolo" revision="10b2146109b54c868dec73f1e67abe03fa3acfed"/>
-  <project name="platform/external/webp" path="external/webp" revision="020c9b164f4a9d8bce6b48d5d2b783136a8de669"/>
-  <project name="platform/external/webrtc" path="external/webrtc" revision="1a1433203ddf6395516e065ada1dcdfc8bd5c654"/>
-  <project name="platform/external/yaffs2" path="external/yaffs2" revision="d94a17182a88c2c2d865f50b728de8561d251efa"/>
-  <project name="platform/external/zlib" path="external/zlib" revision="06608b270da9ec8a3e618f201d7356aad83f9ffe"/>
-  <project name="platform_frameworks_av" path="frameworks/av" remote="b2g" revision="5fec1fcdc31a4db34e60cc0f73f7c93000fb1a8d"/>
-  <project name="platform/frameworks/base" path="frameworks/base" revision="8fafbc6692a52d1f1417693f24f6349b4de5afbd"/>
-  <project name="platform/frameworks/native" path="frameworks/native" revision="c135c11c422c1570fdae2e19336f06f39e723c5a"/>
-  <project name="platform/frameworks/opt/emoji" path="frameworks/opt/emoji" revision="bc06a1779be6919a581a938e1c3118b3a4ab4c18"/>
-  <project name="platform/frameworks/wilhelm" path="frameworks/wilhelm" revision="4f330e2d671e230c106a3c41ecddbced8ff5d826"/>
-  <project name="platform/hardware/libhardware" path="hardware/libhardware" revision="bb653159145842bd86a3522073fcbf5d6450c598"/>
-  <project name="platform/hardware/libhardware_legacy" path="hardware/libhardware_legacy" revision="7044afe8fa0a992a2926370e7abe9d06cc9df67b"/>
-  <project name="platform/libcore" path="libcore" revision="3552ed1686d04a65b85e56ccc24ff3fcf77725e6"/>
-  <project name="platform/libnativehelper" path="libnativehelper" revision="4792069e90385889b0638e97ae62c67cdf274e22"/>
-  <project name="platform/ndk" path="ndk" revision="7666b97bbaf1d645cdd6b4430a367b7a2bb53369"/>
-  <project name="platform/prebuilts/misc" path="prebuilts/misc" revision="f6ab40b3257abc07741188fd173ac392575cc8d2"/>
-  <project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="e52099755d0bd3a579130eefe8e58066cc6c0cb6"/>
-  <project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="842e33e43a55ea44833b9e23e4d180fa17c843af"/>
-  <project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5db24726f0f42124304195a6bdea129039eeeaeb"/>
-  <project name="platform/system/bluetooth" path="system/bluetooth" revision="930ae098543881f47eac054677726ee4b998b2f8"/>
-  <project name="platform_system_bluetoothd" path="system/bluetoothd" remote="b2g" revision="6c9cebe5892c69e8b4bb2ea4e202f36ad095a4f0"/>
-  <project name="platform_system_core" path="system/core" remote="b2g" revision="542d1f59dc331b472307e5bd043101d14d5a3a3e"/>
-  <project name="platform/system/extras" path="system/extras" revision="18c1180e848e7ab8691940481f5c1c8d22c37b3e"/>
-  <project name="platform/system/media" path="system/media" revision="d90b836f66bf1d9627886c96f3a2d9c3007fbb80"/>
-  <project name="platform/system/netd" path="system/netd" revision="56112dd7b811301b718d0643a82fd5cac9522073"/>
-  <project name="platform/system/security" path="system/security" revision="f48ff68fedbcdc12b570b7699745abb6e7574907"/>
-  <project name="platform/system/vold" path="system/vold" revision="8de05d4a52b5a91e7336e6baa4592f945a6ddbea"/>
-  <default remote="caf" revision="refs/tags/android-4.3_r2.1" sync-j="4"/>
-  <!-- Nexus 4 specific things -->
-  <project name="device-mako" path="device/lge/mako" remote="b2g" revision="f1f2af075a376c44aa672a3e5ca8b22ba90a55fa"/>
-  <project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="3a9a17613cc685aa232432566ad6cc607eab4ec1"/>
-  <project name="device/lge/mako-kernel" path="device/lge/mako-kernel" revision="d1729e53d71d711c8fde25eab8728ff2b9b4df0e"/>
-  <project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="5f4b68c799927b6e078f987b12722c3a6ccd4a45"/>
-  <project name="platform/external/libnfc-nci" path="external/libnfc-nci" revision="7d33aaf740bbf6c7c6e9c34a92b371eda311b66b"/>
-  <project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="0e56e450367cd802241b27164a2979188242b95f"/>
-  <project name="platform/hardware/broadcom/wlan" path="hardware/broadcom/wlan" revision="0e1929fa3aa38bf9d40e9e953d619fab8164c82e"/>
-  <project name="platform/hardware/qcom/audio" path="hardware/qcom/audio" revision="b0a528d839cfd9d170d092fe3743b5252b4243a6"/>
-  <project name="platform/hardware/qcom/bt" path="hardware/qcom/bt" revision="380945eaa249a2dbdde0daa4c8adb8ca325edba6"/>
-  <project name="platform/hardware/qcom/display" path="hardware/qcom/display" revision="6f3b0272cefaffeaed2a7d2bb8f633059f163ddc"/>
-  <project name="platform/hardware/qcom/keymaster" path="hardware/qcom/keymaster" revision="16da8262c997a5a0d797885788a64a0771b26910"/>
-  <project name="platform/hardware/qcom/media" path="hardware/qcom/media" revision="689b476ba3eb46c34b81343295fe144a0e81a18e"/>
-  <project name="platform/hardware/qcom/msm8960" path="hardware/qcom/msm8960" revision="0ba0e0e06410e048b1cd57ce985f0376b6e4c84d"/>
-  <project name="platform/hardware/qcom/power" path="hardware/qcom/power" revision="acbdde094799f61b4b8cb6ec116f2bc5f37d2afd"/>
-  <project name="platform/hardware/qcom/sensors" path="hardware/qcom/sensors" revision="15488e251d83ad881a61f7045c64c711f5eaf082"/>
-  <project name="platform/hardware/qcom/wlan" path="hardware/qcom/wlan" revision="7bc1339234f8b8387df491c0ced88fffd7d505f0"/>
-  <project name="platform/hardware/ril" path="hardware/ril" revision="d9f3acd2ac2db63697a24f29dbf04083aedbccf8"/>
-</manifest>
new file mode 100644
--- /dev/null
+++ b/b2g/dev/config/mozconfigs/linux64/mulet_dbg
@@ -0,0 +1,14 @@
+MOZ_AUTOMATION_L10N_CHECK=0
+MOZ_AUTOMATION_UPLOAD_SYMBOLS=0
+MOZ_AUTOMATION_UPDATE_PACKAGING=0
+MOZ_AUTOMATION_SDK=0
+. "$topsrcdir/browser/config/mozconfigs/linux64/nightly"
+
+ac_add_options --enable-application=b2g/dev
+ac_add_options --enable-debug
+MOZ_DEMANGLE_SYMBOLS=1
+MOZ_DEBUG=1
+MOZ_DEBUG_SYMBOLS=1
+
+# Include Firefox OS fonts.
+MOZTTDIR=$topsrcdir/moz-tt
--- a/browser/base/content/sync/genericChange.xul
+++ b/browser/base/content/sync/genericChange.xul
@@ -62,17 +62,17 @@
 
       <vbox id="passphraseRow">
         <hbox flex="1">
           <label id="passphraseLabel" control="passphraseBox"/>
           <spacer flex="1"/>
           <label id="generatePassphraseButton"
                  hidden="true"
                  value="&syncGenerateNewKey.label;"
-                 class="text-link inline-link"
+                 class="text-link"
                  onclick="event.stopPropagation();
                           Change.doGeneratePassphrase();"/>
         </hbox>
         <textbox id="passphraseBox"
                  flex="1"
                  onfocus="this.select()"
                  oninput="Change.validate()"/>
       </vbox>
--- a/browser/base/content/sync/setup.xul
+++ b/browser/base/content/sync/setup.xul
@@ -178,22 +178,22 @@
             <checkbox id="tos"
                       accesskey="&setup.tosAgree1.accesskey;"
                       oncommand="this.focus(); gSyncSetup.checkFields();"/>
             <description id="tosDesc"
                          flex="1"
                          onclick="document.getElementById('tos').focus();
                                   document.getElementById('tos').click()">
               &setup.tosAgree1.label;
-              <label class="text-link inline-link"
+              <label class="text-link"
                      onclick="event.stopPropagation();gSyncUtils.openToS();">
                 &setup.tosLink.label;
               </label>
               &setup.tosAgree2.label;
-              <label class="text-link inline-link"
+              <label class="text-link"
                      onclick="event.stopPropagation();gSyncUtils.openPrivacyPolicy();">
                 &setup.ppLink.label;
               </label>
               &setup.tosAgree3.label;
             </description>
           </hbox>
         </row>
       </rows>
--- a/browser/components/preferences/in-content/privacy.xul
+++ b/browser/components/preferences/in-content/privacy.xul
@@ -131,19 +131,19 @@
              value="&trackingProtectionPBMLearnMore.label;"/>
       <spacer flex="1" />
       <button id="changeBlockListPBM"
               label="&changeBlockList.label;" accesskey="&changeBlockList.accesskey;"
               preference="pref.privacy.disable_button.change_blocklist"/>
     </hbox>
   </vbox>
   <vbox>
-    <description>&doNotTrack.pre.label;<html:a
-    class="inline-link" id="doNotTrackSettings" href="#"
-    >&doNotTrack.settings.label;</html:a>&doNotTrack.post.label;</description>
+    <description>&doNotTrack.pre.label;<label
+    class="text-link" id="doNotTrackSettings"
+    >&doNotTrack.settings.label;</label>&doNotTrack.post.label;</description>
   </vbox>
 </groupbox>
 
 <!-- History -->
 <groupbox id="historyGroup" data-category="panePrivacy" hidden="true">
   <caption><label>&history.label;</label></caption>
   <hbox align="center">
     <label id="historyModeLabel"
@@ -160,32 +160,32 @@
     <label>&historyHeader.post.label;</label>
   </hbox>
   <deck id="historyPane">
     <vbox id="historyRememberPane">
       <hbox align="center" flex="1">
         <vbox flex="1">
           <description>&rememberDescription.label;</description>
           <separator class="thin"/>
-          <description>&rememberActions.pre.label;<html:a
-          class="inline-link" id="historyRememberClear" href="#"
-          >&rememberActions.clearHistory.label;</html:a>&rememberActions.middle.label;<html:a
-          class="inline-link" id="historyRememberCookies" href="#"
-          >&rememberActions.removeCookies.label;</html:a>&rememberActions.post.label;</description>
+          <description>&rememberActions.pre.label;<label
+          class="text-link" id="historyRememberClear"
+          >&rememberActions.clearHistory.label;</label>&rememberActions.middle.label;<label
+          class="text-link" id="historyRememberCookies"
+          >&rememberActions.removeCookies.label;</label>&rememberActions.post.label;</description>
         </vbox>
       </hbox>
     </vbox>
     <vbox id="historyDontRememberPane">
       <hbox align="center" flex="1">
         <vbox flex="1">
           <description>&dontrememberDescription.label;</description>
           <separator class="thin"/>
-          <description>&dontrememberActions.pre.label;<html:a
-          class="inline-link" id="historyDontRememberClear" href="#"
-          >&dontrememberActions.clearHistory.label;</html:a>&dontrememberActions.post.label;</description>
+          <description>&dontrememberActions.pre.label;<label
+          class="text-link" id="historyDontRememberClear"
+          >&dontrememberActions.clearHistory.label;</label>&dontrememberActions.post.label;</description>
         </vbox>
       </hbox>
     </vbox>
     <vbox id="historyCustomPane">
       <separator class="thin"/>
       <vbox>
         <vbox align="start">
           <checkbox id="privateBrowsingAutoStart"
--- a/browser/components/uitour/test/browser.ini
+++ b/browser/components/uitour/test/browser.ini
@@ -35,13 +35,13 @@ skip-if = os == "linux" # Linux: Bug 986
 skip-if = true # Bug 1225832 - New Loop architecture is not compatible with test.
 [browser_UITour_loop_panel.js]
 [browser_UITour_modalDialog.js]
 skip-if = os != "mac" # modal dialog disabling only working on OS X.
 [browser_UITour_observe.js]
 [browser_UITour_panel_close_annotation.js]
 skip-if = true # Disabled due to frequent failures, bugs 1026310 and 1032137
 [browser_UITour_pocket.js]
-skip-if = os == "linux" || debug
+skip-if = true # Disabled pending removal of pocket UI Tour
 [browser_UITour_registerPageID.js]
 [browser_UITour_resetProfile.js]
 [browser_UITour_sync.js]
 [browser_UITour_toggleReaderMode.js]
--- a/browser/extensions/pocket/content/main.js
+++ b/browser/extensions/pocket/content/main.js
@@ -123,58 +123,70 @@ var pktUI = (function() {
 
 
     // -- Panel UI -- //
 
     /**
      * Show the sign-up panel
      */
     function showSignUp() {
+        // AB test: Direct logged-out users to tab vs panel
+        if (pktApi.getSignupPanelTabTestVariant() == 'tab')
+        {
+            let site = Services.prefs.getCharPref("extensions.pocket.site");
+            openTabWithUrl('https://' + site + '/firefox_learnmore?src=ff_ext&s=ffi&t=buttonclick', true);
+
+            // force the panel closed before it opens
+            // wrapped in setTimeout to avoid race condition after logging out
+            // if this test goes to 100%, we should move this logic up before
+            // the panel is actually opened
+            setTimeout(function() {
+                getPanel().hidePopup();
+            }, 0);
+
+            return;
+        }
+
+        // Control: Show panel as normal
         getFirefoxAccountSignedInUser(function(userdata)
         {
             var fxasignedin = (typeof userdata == 'object' && userdata !== null) ? '1' : '0';
             var startheight = 490;
             var inOverflowMenu = isInOverflowMenu();
 
             if (inOverflowMenu)
             {
                 startheight = overflowMenuHeight;
             }
-            else if (pktApi.getSignupAB().indexOf('storyboard') > -1)
+            else
             {
                 startheight = 460;
                 if (fxasignedin == '1')
                 {
                     startheight = 406;
                 }
             }
-            else
-            {
-                if (fxasignedin == '1')
-                {
-                    startheight = 436;
-                }
-            }
             var variant;
             if (inOverflowMenu)
             {
                 variant = 'overflow';
             }
             else
             {
-                variant = pktApi.getSignupAB();
+                variant = 'storyboard_lm';
             }
+
             var panelId = showPanel("about:pocket-signup?pockethost=" + Services.prefs.getCharPref("extensions.pocket.site") + "&fxasignedin=" + fxasignedin + "&variant=" + variant + '&inoverflowmenu=' + inOverflowMenu + "&locale=" + getUILocale(), {
                     onShow: function() {
                     },
                     onHide: panelDidHide,
                     width: inOverflowMenu ? overflowMenuWidth : 300,
                     height: startheight
-                });
             });
+        });
     }
 
     /**
      * Show the logged-out state / sign-up panel
      */
     function saveAndShowConfirmation(url, title) {
 
         // Validate input parameter
--- a/browser/extensions/pocket/content/panels/js/signup.js
+++ b/browser/extensions/pocket/content/panels/js/signup.js
@@ -99,38 +99,38 @@ PKT_SIGNUP_OVERLAY.prototype = {
         this.active = true;
 
         // set translations
         this.getTranslations();
         this.dictJSON.fxasignedin = this.fxasignedin ? 1 : 0;
         this.dictJSON.variant = (this.variant ? this.variant : 'undefined');
         this.dictJSON.variant += this.fxasignedin ? '_fxa' : '_nonfxa';
         this.dictJSON.pockethost = this.pockethost;
-        this.dictJSON.showlearnmore = (this.variant.indexOf('_lm') > -1 || this.variant == 'storyboard' || this.variant == 'hero') ? 1 : 0;
+        this.dictJSON.showlearnmore = true;
 
         // extra modifier class for collapsed state
         if (this.inoverflowmenu)
         {
             $('body').addClass('pkt_ext_signup_overflow');
         }
 
         // extra modifier class for language
         if (this.locale)
         {
             $('body').addClass('pkt_ext_signup_' + this.locale);
         }
 
         // Create actual content
-        if (this.variant == 'storyboard' || this.variant == 'storyboard_lm' || this.variant == 'storyboard_nlm')
+        if (this.variant == 'overflow')
         {
-            $('body').append(Handlebars.templates.signupstoryboard_shell(this.dictJSON));
+            $('body').append(Handlebars.templates.signup_shell(this.dictJSON));
         }
         else
         {
-            $('body').append(Handlebars.templates.signup_shell(this.dictJSON));
+            $('body').append(Handlebars.templates.signupstoryboard_shell(this.dictJSON));
         }
 
 
         // tell background we're ready
         thePKT_SIGNUP.sendMessage("show");
 
         // close events
         this.initCloseTabEvents();
--- a/browser/extensions/pocket/content/pktApi.jsm
+++ b/browser/extensions/pocket/content/pktApi.jsm
@@ -604,43 +604,51 @@ var pktApi = (function() {
             success: options.success,
             error: options.error
         });
     }
 
     /**
      * Helper function to get current signup AB group the user is in
      */
-    function getSignupAB() {
-        var setting = getSetting('signupAB');
-        if (!setting || setting.includes('hero'))
+    function getSignupPanelTabTestVariant() {
+        return getSimpleTestOption('panelTab', 0.1, 'tab');
+    }
+
+    function getSimpleTestOption(testName, threshold, testOptionName) {
+        // Get the test from preferences if we've already assigned the user to a test
+        var settingName = 'test.' + testName;
+        var assignedValue = getSetting(settingName);
+
+        // If not assigned yet, pick and store a value
+        if (!assignedValue)
         {
-            var rand = (Math.floor(Math.random()*100+1));
-            if (rand > 90)
-            {
-                setting = 'storyboard_nlm';
+            if (Math.random() <= threshold) {
+                assignedValue = testOptionName;
             }
-            else
-            {
-                setting = 'storyboard_lm';
+            else {
+                assignedValue = 'control';
             }
-            setSetting('signupAB',setting);
+
+            setSetting('test.'+testName, assignedValue);
         }
-        return setting;
+
+        return assignedValue;
     }
 
+
     /**
      * Public functions
      */
     return {
         isUserLoggedIn : isUserLoggedIn,
         clearUserData: clearUserData,
         addLink: addLink,
         deleteItem: deleteItem,
         addTagsToItem: addTagsToItem,
         addTagsToURL: addTagsToURL,
         getTags: getTags,
         isPremiumUser: isPremiumUser,
         getSuggestedTagsForItem: getSuggestedTagsForItem,
         getSuggestedTagsForURL: getSuggestedTagsForURL,
-        getSignupAB: getSignupAB
+        getSignupPanelTabTestVariant: getSignupPanelTabTestVariant,
     };
 }());
--- a/browser/extensions/pocket/install.rdf.in
+++ b/browser/extensions/pocket/install.rdf.in
@@ -5,17 +5,17 @@
 
 #filter substitution
 
 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:em="http://www.mozilla.org/2004/em-rdf#">
 
   <Description about="urn:mozilla:install-manifest">
     <em:id>firefox@getpocket.com</em:id>
-    <em:version>1.0.3b1</em:version>
+    <em:version>1.0.4</em:version>
     <em:type>2</em:type>
     <em:bootstrap>true</em:bootstrap>
 
     <!-- Target Application this theme can install into,
         with minimum and maximum supported versions. -->
     <em:targetApplication>
       <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
--- a/browser/themes/linux/jar.mn
+++ b/browser/themes/linux/jar.mn
@@ -77,19 +77,16 @@ browser.jar:
   skin/classic/browser/places/organizer.css           (places/organizer.css)
   skin/classic/browser/places/organizer.xml           (places/organizer.xml)
   skin/classic/browser/places/query.png               (places/query.png)
   skin/classic/browser/places/tag.png                 (places/tag.png)
   skin/classic/browser/places/toolbarDropMarker.png   (places/toolbarDropMarker.png)
   skin/classic/browser/places/unsortedBookmarks.png   (places/unsortedBookmarks.png)
   skin/classic/browser/places/downloads.png           (places/downloads.png)
   skin/classic/browser/preferences/alwaysAsk.png      (preferences/alwaysAsk.png)
-  skin/classic/browser/preferences/mail.png           (preferences/mail.png)
-  skin/classic/browser/preferences/Options.png        (preferences/Options.png)
-  skin/classic/browser/preferences/Options-sync.png   (preferences/Options-sync.png)
   skin/classic/browser/preferences/preferences.css    (preferences/preferences.css)
 * skin/classic/browser/preferences/in-content/preferences.css (preferences/in-content/preferences.css)
 * skin/classic/browser/preferences/in-content/dialog.css      (preferences/in-content/dialog.css)
   skin/classic/browser/preferences/applications.css   (preferences/applications.css)
   skin/classic/browser/social/services-16.png         (social/services-16.png)
   skin/classic/browser/social/services-64.png         (social/services-64.png)
   skin/classic/browser/social/share-button.png        (social/share-button.png)
   skin/classic/browser/social/share-button-active.png (social/share-button-active.png)
deleted file mode 100644
index 89901fb698c4a06792d6ae974489cb6b93ed3994..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 82bebd2a4f0b610dd02925140adac8e7a8493792..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/linux/preferences/preferences.css
+++ b/browser/themes/linux/preferences/preferences.css
@@ -1,106 +1,36 @@
 /*
 # -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 # This Source Code Form is subject to the terms of the Mozilla Public
 # 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/.
 */
 
 /* Global Styles */
-#BrowserPreferences radio[pane] {
-  list-style-image: url("chrome://browser/skin/preferences/Options.png"); 
-}
-
-radio[pane=paneMain] {
-  -moz-image-region: rect(0px, 32px,  32px, 0px)
-}
-
-radio[pane=paneTabs] {
-  -moz-image-region: rect(0px, 64px, 32px, 32px)
-}
-
-#BrowserPreferences radio[pane=paneSearch] {
-  list-style-image: url("chrome://browser/skin/search-pref.png");
-}
-
 .checkbox-check {
   -moz-appearance: checkbox;
 }
 
-radio[pane=paneContent] {
-  -moz-image-region: rect(0px, 96px,  32px, 64px)
-}
-
-radio[pane=paneApplications] {
-  -moz-image-region: rect(0px, 128px,  32px, 96px)
-}
-
-radio[pane=panePrivacy] {
-  -moz-image-region: rect(0px, 160px,  32px, 128px)
-}
-
-radio[pane=paneSecurity] {
-  -moz-image-region: rect(0px, 192px,  32px, 160px)
-}
-
-radio[pane=paneAdvanced] {
-  -moz-image-region: rect(0px, 224px, 32px, 192px)
-}
-
-radio[pane=paneSync] {
-  list-style-image: url("chrome://browser/skin/preferences/Options-sync.png") !important;
-}
-
-/* These lines should be removed as part of fixing bug 1140495 */
-label.small {
-  font-size: smaller;
-}
-
-#tabPrefsBox {
-  margin: 5px;
-}
-
 /* General Pane */
 #useFirefoxSync,
 #getStarted {
   font-size: 90%;
 }
 
 #isNotDefaultLabel {
   font-weight: bold;
 }
 
 /* Content Pane */
 #translationAttributionImage {
   width: 70px;
   cursor: pointer;
 }
 
-/* Applications Pane */
-#BrowserPreferences[animated="true"] #handlersView {
-  height: 25em;
-}
-
-#BrowserPreferences[animated="false"] #handlersView {
-  -moz-box-flex: 1;
-}
-
-/* Privacy Pane */
-
-/* styles for the link elements copied from .text-link in global.css */
-.inline-link {
-  color: -moz-nativehyperlinktext;
-  text-decoration: none;
-}
-
-.inline-link:hover {
-  text-decoration: underline;
-}
-
 /* Modeless Window Dialogs */
 .windowDialog,
 .windowDialog prefpane {
   padding: 0px;
 }
 
 .contentPane {
   margin: 9px 8px 5px 8px;
@@ -113,30 +43,20 @@ label.small {
 /* Cookies Manager */
 #cookiesChildren::-moz-tree-image(domainCol) {
   width: 16px;
   height: 16px;
   margin: 0px 2px;
   list-style-image: url("chrome://mozapps/skin/places/defaultFavicon.png");
 }
 
-#paneApplications {
-  margin-left: 4px;
-  margin-right: 4px; 
-  padding-left: 0;
-  padding-right: 0; 
-}
-
 #linksOpenInBox {
   margin-top: 5px;
 }
 
-#paneAdvanced {
-  padding-bottom: 10px;
-}
 #advancedPrefs {
   margin-left: 0;
   margin-right: 0; 
 }
 
 #cookiesChildren::-moz-tree-image(domainCol, container) {
   list-style-image: url("moz-icon://stock/gtk-directory?size=menu");
 }
--- a/browser/themes/linux/searchbar.css
+++ b/browser/themes/linux/searchbar.css
@@ -34,16 +34,17 @@
 .search-go-container {
   -moz-box-align: center;
 }
 
 .search-go-button {
   padding: 1px;
   list-style-image: url("chrome://browser/skin/reload-stop-go.png");
   -moz-image-region: rect(0, 42px, 14px, 28px);
+  width: 14px;
 }
 
 .search-go-button:hover {
   -moz-image-region: rect(14px, 42px, 28px, 28px);
 }
 
 .search-go-button:hover:active {
   -moz-image-region: rect(28px, 42px, 42px, 28px);
@@ -66,30 +67,66 @@ menuitem[cmd="cmd_clearhistory"][disable
 }
 
 .searchbar-search-button {
   list-style-image: url("chrome://browser/skin/search-indicator.png");
   -moz-image-region: rect(0, 20px, 20px, 0);
   margin-top: 1px;
   margin-bottom: 1px;
   margin-inline-start: 2px;
+  width: 20px;
 }
 
 .searchbar-search-button[addengines="true"] {
   list-style-image: url("chrome://browser/skin/search-indicator-badge-add.png");
 }
 
 .searchbar-search-button:hover {
   -moz-image-region: rect(0, 40px, 20px, 20px);
 }
 
 .searchbar-search-button:hover:active {
   -moz-image-region: rect(0, 60px, 20px, 40px);
 }
 
+@media (min-resolution: 1.1dppx) {
+  .searchbar-engine-image {
+    list-style-image: url("chrome://mozapps/skin/places/defaultFavicon@2x.png");
+  }
+
+  .searchbar-search-button {
+    list-style-image: url("chrome://browser/skin/search-indicator@2x.png");
+    -moz-image-region: rect(0, 40px, 40px, 0);
+  }
+
+  .searchbar-search-button[addengines="true"] {
+    list-style-image: url("chrome://browser/skin/search-indicator-badge-add@2x.png");
+  }
+
+  .searchbar-search-button:hover {
+    -moz-image-region: rect(0, 80px, 40px, 40px);
+  }
+
+  .searchbar-search-button:hover:active {
+    -moz-image-region: rect(0, 120px, 40px, 80px);
+  }
+
+  .search-go-button {
+    list-style-image: url("chrome://browser/skin/reload-stop-go@2x.png");
+    -moz-image-region: rect(0, 84px, 28px, 56px);
+  }
+
+  .search-go-button:hover {
+    -moz-image-region: rect(28px, 84px, 56px, 56px);
+  }
+
+  .search-go-button:hover:active {
+    -moz-image-region: rect(56px, 84px, 84px, 56px);
+  }
+}
 
 .search-panel-current-engine {
   border-top: none !important;
   -moz-box-align: center;
 }
 
 .search-panel-current-engine {
   border-bottom: none;
@@ -211,16 +248,26 @@ menuitem[cmd="cmd_clearhistory"][disable
   text-align: start;
   padding-inline-start: 10px;
 }
 
 .addengine-item:not([image]) {
   list-style-image: url("chrome://browser/skin/search-engine-placeholder.png");
 }
 
+@media (min-resolution: 1.1dppx) {
+  .addengine-badge {
+    list-style-image: url("chrome://browser/skin/badge-add-engine@2x.png");
+  }
+
+  .addengine-item:not([image]) {
+    list-style-image: url("chrome://browser/skin/search-engine-placeholder@2x.png");
+  }
+}
+
 .search-panel-tree > .autocomplete-treebody::-moz-tree-cell {
   border-top: none !important;
 }
 
 .search-panel-tree > .autocomplete-treebody::-moz-tree-cell-text {
   padding-inline-start: 4px;
 }
 
--- a/browser/themes/osx/jar.mn
+++ b/browser/themes/osx/jar.mn
@@ -124,27 +124,21 @@ browser.jar:
   skin/classic/browser/places/unfiledBookmarks.png          (places/unfiledBookmarks.png)
   skin/classic/browser/places/unfiledBookmarks@2x.png       (places/unfiledBookmarks@2x.png)
   skin/classic/browser/places/tag.png                       (places/tag.png)
   skin/classic/browser/places/tag@2x.png                    (places/tag@2x.png)
   skin/classic/browser/places/downloads.png                 (places/downloads.png)
   skin/classic/browser/places/livemark-item.png             (places/livemark-item.png)
   skin/classic/browser/preferences/alwaysAsk.png            (preferences/alwaysAsk.png)
   skin/classic/browser/preferences/application.png          (preferences/application.png)
-  skin/classic/browser/preferences/Options.png              (preferences/Options.png)
-  skin/classic/browser/preferences/Options-sync.png         (preferences/Options-sync.png)
   skin/classic/browser/preferences/saveFile.png             (preferences/saveFile.png)
 * skin/classic/browser/preferences/preferences.css          (preferences/preferences.css)
 * skin/classic/browser/preferences/in-content/preferences.css (preferences/in-content/preferences.css)
 * skin/classic/browser/preferences/in-content/dialog.css      (preferences/in-content/dialog.css)
   skin/classic/browser/preferences/applications.css         (preferences/applications.css)
-  skin/classic/browser/preferences/checkbox.png             (preferences/checkbox.png)
-  skin/classic/browser/preferences/checkbox@2x.png          (preferences/checkbox@2x.png)
-  skin/classic/browser/yosemite/preferences/checkbox.png    (preferences/checkbox-yosemite.png)
-  skin/classic/browser/yosemite/preferences/checkbox@2x.png (preferences/checkbox-yosemite@2x.png)
   skin/classic/browser/social/services-16.png               (social/services-16.png)
   skin/classic/browser/social/services-16@2x.png            (social/services-16@2x.png)
   skin/classic/browser/social/services-64.png               (social/services-64.png)
   skin/classic/browser/social/services-64@2x.png            (social/services-64@2x.png)
   skin/classic/browser/tabbrowser/alltabs-box-bkgnd-icon.png             (tabbrowser/alltabs-box-bkgnd-icon.png)
   skin/classic/browser/tabbrowser/alltabs-box-bkgnd-icon-inverted.png    (tabbrowser/alltabs-box-bkgnd-icon-inverted.png)
   skin/classic/browser/tabbrowser/alltabs-box-bkgnd-icon-inverted@2x.png (tabbrowser/alltabs-box-bkgnd-icon-inverted@2x.png)
   skin/classic/browser/tabbrowser/newtab.png                             (tabbrowser/newtab.png)
@@ -250,14 +244,12 @@ browser.jar:
 % override chrome://browser/skin/menuPanel-customize.png                   chrome://browser/skin/yosemite/menuPanel-customize.png                  os=Darwin osversion>=10.10
 % override chrome://browser/skin/menuPanel-customize@2x.png                chrome://browser/skin/yosemite/menuPanel-customize@2x.png               os=Darwin osversion>=10.10
 % override chrome://browser/skin/menuPanel-exit.png                        chrome://browser/skin/yosemite/menuPanel-exit.png                       os=Darwin osversion>=10.10
 % override chrome://browser/skin/menuPanel-exit@2x.png                     chrome://browser/skin/yosemite/menuPanel-exit@2x.png                    os=Darwin osversion>=10.10
 % override chrome://browser/skin/menuPanel-help.png                        chrome://browser/skin/yosemite/menuPanel-help.png                       os=Darwin osversion>=10.10
 % override chrome://browser/skin/menuPanel-help@2x.png                     chrome://browser/skin/yosemite/menuPanel-help@2x.png                    os=Darwin osversion>=10.10
 % override chrome://browser/skin/menuPanel-small.png                       chrome://browser/skin/yosemite/menuPanel-small.png                      os=Darwin osversion>=10.10
 % override chrome://browser/skin/menuPanel-small@2x.png                    chrome://browser/skin/yosemite/menuPanel-small@2x.png                   os=Darwin osversion>=10.10
-% override chrome://browser/skin/preferences/checkbox.png                  chrome://browser/skin/yosemite/preferences/checkbox.png                 os=Darwin osversion>=10.10
-% override chrome://browser/skin/preferences/checkbox@2x.png               chrome://browser/skin/yosemite/preferences/checkbox@2x.png              os=Darwin osversion>=10.10
 % override chrome://browser/skin/reload-stop-go.png                        chrome://browser/skin/yosemite/reload-stop-go.png                       os=Darwin osversion>=10.10
 % override chrome://browser/skin/reload-stop-go@2x.png                     chrome://browser/skin/yosemite/reload-stop-go@2x.png                    os=Darwin osversion>=10.10
 % override chrome://browser/skin/sync-horizontalbar.png                    chrome://browser/skin/yosemite/sync-horizontalbar.png               os=Darwin osversion>=10.10
 % override chrome://browser/skin/sync-horizontalbar@2x.png                 chrome://browser/skin/yosemite/sync-horizontalbar@2x.png            os=Darwin osversion>=10.10
deleted file mode 100644
index 89901fb698c4a06792d6ae974489cb6b93ed3994..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 615029cd1058a1656deb6c2e99cd45506cd0a762..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 1421c7d0e29cc43deab290b4d99f08c778fe3a00..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 9f156f2587d396c049f98a7ff57b7e09ad419910..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index fd009385362bcef2a1bdb4f4da71307366300c58..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index a5094640fd2f412b4b13cc9bc37337766de3dfc0..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/osx/preferences/preferences.css
+++ b/browser/themes/osx/preferences/preferences.css
@@ -10,140 +10,44 @@
 @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
 @namespace html url("http://www.w3.org/1999/xhtml");
 
 .windowDialog {
   padding: 12px;
   font: -moz-dialog;
 }
 
-.paneSelector {
-  list-style-image: url("chrome://browser/skin/preferences/Options.png");
-}
-
-/* ----- GENERAL BUTTON ----- */
-
-radio[pane=paneGeneral],
-radio[pane=paneMain] {
-  -moz-image-region: rect(0px, 32px, 32px, 0px);
-} 
-
-/* ----- TABS BUTTON ----- */
-
-radio[pane=paneTabs] {
-  -moz-image-region: rect(0px, 64px, 32px, 32px);
-}
-
-/* ----- SEARCH BUTTON ----- */
-
-radio[pane=paneSearch] {
-  list-style-image: url("chrome://browser/skin/search-pref.png");
-}
-
-/* ----- CONTENT BUTTON ----- */
-
-radio[pane=paneContent] {
-  -moz-image-region: rect(0px, 96px, 32px, 64px);
-}
-
-/* ----- APPLICATIONS BUTTON ----- */
-
-radio[pane=paneApplications] {
-  -moz-image-region: rect(0px, 128px, 32px, 96px);
-}
-
-/* ----- PRIVACY BUTTON ----- */
-
-radio[pane=panePrivacy] {
-  -moz-image-region: rect(0px, 160px, 32px, 128px);
-}
-
-/* ----- SECURITY BUTTON ----- */
-
-radio[pane=paneSecurity] {
-  -moz-image-region: rect(0px, 192px, 32px, 160px);
-}
-
-/* ----- ADVANCED BUTTON ----- */
-
-radio[pane=paneAdvanced] {
-  -moz-image-region: rect(0px, 224px, 32px, 192px);
-}
-
-/* ----- SYNC BUTTON ----- */
-
-radio[pane=paneSync] {
-  list-style-image: url("chrome://browser/skin/preferences/Options-sync.png");
-}
-
-/* These lines should be removed as part of fixing bug 1140495 */
-label.small {
-  font-size: smaller;
-}
-
 /* ----- APPLICATIONS PREFPANE ----- */
-#BrowserPreferences[animated="true"] #handlersView {
-  height: 25em;
-}
-
-#BrowserPreferences[animated="false"] #handlersView {
-  -moz-box-flex: 1;
-}
-
 description {
   font: small-caption;
   font-weight: normal;
   line-height: 1.3em;
   margin-bottom: 4px !important;
 }
 
 prefpane .groupbox-body {
   -moz-appearance: none;
   padding: 8px 4px 4px 4px;
 }
 
-#paneTabs > groupbox {
-  margin: 0;
-}
-
-#tabPrefsBox {
-  margin: 12px 4px;
-}
-
 prefpane .groupbox-title {
   background: url("chrome://global/skin/50pct_transparent_grey.png") repeat-x bottom left;
   margin-bottom: 4px;
 }
 
 tabpanels {
   padding: 20px 7px 7px;
 }
 
 caption {
   padding-inline-start: 5px;
   padding-top: 4px;
   padding-bottom: 2px;
 }
 
-#paneMain description,
-#paneContent description,
-#paneAdvanced description,
-#paneSecurity description {
-  font: -moz-dialog;
-}
-
-#paneContent {
-  padding-top: 8px;
-}
-
-#paneContent row {
-  padding: 2px 4px;
-  -moz-box-align: center;
-}
-
 #popupPolicyRow {
   margin-bottom: 4px !important;
   padding-bottom: 4px !important;
   border-bottom: 1px solid #ccc;
 }
 
 #translationAttributionImage {
   width: 70px;
@@ -179,34 +83,16 @@ caption {
   font-size: 90%;
 }
 
 #isNotDefaultLabel {
   font-weight: bold;
 }
 
 /**
- * Privacy Pane
- */
-
-html|a.inline-link {
-  color: -moz-nativehyperlinktext;
-  text-decoration: none;
-}
-
-html|a.inline-link:hover {
-  text-decoration: underline;
-}
-
-html|a.inline-link:-moz-focusring {
-  outline-width: 0;
-  box-shadow: @focusRingShadow@;
-}
-
-/**
  * Update Preferences
  */
 #autoInstallOptions {
   margin-inline-start: 20px;
 }
 
 .updateControls {
   margin-inline-start: 10px;
--- a/browser/themes/shared/jar.inc.mn
+++ b/browser/themes/shared/jar.inc.mn
@@ -81,17 +81,16 @@
   skin/classic/browser/fxa/logo@2x.png                         (../shared/fxa/logo@2x.png)
   skin/classic/browser/fxa/sync-illustration.png               (../shared/fxa/sync-illustration.png)
   skin/classic/browser/fxa/sync-illustration@2x.png            (../shared/fxa/sync-illustration@2x.png)
   skin/classic/browser/fxa/sync-illustration.svg               (../shared/fxa/sync-illustration.svg)
   skin/classic/browser/fxa/android.png                         (../shared/fxa/android.png)
   skin/classic/browser/fxa/android@2x.png                      (../shared/fxa/android@2x.png)
   skin/classic/browser/fxa/ios.png                             (../shared/fxa/ios.png)
   skin/classic/browser/fxa/ios@2x.png                          (../shared/fxa/ios@2x.png)
-  skin/classic/browser/search-pref.png                         (../shared/search/search-pref.png)
   skin/classic/browser/search-indicator.png                    (../shared/search/search-indicator.png)
   skin/classic/browser/search-indicator@2x.png                 (../shared/search/search-indicator@2x.png)
   skin/classic/browser/search-engine-placeholder.png           (../shared/search/search-engine-placeholder.png)
   skin/classic/browser/search-engine-placeholder@2x.png        (../shared/search/search-engine-placeholder@2x.png)
   skin/classic/browser/searchReset.css                         (../shared/searchReset.css)
   skin/classic/browser/badge-add-engine.png                    (../shared/search/badge-add-engine.png)
   skin/classic/browser/badge-add-engine@2x.png                 (../shared/search/badge-add-engine@2x.png)
   skin/classic/browser/search-indicator-badge-add.png          (../shared/search/search-indicator-badge-add.png)
deleted file mode 100644
index 1d50804b35d29d786da83988168a612b087e3126..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/windows/jar.mn
+++ b/browser/themes/windows/jar.mn
@@ -136,31 +136,22 @@ browser.jar:
   skin/classic/browser/places/unsortedBookmarks.png            (places/unsortedBookmarks.png)
   skin/classic/browser/places/unsortedBookmarks-XP.png         (places/unsortedBookmarks-XP.png)
   skin/classic/browser/places/downloads.png                    (places/downloads.png)
   skin/classic/browser/places/livemark-item.png                (places/livemark-item.png)
   skin/classic/browser/preferences/alwaysAsk.png               (preferences/alwaysAsk.png)
   skin/classic/browser/preferences/alwaysAsk-XP.png            (preferences/alwaysAsk-XP.png)
   skin/classic/browser/preferences/application.png             (preferences/application.png)
   skin/classic/browser/preferences/application-XP.png          (preferences/application-XP.png)
-  skin/classic/browser/preferences/mail.png                    (preferences/mail.png)
-  skin/classic/browser/preferences/mail-XP.png                 (preferences/mail-XP.png)
-  skin/classic/browser/preferences/Options.png                 (preferences/Options.png)
-  skin/classic/browser/preferences/Options-XP.png              (preferences/Options-XP.png)
-  skin/classic/browser/preferences/Options-sync.png            (preferences/Options-sync.png)
   skin/classic/browser/preferences/saveFile.png                (preferences/saveFile.png)
   skin/classic/browser/preferences/saveFile-XP.png             (preferences/saveFile-XP.png)
   skin/classic/browser/preferences/preferences.css             (preferences/preferences.css)
 * skin/classic/browser/preferences/in-content/preferences.css  (preferences/in-content/preferences.css)
 * skin/classic/browser/preferences/in-content/dialog.css       (preferences/in-content/dialog.css)
   skin/classic/browser/preferences/applications.css            (preferences/applications.css)
-  skin/classic/browser/preferences/checkbox.png                (preferences/checkbox.png)
-  skin/classic/browser/preferences/checkbox-aero.png           (preferences/checkbox-aero.png)
-  skin/classic/browser/preferences/checkbox-classic.png        (preferences/checkbox-classic.png)
-  skin/classic/browser/preferences/checkbox-xp.png             (preferences/checkbox-xp.png)
   skin/classic/browser/social/services-16.png                  (social/services-16.png)
   skin/classic/browser/social/services-64.png                  (social/services-64.png)
   skin/classic/browser/tabbrowser/newtab.svg                   (tabbrowser/newtab.svg)
   skin/classic/browser/tabbrowser/newtab-XPVista7.svg          (tabbrowser/newtab-XPVista7.svg)
   skin/classic/browser/tabbrowser/newtab-inverted.svg          (tabbrowser/newtab-inverted.svg)
   skin/classic/browser/tabbrowser/newtab-inverted-XPVista7.svg (tabbrowser/newtab-inverted-XPVista7.svg)
   skin/classic/browser/tabbrowser/connecting.png               (tabbrowser/connecting.png)
   skin/classic/browser/tabbrowser/connecting@2x.png            (tabbrowser/connecting@2x.png)
@@ -249,18 +240,16 @@ browser.jar:
 % override chrome://browser/skin/places/libraryToolbar.png            chrome://browser/skin/places/libraryToolbar-XP.png                os=WINNT osversion<6
 % override chrome://browser/skin/places/starred48.png                 chrome://browser/skin/places/starred48-XP.png                     os=WINNT osversion<6
 % override chrome://browser/skin/places/tag.png                       chrome://browser/skin/places/tag-XP.png                           os=WINNT osversion<6
 % override chrome://browser/skin/places/history.png                   chrome://browser/skin/places/history-XP.png                       os=WINNT osversion<6
 % override chrome://browser/skin/places/allBookmarks.png              chrome://browser/skin/places/allBookmarks-XP.png                  os=WINNT osversion<6
 % override chrome://browser/skin/places/unsortedBookmarks.png         chrome://browser/skin/places/unsortedBookmarks-XP.png             os=WINNT osversion<6
 % override chrome://browser/skin/preferences/alwaysAsk.png            chrome://browser/skin/preferences/alwaysAsk-XP.png                os=WINNT osversion<6
 % override chrome://browser/skin/preferences/application.png          chrome://browser/skin/preferences/application-XP.png              os=WINNT osversion<6
-% override chrome://browser/skin/preferences/mail.png                 chrome://browser/skin/preferences/mail-XP.png                     os=WINNT osversion<6
-% override chrome://browser/skin/preferences/Options.png              chrome://browser/skin/preferences/Options-XP.png                  os=WINNT osversion<6
 % override chrome://browser/skin/preferences/saveFile.png             chrome://browser/skin/preferences/saveFile-XP.png                 os=WINNT osversion<6
 
 % override chrome://browser/skin/actionicon-tab.png                   chrome://browser/skin/actionicon-tab-XPVista7.png                 os=WINNT osversion<=6.1
 % override chrome://browser/skin/privatebrowsing-mask-tabstrip.png    chrome://browser/skin/privatebrowsing-mask-tabstrip-XPVista7.png  os=WINNT osversion<=6.1
 % override chrome://browser/skin/privatebrowsing-mask-titlebar.png    chrome://browser/skin/privatebrowsing-mask-titlebar-XPVista7.png  os=WINNT osversion<=6.1
 % override chrome://browser/skin/reload-stop-go.png                   chrome://browser/skin/reload-stop-go-XPVista7.png                 os=WINNT osversion<=6.1
 % override chrome://browser/skin/reload-stop-go@2x.png                chrome://browser/skin/reload-stop-go-XPVista7@2x.png              os=WINNT osversion<=6.1
 % override chrome://browser/skin/sync-horizontalbar.png               chrome://browser/skin/sync-horizontalbar-XPVista7.png             os=WINNT osversion<=6.1
@@ -290,18 +279,15 @@ browser.jar:
 % override chrome://browser/skin/Toolbar@2x.png                       chrome://browser/skin/Toolbar-aero@2x.png                         os=WINNT osversion=6.1
 % override chrome://browser/skin/Toolbar@2x.png                       chrome://browser/skin/Toolbar-win8@2x.png                         os=WINNT osversion=6.2
 % override chrome://browser/skin/Toolbar@2x.png                       chrome://browser/skin/Toolbar-win8@2x.png                         os=WINNT osversion=6.3
 % override chrome://browser/skin/Toolbar.png                          chrome://browser/skin/Toolbar-XP.png                              os=WINNT osversion<6
 % override chrome://browser/skin/Toolbar.png                          chrome://browser/skin/Toolbar-aero.png                            os=WINNT osversion=6
 % override chrome://browser/skin/Toolbar.png                          chrome://browser/skin/Toolbar-aero.png                            os=WINNT osversion=6.1
 % override chrome://browser/skin/Toolbar.png                          chrome://browser/skin/Toolbar-win8.png                            os=WINNT osversion=6.2
 % override chrome://browser/skin/Toolbar.png                          chrome://browser/skin/Toolbar-win8.png                            os=WINNT osversion=6.3
-% override chrome://browser/skin/preferences/checkbox.png             chrome://browser/skin/preferences/checkbox-aero.png               os=WINNT osversion=6
-% override chrome://browser/skin/preferences/checkbox.png             chrome://browser/skin/preferences/checkbox-aero.png               os=WINNT osversion=6.1
-% override chrome://browser/skin/preferences/checkbox.png             chrome://browser/skin/preferences/checkbox-xp.png                 os=WINNT osversion<6
 
 % override chrome://browser/skin/tabbrowser/tab-background-start.png     chrome://browser/skin/tabbrowser/tab-background-start-preWin10.png     os=WINNT osversion<=6.3
 % override chrome://browser/skin/tabbrowser/tab-background-start@2x.png  chrome://browser/skin/tabbrowser/tab-background-start-preWin10@2x.png  os=WINNT osversion<=6.3
 % override chrome://browser/skin/tabbrowser/tab-background-middle.png    chrome://browser/skin/tabbrowser/tab-background-middle-preWin10.png    os=WINNT osversion<=6.3
 % override chrome://browser/skin/tabbrowser/tab-background-middle@2x.png chrome://browser/skin/tabbrowser/tab-background-middle-preWin10@2x.png os=WINNT osversion<=6.3
 % override chrome://browser/skin/tabbrowser/tab-background-end.png       chrome://browser/skin/tabbrowser/tab-background-end-preWin10.png       os=WINNT osversion<=6.3
 % override chrome://browser/skin/tabbrowser/tab-background-end@2x.png    chrome://browser/skin/tabbrowser/tab-background-end-preWin10@2x.png    os=WINNT osversion<=6.3
deleted file mode 100644
index 065f3c725227ab63a6543ad31c916eff27453611..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 245aed398952ec3211d9e0ec469b5f816bc074ba..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 4f99e62ada530dae2d3841e101c4a82537414f6e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 899c39c603a41bceeb3d394375c0023aed62f7a5..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 6205b45b19b8e05c06814c1edee1efc2916a88b0..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index cb7a5badd688ba469d19c6a53e21b3b91abc2f97..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index be1747e2406e0fd75c13e4f76dbd1c5874c387cf..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 9f7c1896f85b53b94a91e0dfda6631303dc56c7a..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 12a975d16bc99e72f32b8657b00826065b65aa4b..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
GIT binary patch
literal 0
Hc$@<O00001
--- a/browser/themes/windows/preferences/preferences.css
+++ b/browser/themes/windows/preferences/preferences.css
@@ -1,66 +1,15 @@
 /*
 # -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 # This Source Code Form is subject to the terms of the Mozilla Public
 # 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/.
 */
 
-/* Global Styles */
-#BrowserPreferences radio[pane] {
-  list-style-image: url("chrome://browser/skin/preferences/Options.png"); 
-  padding: 5px 3px 1px;
-}
-
-radio[pane=paneMain] {
-  -moz-image-region: rect(0, 32px,  32px, 0);
-}
-
-radio[pane=paneTabs] {
-  -moz-image-region: rect(0, 64px, 32px, 32px);
-}
-
-#BrowserPreferences radio[pane=paneSearch] {
-  list-style-image: url("chrome://browser/skin/search-pref.png");
-}
-
-radio[pane=paneContent] {
-  -moz-image-region: rect(0, 96px,  32px, 64px);
-}
-
-radio[pane=paneApplications] {
-  -moz-image-region: rect(0, 128px,  32px, 96px);
-}
-
-radio[pane=panePrivacy] {
-  -moz-image-region: rect(0, 160px,  32px, 128px);
-}
-
-radio[pane=paneSecurity] {
-  -moz-image-region: rect(0, 192px,  32px, 160px);
-}
-
-radio[pane=paneAdvanced] {
-  -moz-image-region: rect(0, 224px, 32px, 192px);
-}
-
-radio[pane=paneSync] {
-  list-style-image: url("chrome://browser/skin/preferences/Options-sync.png") !important;
-}
-
-/* These lines should be removed as part of fixing bug 1140495 */
-label.small {
-  font-size: smaller;
-}
-
-#tabPrefsBox {
-  margin: 6px;
-}
-
 /* General Pane */
 
 #useFirefoxSync,
 #getStarted {
   font-size: 90%;
 }
 
 #isNotDefaultLabel {
@@ -68,37 +17,16 @@ label.small {
 }
 
 /* Content Pane */
 #translationAttributionImage {
   width: 70px;
   cursor: pointer;
 }
 
-/* Applications Pane */
-#BrowserPreferences[animated="true"] #handlersView {
-  height: 25em;
-}
-
-#BrowserPreferences[animated="false"] #handlersView {
-  -moz-box-flex: 1;
-}
-
-/* Privacy Pane */
-
-/* styles for the link elements copied from .text-link in global.css */
-.inline-link {
-  color: -moz-nativehyperlinktext;
-  text-decoration: none;
-}
-
-.inline-link:hover {
-  text-decoration: underline;
-}
-
 /* Modeless Window Dialogs */
 .windowDialog,
 .windowDialog prefpane {
   padding: 0;
 }
 
 .contentPane {
   margin: 9px 8px 5px;
--- a/devtools/client/inspector/markup/markup.js
+++ b/devtools/client/inspector/markup/markup.js
@@ -10,20 +10,24 @@
 const {Cc, Ci} = require("chrome");
 
 // Page size for pageup/pagedown
 const PAGE_SIZE = 10;
 const DEFAULT_MAX_CHILDREN = 100;
 const COLLAPSE_DATA_URL_REGEX = /^data.+base64/;
 const COLLAPSE_DATA_URL_LENGTH = 60;
 const NEW_SELECTION_HIGHLIGHTER_TIMER = 1000;
-const DRAG_DROP_AUTOSCROLL_EDGE_DISTANCE = 50;
-const DRAG_DROP_MIN_AUTOSCROLL_SPEED = 5;
-const DRAG_DROP_MAX_AUTOSCROLL_SPEED = 15;
+const DRAG_DROP_AUTOSCROLL_EDGE_MAX_DISTANCE = 50;
+const DRAG_DROP_AUTOSCROLL_EDGE_RATIO = 0.1;
+const DRAG_DROP_MIN_AUTOSCROLL_SPEED = 2;
+const DRAG_DROP_MAX_AUTOSCROLL_SPEED = 8;
 const DRAG_DROP_MIN_INITIAL_DISTANCE = 10;
+const DRAG_DROP_HEIGHT_TO_SPEED = 500;
+const DRAG_DROP_HEIGHT_TO_SPEED_MIN = 0.5;
+const DRAG_DROP_HEIGHT_TO_SPEED_MAX = 1;
 const AUTOCOMPLETE_POPUP_PANEL_ID = "markupview_autoCompletePopup";
 const ATTR_COLLAPSE_ENABLED_PREF = "devtools.markup.collapseAttributes";
 const ATTR_COLLAPSE_LENGTH_PREF = "devtools.markup.collapseAttributeLength";
 const PREVIEW_MAX_DIM_PREF = "devtools.inspector.imagePreviewTooltipSize";
 
 // Contains only void (without end tag) HTML elements
 const HTML_VOID_ELEMENTS = [ "area", "base", "br", "col", "command", "embed",
   "hr", "img", "input", "keygen", "link", "meta", "param", "source",
@@ -247,49 +251,70 @@ MarkupView.prototype = {
   /**
    * Executed on each mouse-move while a node is being dragged in the view.
    * Auto-scrolls the view to reveal nodes below the fold to drop the dragged
    * node in.
    */
   _autoScroll: function (event) {
     let docEl = this.doc.documentElement;
 
-    if (this._autoScrollInterval) {
-      clearInterval(this._autoScrollInterval);
+    if (this._autoScrollAnimationFrame) {
+      this.win.cancelAnimationFrame(this._autoScrollAnimationFrame);
     }
 
     // Auto-scroll when the mouse approaches top/bottom edge.
     let fromBottom = docEl.clientHeight - event.pageY + this.win.scrollY;
     let fromTop = event.pageY - this.win.scrollY;
-
-    if (fromBottom <= DRAG_DROP_AUTOSCROLL_EDGE_DISTANCE) {
-      // Map our distance from 0-50 to 5-15 range so the speed is kept in a
-      // range not too fast, not too slow.
+    let edgeDistance = Math.min(DRAG_DROP_AUTOSCROLL_EDGE_MAX_DISTANCE,
+           docEl.clientHeight * DRAG_DROP_AUTOSCROLL_EDGE_RATIO);
+
+    // The smaller the screen, the slower the movement.
+    let heightToSpeedRatio =
+      Math.max(DRAG_DROP_HEIGHT_TO_SPEED_MIN,
+        Math.min(DRAG_DROP_HEIGHT_TO_SPEED_MAX,
+          docEl.clientHeight / DRAG_DROP_HEIGHT_TO_SPEED));
+
+    if (fromBottom <= edgeDistance) {
+      // Map our distance range to a speed range so that the speed is not too
+      // fast or too slow.
       let speed = map(
         fromBottom,
-        0, DRAG_DROP_AUTOSCROLL_EDGE_DISTANCE,
+        0, edgeDistance,
         DRAG_DROP_MIN_AUTOSCROLL_SPEED, DRAG_DROP_MAX_AUTOSCROLL_SPEED);
 
-      this._autoScrollInterval = setInterval(() => {
-        docEl.scrollTop -= speed - DRAG_DROP_MAX_AUTOSCROLL_SPEED;
-      }, 0);
+      this._runUpdateLoop(() => {
+        docEl.scrollTop -= heightToSpeedRatio *
+          (speed - DRAG_DROP_MAX_AUTOSCROLL_SPEED);
+      });
     }
 
-    if (fromTop <= DRAG_DROP_AUTOSCROLL_EDGE_DISTANCE) {
+    if (fromTop <= edgeDistance) {
       let speed = map(
         fromTop,
-        0, DRAG_DROP_AUTOSCROLL_EDGE_DISTANCE,
+        0, edgeDistance,
         DRAG_DROP_MIN_AUTOSCROLL_SPEED, DRAG_DROP_MAX_AUTOSCROLL_SPEED);
 
-      this._autoScrollInterval = setInterval(() => {
-        docEl.scrollTop += speed - DRAG_DROP_MAX_AUTOSCROLL_SPEED;
-      }, 0);
+      this._runUpdateLoop(() => {
+        docEl.scrollTop += heightToSpeedRatio *
+          (speed - DRAG_DROP_MAX_AUTOSCROLL_SPEED);
+      });
     }
   },
 
+  /**
+   * Run a loop on the requestAnimationFrame.
+   */
+  _runUpdateLoop: function (update) {
+    let loop = () => {
+      update();
+      this._autoScrollAnimationFrame = this.win.requestAnimationFrame(loop);
+    };
+    loop();
+  },
+
   _onMouseClick: function (event) {
     // From the target passed here, let's find the parent MarkupContainer
     // and ask it if the tooltip should be shown
     let parentNode = event.target;
     let container;
     while (parentNode !== this.doc.body) {
       if (parentNode.container) {
         container = parentNode.container;
@@ -304,18 +329,18 @@ MarkupView.prototype = {
       container._buildEventTooltipContent(event.target,
         this.eventDetailsTooltip);
     }
   },
 
   _onMouseUp: function () {
     this.indicateDropTarget(null);
     this.indicateDragTarget(null);
-    if (this._autoScrollInterval) {
-      clearInterval(this._autoScrollInterval);
+    if (this._autoScrollAnimationFrame) {
+      this.win.cancelAnimationFrame(this._autoScrollAnimationFrame);
     }
   },
 
   _onCollapseAttributesPrefChange: function () {
     this.collapseAttributes =
       Services.prefs.getBoolPref(ATTR_COLLAPSE_ENABLED_PREF);
     this.collapseAttributeLength =
       Services.prefs.getIntPref(ATTR_COLLAPSE_LENGTH_PREF);
@@ -331,18 +356,18 @@ MarkupView.prototype = {
       if (container.isDragging) {
         container.cancelDragging();
         break;
       }
     }
 
     this.indicateDropTarget(null);
     this.indicateDragTarget(null);
-    if (this._autoScrollInterval) {
-      clearInterval(this._autoScrollInterval);
+    if (this._autoScrollAnimationFrame) {
+      this.win.cancelAnimationFrame(this._autoScrollAnimationFrame);
     }
   },
 
   _hoveredNode: null,
 
   /**
    * Show a NodeFront's container as being hovered
    *
@@ -358,18 +383,18 @@ MarkupView.prototype = {
       this.getContainer(this._hoveredNode).hovered = false;
     }
 
     this.getContainer(nodeFront).hovered = true;
     this._hoveredNode = nodeFront;
   },
 
   _onMouseLeave: function () {
-    if (this._autoScrollInterval) {
-      clearInterval(this._autoScrollInterval);
+    if (this._autoScrollAnimationFrame) {
+      this.win.cancelAnimationFrame(this._autoScrollAnimationFrame);
     }
     if (this.isDragging) {
       return;
     }
 
     this._hideBoxModel(true);
     if (this._hoveredNode) {
       this.getContainer(this._hoveredNode).hovered = false;
@@ -1879,16 +1904,17 @@ MarkupContainer.prototype = {
    *         Which template to render for this container
    */
   initialize: function (markupView, node, templateID) {
     this.markup = markupView;
     this.node = node;
     this.undo = this.markup.undo;
     this.win = this.markup._frame.contentWindow;
     this.id = "treeitem-" + markupContainerID++;
+    this.htmlElt = this.win.document.documentElement;
 
     // The template will fill the following properties
     this.elt = null;
     this.expander = null;
     this.tagState = null;
     this.tagLine = null;
     this.children = null;
     this.markup.template(templateID, this);
@@ -2180,20 +2206,22 @@ MarkupContainer.prototype = {
 
   set isDragging(isDragging) {
     let rootElt = this.markup.getContainer(this.markup._rootNode).elt;
     this._isDragging = isDragging;
     this.markup.isDragging = isDragging;
     this.tagLine.setAttribute("aria-grabbed", isDragging);
 
     if (isDragging) {
+      this.htmlElt.classList.add("dragging");
       this.elt.classList.add("dragging");
       this.markup.doc.body.classList.add("dragging");
       rootElt.setAttribute("aria-dropeffect", "move");
     } else {
+      this.htmlElt.classList.remove("dragging");
       this.elt.classList.remove("dragging");
       this.markup.doc.body.classList.remove("dragging");
       rootElt.setAttribute("aria-dropeffect", "none");
     }
   },
 
   get isDragging() {
     return this._isDragging;
@@ -2520,16 +2548,17 @@ MarkupContainer.prototype = {
     this.elt.removeEventListener("dblclick", this._onToggle, false);
     this.tagLine.removeEventListener("keydown", this._onKeyDown, true);
     if (this.win) {
       this.win.removeEventListener("mouseup", this._onMouseUp, true);
       this.win.removeEventListener("mousemove", this._onMouseMove, true);
     }
 
     this.win = null;
+    this.htmlElt = null;
 
     if (this.expander) {
       this.expander.removeEventListener("click", this._onToggle, false);
     }
 
     // Recursively destroy children containers
     let firstChild = this.children.firstChild;
     while (firstChild) {
--- a/devtools/client/inspector/markup/test/browser.ini
+++ b/devtools/client/inspector/markup/test/browser.ini
@@ -1,16 +1,17 @@
 [DEFAULT]
 tags = devtools
 subsuite = devtools
 support-files =
   actor_events_form.js
   doc_markup_anonymous.html
   doc_markup_dragdrop.html
-  doc_markup_dragdrop_autoscroll.html
+  doc_markup_dragdrop_autoscroll_01.html
+  doc_markup_dragdrop_autoscroll_02.html
   doc_markup_edit.html
   doc_markup_events1.html
   doc_markup_events2.html
   doc_markup_events3.html
   doc_markup_events_form.html
   doc_markup_events_jquery.html
   doc_markup_events-overflow.html
   doc_markup_flashing.html
@@ -60,17 +61,18 @@ skip-if = os == "mac" # Full keyboard na
 skip-if = e10s # scratchpad.xul is not loading in e10s window
 [browser_markup_anonymous_03.js]
 [browser_markup_anonymous_04.js]
 [browser_markup_copy_image_data.js]
 subsuite = clipboard
 [browser_markup_css_completion_style_attribute_01.js]
 [browser_markup_css_completion_style_attribute_02.js]
 [browser_markup_css_completion_style_attribute_03.js]
-[browser_markup_dragdrop_autoscroll.js]
+[browser_markup_dragdrop_autoscroll_01.js]
+[browser_markup_dragdrop_autoscroll_02.js]
 [browser_markup_dragdrop_distance.js]
 [browser_markup_dragdrop_draggable.js]
 [browser_markup_dragdrop_dragRootNode.js]
 [browser_markup_dragdrop_escapeKeyPress.js]
 [browser_markup_dragdrop_invalidNodes.js]
 [browser_markup_dragdrop_reorder.js]
 [browser_markup_dragdrop_tooltip.js]
 [browser_markup_events1.js]
rename from devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll.js
rename to devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll_01.js
--- a/devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll.js
+++ b/devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll_01.js
@@ -1,73 +1,51 @@
 /* vim: set ts=2 et sw=2 tw=80: */
 /* Any copyright is dedicated to the Public Domain.
  http://creativecommons.org/publicdomain/zero/1.0/ */
 
 "use strict";
 
 // Test that dragging a node near the top or bottom edge of the markup-view
-// auto-scrolls the view.
+// auto-scrolls the view on a large toolbox.
 
-const TEST_URL = URL_ROOT + "doc_markup_dragdrop_autoscroll.html";
+const TEST_URL = URL_ROOT + "doc_markup_dragdrop_autoscroll_01.html";
 
 add_task(function* () {
+  // Set the toolbox as large as it would get. The toolbox automatically shrinks
+  // to not overflow to window.
+  yield pushPref("devtools.toolbox.footer.height", 10000);
+
   let {inspector} = yield openInspectorForURL(TEST_URL);
   let markup = inspector.markup;
   let viewHeight = markup.doc.documentElement.clientHeight;
 
   info("Pretend the markup-view is dragging");
   markup.isDragging = true;
 
   info("Simulate a mousemove on the view, at the bottom, and expect scrolling");
-  let onScrolled = waitForScrollStop(markup);
+  let onScrolled = waitForScrollStop(markup.doc);
 
   markup._onMouseMove({
     preventDefault: () => {},
     target: markup.doc.body,
     pageY: viewHeight
   });
 
   let bottomScrollPos = yield onScrolled;
   ok(bottomScrollPos > 0, "The view was scrolled down");
 
   info("Simulate a mousemove at the top and expect more scrolling");
-  onScrolled = waitForScrollStop(markup);
+  onScrolled = waitForScrollStop(markup.doc);
 
   markup._onMouseMove({
     preventDefault: () => {},
     target: markup.doc.body,
     pageY: 0
   });
 
   let topScrollPos = yield onScrolled;
   ok(topScrollPos < bottomScrollPos, "The view was scrolled up");
   is(topScrollPos, 0, "The view was scrolled up to the top");
 
   info("Simulate a mouseup to stop dragging");
   markup._onMouseUp();
 });
-
-/**
- * Waits until the element has not scrolled for 30 consecutive frames.
- */
-function* waitForScrollStop(markup) {
-  let el = markup.doc.documentElement;
-  let win = markup.doc.defaultView;
-  let lastScrollTop = el.scrollTop;
-  let stopFrameCount = 0;
-  while (stopFrameCount < 30) {
-    // Wait for a frame.
-    yield new Promise(resolve => win.requestAnimationFrame(resolve));
-
-    // Check if the element has scrolled.
-    if (lastScrollTop == el.scrollTop) {
-      // No scrolling since the last frame.
-      stopFrameCount++;
-    } else {
-      // The element has scrolled. Reset the frame counter.
-      stopFrameCount = 0;
-      lastScrollTop = el.scrollTop;
-    }
-  }
-
-  return lastScrollTop;
-}
new file mode 100644
--- /dev/null
+++ b/devtools/client/inspector/markup/test/browser_markup_dragdrop_autoscroll_02.js
@@ -0,0 +1,50 @@
+/* vim: set ts=2 et sw=2 tw=80: */
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+// Test that dragging a node near the top or bottom edge of the markup-view
+// auto-scrolls the view on a small toolbox.
+
+const TEST_URL = URL_ROOT + "doc_markup_dragdrop_autoscroll_02.html";
+
+add_task(function* () {
+  // Set the toolbox to very small in size.
+  yield pushPref("devtools.toolbox.footer.height", 150);
+
+  let {inspector} = yield openInspectorForURL(TEST_URL);
+  let markup = inspector.markup;
+  let viewHeight = markup.doc.documentElement.clientHeight;
+
+  info("Pretend the markup-view is dragging");
+  markup.isDragging = true;
+
+  info("Simulate a mousemove on the view, at the bottom, and expect scrolling");
+  let onScrolled = waitForScrollStop(markup.doc);
+
+  markup._onMouseMove({
+    preventDefault: () => {},
+    target: markup.doc.body,
+    pageY: viewHeight
+  });
+
+  let bottomScrollPos = yield onScrolled;
+  ok(bottomScrollPos > 0, "The view was scrolled down");
+
+  info("Simulate a mousemove at the top and expect more scrolling");
+  onScrolled = waitForScrollStop(markup.doc);
+
+  markup._onMouseMove({
+    preventDefault: () => {},
+    target: markup.doc.body,
+    pageY: 0
+  });
+
+  let topScrollPos = yield onScrolled;
+  ok(topScrollPos < bottomScrollPos, "The view was scrolled up");
+  is(topScrollPos, 0, "The view was scrolled up to the top");
+
+  info("Simulate a mouseup to stop dragging");
+  markup._onMouseUp();
+});
new file mode 100644
--- /dev/null
+++ b/devtools/client/inspector/markup/test/doc_markup_dragdrop_autoscroll_01.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=858038
+https://bugzilla.mozilla.org/show_bug.cgi?id=1226898
+-->
+<head>
+  <meta charset="utf-8">
+  <title>Test for Bug 858038 and 1226898 - Autoscroll</title>
+</head>
+<body>
+  <div id="first"></div>
+  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=858038">Mozilla Bug 858038</a>
+  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1226898">Mozilla Bug 1226898</a>
+  <p id="display">Test</p>
+  <div id="content" style="display: none">
+
+  </div>
+
+  <!-- Make sure the markup-view has enough nodes shown by default that it has a scrollbar -->
+
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+</body>
+</html>
rename from devtools/client/inspector/markup/test/doc_markup_dragdrop_autoscroll.html
rename to devtools/client/inspector/markup/test/doc_markup_dragdrop_autoscroll_02.html
--- a/devtools/client/inspector/markup/test/doc_markup_dragdrop_autoscroll.html
+++ b/devtools/client/inspector/markup/test/doc_markup_dragdrop_autoscroll_02.html
@@ -1,20 +1,22 @@
 <!DOCTYPE HTML>
 <html>
 <!--
 https://bugzilla.mozilla.org/show_bug.cgi?id=858038
+https://bugzilla.mozilla.org/show_bug.cgi?id=1226898
 -->
 <head>
   <meta charset="utf-8">
-  <title>Test for Bug 858038 - Autoscroll</title>
+  <title>Test for Bug 858038 and 1226898 - Autoscroll</title>
 </head>
 <body>
   <div id="first"></div>
   <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=858038">Mozilla Bug 858038</a>
+  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1226898">Mozilla Bug 1226898</a>
   <p id="display">Test</p>
   <div id="content" style="display: none">
 
   </div>
 
   <!-- Make sure the markup-view has enough nodes shown by default that it has a scrollbar -->
 
   <div></div>
@@ -42,10 +44,20 @@ https://bugzilla.mozilla.org/show_bug.cg
   <div></div>
   <div></div>
   <div></div>
   <div></div>
   <div></div>
   <div></div>
   <div></div>
   <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
+  <div></div>
 </body>
 </html>
--- a/devtools/client/inspector/markup/test/head.js
+++ b/devtools/client/inspector/markup/test/head.js
@@ -579,8 +579,34 @@ function* simulateNodeDrop(inspector, se
  * the MarkupContainer for this node.
  * @param {Number} xOffset Optional x offset to drag by.
  * @param {Number} yOffset Optional y offset to drag by.
  */
 function* simulateNodeDragAndDrop(inspector, selector, xOffset, yOffset) {
   yield simulateNodeDrag(inspector, selector, xOffset, yOffset);
   yield simulateNodeDrop(inspector, selector);
 }
+
+/**
+ * Waits until the element has not scrolled for 30 consecutive frames.
+ */
+function* waitForScrollStop(doc) {
+  let el = doc.documentElement;
+  let win = doc.defaultView;
+  let lastScrollTop = el.scrollTop;
+  let stopFrameCount = 0;
+  while (stopFrameCount < 30) {
+    // Wait for a frame.
+    yield new Promise(resolve => win.requestAnimationFrame(resolve));
+
+    // Check if the element has scrolled.
+    if (lastScrollTop == el.scrollTop) {
+      // No scrolling since the last frame.
+      stopFrameCount++;
+    } else {
+      // The element has scrolled. Reset the frame counter.
+      stopFrameCount = 0;
+      lastScrollTop = el.scrollTop;
+    }
+  }
+
+  return lastScrollTop;
+}
--- a/devtools/client/themes/markup.css
+++ b/devtools/client/themes/markup.css
@@ -31,16 +31,20 @@ body {
   min-width: 100%;
 }
 
 /* Don't display a parent-child outline for the root elements */
 #root > ul > li > .children {
   background: none;
 }
 
+html.dragging {
+  overflow-x: hidden;
+}
+
 body.dragging .tag-line {
   cursor: grabbing;
 }
 
 #root-wrapper:after {
    content: "";
    display: block;
    clear: both;
new file mode 100644
--- /dev/null
+++ b/devtools/client/webconsole/new-console-output/components/grip-message-body.js
@@ -0,0 +1,30 @@
+/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
+/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+// React
+const {
+  PropTypes
+} = require("devtools/client/shared/vendor/react");
+const { createFactories } = require("devtools/client/shared/components/reps/rep-utils");
+const { Rep } = createFactories(require("devtools/client/shared/components/reps/rep"));
+const { Grip } = require("devtools/client/shared/components/reps/grip");
+
+GripMessageBody.displayName = "GripMessageBody";
+
+GripMessageBody.propTypes = {
+  grip: PropTypes.object.isRequired,
+};
+
+function GripMessageBody(props) {
+  return Rep({
+    object: props.grip,
+    defaultRep: Grip
+  });
+}
+
+module.exports.GripMessageBody = GripMessageBody;
--- a/devtools/client/webconsole/new-console-output/components/message-types/console-api-call.js
+++ b/devtools/client/webconsole/new-console-output/components/message-types/console-api-call.js
@@ -7,65 +7,55 @@
 "use strict";
 
 // React & Redux
 const {
   createFactory,
   DOM: dom,
   PropTypes
 } = require("devtools/client/shared/vendor/react");
+const GripMessageBody = createFactory(require("devtools/client/webconsole/new-console-output/components/grip-message-body").GripMessageBody);
 const MessageRepeat = createFactory(require("devtools/client/webconsole/new-console-output/components/message-repeat").MessageRepeat);
 const MessageIcon = createFactory(require("devtools/client/webconsole/new-console-output/components/message-icon").MessageIcon);
 
 ConsoleApiCall.displayName = "ConsoleApiCall";
 
 ConsoleApiCall.propTypes = {
   message: PropTypes.object.isRequired,
 };
 
 function ConsoleApiCall(props) {
   const { message } = props;
-  const messageBody =
-    dom.span({className: "message-body devtools-monospace"},
-      formatTextContent(message.data));
+
+  const counter = message.data.counter;
+  const messageBody = counter ?
+    `${counter.label}: ${counter.count}` :
+    message.data.arguments.map((arg) => GripMessageBody({grip: arg}));
+
   const icon = MessageIcon({severity: message.severity});
   const repeat = MessageRepeat({repeat: message.repeat});
-  const children = [
-    messageBody,
-    repeat
-  ];
 
   // @TODO Use of "is" is a temporary hack to get the category and severity
   // attributes to be applied. There are targeted in webconsole's CSS rules,
   // so if we remove this hack, we have to modify the CSS rules accordingly.
   return dom.div({
     class: "message cm-s-mozilla",
     is: "fdt-message",
     category: message.category,
     severity: message.severity
   },
+    // @TODO add timestamp
+    // @TODO add indent if necessary
     icon,
     dom.span({className: "message-body-wrapper"},
       dom.span({},
         dom.span({className: "message-flex-body"},
-          children
+          dom.span({className: "message-body devtools-monospace"},
+            messageBody
+          ),
+          repeat
         )
       )
     )
   );
 }
 
-function formatTextContent(data) {
-  return data.arguments.map(function (arg, i, arr) {
-    if (data.counter) {
-      let {label, count} = data.counter;
-      arg = `${label}: ${count}`;
-    }
-
-    const str = dom.span({className: "console-string"}, arg);
-    if (i < arr.length - 1) {
-      return [str, " "];
-    }
-    return str;
-  });
-}
-
 module.exports.ConsoleApiCall = ConsoleApiCall;
deleted file mode 100644
--- a/devtools/client/webconsole/new-console-output/components/message-types/date-preview.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-"use strict";
-
-// React & Redux
-const {
-  createFactory,
-  DOM: dom,
-  PropTypes
-} = require("devtools/client/shared/vendor/react");
-
-const VariablesViewLink = createFactory(require("devtools/client/webconsole/new-console-output/components/variables-view-link").VariablesViewLink);
-const MessageIcon = createFactory(require("devtools/client/webconsole/new-console-output/components/message-icon").MessageIcon);
-
-DatePreview.displayName = "DatePreview";
-
-DatePreview.propTypes = {
-  data: PropTypes.object.isRequired,
-};
-
-function DatePreview(props) {
-  const { data, category, severity } = props;
-  const { preview } = data;
-
-  const dateString = new Date(preview.timestamp).toISOString();
-  const textNodes = [
-    VariablesViewLink({
-      objectActor: data,
-      label: "Date"
-    }),
-    dom.span({ className: "cm-string-2" }, ` ${dateString}`)
-  ];
-  const icon = MessageIcon({ severity });
-
-  // @TODO Use of "is" is a temporary hack to get the category and severity
-  // attributes to be applied. There are targeted in webconsole's CSS rules,
-  // so if we remove this hack, we have to modify the CSS rules accordingly.
-  return dom.div({
-    class: "message cm-s-mozilla",
-    is: "fdt-message",
-    category: category,
-    severity: severity
-  },
-    icon,
-    dom.span({
-      className: "message-body-wrapper message-body devtools-monospace"
-    }, dom.span({},
-        dom.span({ className: "class-Date" },
-          textNodes
-        )
-      )
-    )
-  );
-}
-
-module.exports.DatePreview = DatePreview;
--- a/devtools/client/webconsole/new-console-output/components/message-types/evaluation-result.js
+++ b/devtools/client/webconsole/new-console-output/components/message-types/evaluation-result.js
@@ -4,39 +4,46 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
 
 // React & Redux
 const {
   createFactory,
+  DOM: dom,
   PropTypes
 } = require("devtools/client/shared/vendor/react");
+const GripMessageBody = createFactory(require("devtools/client/webconsole/new-console-output/components/grip-message-body").GripMessageBody);
+const MessageIcon = createFactory(require("devtools/client/webconsole/new-console-output/components/message-icon").MessageIcon);
 
 EvaluationResult.displayName = "EvaluationResult";
 
 EvaluationResult.propTypes = {
   message: PropTypes.object.isRequired,
 };
 
 function EvaluationResult(props) {
   const { message } = props;
-  let PreviewComponent = getPreviewComponent(message.data);
+  const icon = MessageIcon({severity: message.severity});
 
-  return PreviewComponent({
-    data: message.data,
+  // @TODO Use of "is" is a temporary hack to get the category and severity
+  // attributes to be applied. There are targeted in webconsole's CSS rules,
+  // so if we remove this hack, we have to modify the CSS rules accordingly.
+  return dom.div({
+    class: "message cm-s-mozilla",
+    is: "fdt-message",
     category: message.category,
     severity: message.severity
-  });
-}
-
-function getPreviewComponent(data) {
-  if (typeof data.class != "undefined") {
-    switch (data.class) {
-      case "Date":
-        return createFactory(require("devtools/client/webconsole/new-console-output/components/message-types/date-preview").DatePreview);
-    }
-  }
-  return createFactory(require("devtools/client/webconsole/new-console-output/components/message-types/default-renderer").DefaultRenderer);
+  },
+    // @TODO add timestamp
+    // @TODO add indent if needed with console.group
+    icon,
+    dom.span(
+      {className: "message-body-wrapper message-body devtools-monospace"},
+      dom.span({},
+        GripMessageBody({grip: message.data})
+      )
+    )
+  );
 }
 
 module.exports.EvaluationResult = EvaluationResult;
--- a/devtools/client/webconsole/new-console-output/components/message-types/moz.build
+++ b/devtools/client/webconsole/new-console-output/components/message-types/moz.build
@@ -1,12 +1,11 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # 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/.
 
 DevToolsModules(
     'console-api-call.js',
-    'date-preview.js',
     'default-renderer.js',
     'evaluation-result.js',
     'page-error.js',
 )
--- a/devtools/client/webconsole/new-console-output/components/moz.build
+++ b/devtools/client/webconsole/new-console-output/components/moz.build
@@ -4,13 +4,14 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += [
     'message-types'
 ]
 
 DevToolsModules(
     'console-output.js',
+    'grip-message-body.js',
     'message-container.js',
     'message-icon.js',
     'message-repeat.js',
     'variables-view-link.js'
 )
--- a/devtools/client/webconsole/new-console-output/test/components/chrome.ini
+++ b/devtools/client/webconsole/new-console-output/test/components/chrome.ini
@@ -1,13 +1,12 @@
 [DEFAULT]
 
 support-files =
   head.js
 
 [test_console-api-call.html]
 [test_console-api-call_repeat.html]
-[test_date-preview.html]
 [test_evaluation-result.html]
 [test_message-icon.html]
 [test_message-container.html]
 [test_message-repeat.html]
 [test_page-error.html]
--- a/devtools/client/webconsole/new-console-output/test/components/head.js
+++ b/devtools/client/webconsole/new-console-output/test/components/head.js
@@ -27,22 +27,24 @@ var { require: browserRequire } = Browse
 let ReactDOM = browserRequire("devtools/client/shared/vendor/react-dom");
 let React = browserRequire("devtools/client/shared/vendor/react");
 var TestUtils = React.addons.TestUtils;
 
 let testCommands = new Map();
 testCommands.set("console.log()", {
   command: "console.log('foobar', 'test')",
   commandType: "consoleAPICall",
-  expectedText: "foobar test"
+  // @TODO should output: foobar test
+  expectedText: "\"foobar\"\"test\""
 });
 testCommands.set("new Date()", {
   command: "new Date(448156800000)",
   commandType: "evaluationResult",
-  expectedText: "Date 1984-03-15T00:00:00.000Z"
+  // @TODO should output: Date 1984-03-15T00:00:00.000Z
+  expectedText: "1984-03-15T00:00:00.000Z"
 });
 testCommands.set("pageError", {
   command: null,
   commandType: "pageError",
   expectedText: "ReferenceError: asdf is not defined"
 });
 
 function* getPacket(command, type = "evaluationResult") {
--- a/devtools/client/webconsole/new-console-output/test/components/test_console-api-call.html
+++ b/devtools/client/webconsole/new-console-output/test/components/test_console-api-call.html
@@ -7,55 +7,52 @@
   <script type="application/javascript;version=1.8" src="head.js"></script>
   <!-- Any copyright is dedicated to the Public Domain.
      - http://creativecommons.org/publicdomain/zero/1.0/ -->
 </head>
 <body>
 <p>Test for ConsoleApiCall component</p>
 
 <script type="text/javascript;version=1.8">
+const { prepareMessage } = require("devtools/client/webconsole/new-console-output/utils/messages");
+const { ConsoleApiCall } = require("devtools/client/webconsole/new-console-output/components/message-types/console-api-call");
+
 window.onload = Task.async(function* () {
-  const { prepareMessage } = require("devtools/client/webconsole/new-console-output/utils/messages");
-  const { ConsoleApiCall } = require("devtools/client/webconsole/new-console-output/components/message-types/console-api-call");
+  yield testConsoleLog();
+  yield testConsoleCount();
 
+  SimpleTest.finish()
+});
+
+function testConsoleLog() {
   const packet = yield getPacket("console.log('foobar', 'test')", "consoleAPICall");
   const message = prepareMessage(packet);
   const rendered = renderComponent(ConsoleApiCall, {message});
 
   const messageBody = getMessageBody(rendered);
-  const consoleStringNodes = getConsoleStringNodes(messageBody);
+  // @TODO should output: foobar test
+  is(messageBody.textContent, "\"foobar\"\"test\"", "ConsoleApiCall outputs expected text");
+
+  const consoleStringNodes = messageBody.querySelectorAll(".objectBox");
   is(consoleStringNodes.length, 2, "ConsoleApiCall outputs expected HTML structure");
-  is(messageBody.textContent, "foobar test", "ConsoleApiCall outputs expected text");
+}
 
+function testConsoleCount() {
   for (let i = 0; i < 3; i++) {
-    const countPacket = yield getPacket("console.count('bar')", "consoleAPICall");
-    const countMessage = prepareMessage(countPacket);
-    const countRendered = renderComponent(ConsoleApiCall, {message: countMessage});
-    testConsoleCountRenderedElement(countRendered, `bar: ${i + 1}`);
+    const packet = yield getPacket("console.count('bar')", "consoleAPICall");
+    const message = prepareMessage(packet);
+    const rendered = renderComponent(ConsoleApiCall, {message: message});
+    const messageBody = getMessageBody(rendered);
+
+    const expected = `bar: ${i + 1}`;
+    is(messageBody.textContent, expected,
+      "console.count has the expected text content: ${expected}");
   }
-
-  SimpleTest.finish()
-});
+}
 
 function getMessageBody(renderedComponent) {
-  const queryPath = "div.message.cm-s-mozilla span span.message-flex-body " +
-    "span.message-body.devtools-monospace";
+  const queryPath = "div.message.cm-s-mozilla span span.message-flex-body span.message-body.devtools-monospace";
   return renderedComponent.querySelector(queryPath);
 }
 
-function getConsoleStringNodes(messageBody) {
-  return messageBody.querySelectorAll("span.console-string");
-}
-
-function testConsoleCountRenderedElement(renderedComponent, expectedTextContent) {
-  info("Testing console.count rendered element");
-
-  const messageBody = getMessageBody(renderedComponent);
-  const consoleStringNodes = getConsoleStringNodes(messageBody);
-
-  is(consoleStringNodes.length, 1,
-    "console.count rendered element has the expected HTML structure");
-  is(messageBody.textContent, expectedTextContent,
-    "console.count rendered element has the expected text content");
-}
 </script>
 </body>
 </html>
--- a/devtools/client/webconsole/new-console-output/test/components/test_console-api-call_repeat.html
+++ b/devtools/client/webconsole/new-console-output/test/components/test_console-api-call_repeat.html
@@ -18,17 +18,18 @@ window.onload = Task.async(function* () 
 
   const packet = yield getPacket("console.log('foobar', 'test')", "consoleAPICall");
   const message = prepareMessage(packet);
   message.repeat = 107;
   const rendered = renderComponent(ConsoleApiCall, {message});
 
   const messageBodyPath = "span > span.message-flex-body > span.message-body.devtools-monospace";
   const messageBody = rendered.querySelectorAll(messageBodyPath);
-  is(messageBody[0].textContent, "foobar test", "ConsoleApiCall outputs expected text for repeated message");
+  // @TODO Expected output should be: foobar test
+  is(messageBody[0].textContent, "\"foobar\"\"test\"", "ConsoleApiCall outputs expected text for repeated message");
 
   const repeatPath = "span > span.message-flex-body > span.message-body.devtools-monospace + span.message-repeats";
   const repeat = rendered.querySelectorAll(repeatPath);
   is(repeat[0].textContent, `${message.repeat}`, "ConsoleApiCall outputs correct repeat count");
 
   SimpleTest.finish()
 });
 </script>
deleted file mode 100644
--- a/devtools/client/webconsole/new-console-output/test/components/test_date-preview.html
+++ /dev/null
@@ -1,41 +0,0 @@
-<!DOCTYPE HTML>
-<html lang="en">
-<head>
-  <meta charset="utf8">
-  <title>Test for DatePreview component</title>
-  <script type="text/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
-  <script type="application/javascript;version=1.8" src="head.js"></script>
-  <!-- Any copyright is dedicated to the Public Domain.
-     - http://creativecommons.org/publicdomain/zero/1.0/ -->
-</head>
-<body>
-<p>Test for DatePreview component</p>
-
-<script type="text/javascript;version=1.8">
-window.onload = Task.async(function* () {
-  const { prepareMessage } = require("devtools/client/webconsole/new-console-output/utils/messages");
-  const { DatePreview } = require("devtools/client/webconsole/new-console-output/components/message-types/date-preview");
-
-  const testCommand = testCommands.get("new Date()");
-  const packet = yield getPacket(testCommand.command, testCommand.commandType);
-  const message = prepareMessage(packet);
-  const props = {
-    data: message.data,
-    severity: message.severity,
-    category: message.category,
-  };
-  const rendered = renderComponent(DatePreview, props);
-
-  const queryPathBase = "div.message.cm-s-mozilla span.message-body-wrapper.message-body.devtools-monospace span span.class-Date";
-
-  const preview = rendered.querySelectorAll(queryPathBase);
-  is(preview[0].textContent, testCommand.expectedText, "DatePreview outputs expected text");
-
-  const link = rendered.querySelectorAll(`${queryPathBase} a[draggable=false][href="#"].cm-variable`);
-  is(link.length, 1, "DatePreview outputs the variables view link");
-
-  SimpleTest.finish()
-});
-</script>
-</body>
-</html>
--- a/devtools/client/webconsole/new-console-output/test/components/test_evaluation-result.html
+++ b/devtools/client/webconsole/new-console-output/test/components/test_evaluation-result.html
@@ -10,61 +10,37 @@
 </head>
 <body>
 <p>Test for EvaluationResult component</p>
 
 <script type="text/javascript;version=1.8">
 window.onload = Task.async(function* () {
   const { prepareMessage } = require("devtools/client/webconsole/new-console-output/utils/messages");
   const {
-    EvaluationResult,
-    getPreviewComponent
+    EvaluationResult
   } = require("devtools/client/webconsole/new-console-output/components/message-types/evaluation-result");
 
-  yield testFullRender();
-  yield testGetPreviewComponent();
+  yield testDate();
 
   SimpleTest.finish()
 
   /**
-   * Test that passing in a message correctly wires up all the children.
-   *
-   * The different combinations of children are tested in separate per-component
-   * tests. This test just ensures that this component pipes data to its children.
+   * Test that evaluation result correctly outputs date results.
    */
-  function testFullRender() {
-    const testValue = testCommands.get("new Date()");
-    const packet = yield getPacket(testValue.command, testValue.commandType);
+  function testDate() {
+    const testCommand = testCommands.get("new Date()");
+    const packet = yield getPacket(testCommand.command, testCommand.commandType);
     const message = prepareMessage(packet);
     const props = {
       message
     };
     const rendered = renderComponent(EvaluationResult, props);
 
-    ok(rendered.textContent.includes(testValue.expectedText),
-      "EvaluationResult pipes data to its children as expected");
-}
+    const queryPathBase = "div.message.cm-s-mozilla span.message-body-wrapper.message-body.devtools-monospace span .objectLink";
 
-  /**
-   * Test that getPreviewComponent() returns correct component for each object type.
-   */
-  function testGetPreviewComponent() {
-    const testValues = [
-      {
-        commandObj: testCommands.get("new Date()"),
-        expectedComponent: require("devtools/client/webconsole/new-console-output/components/message-types/date-preview").DatePreview
-      }
-    ];
-
-    for (let testValue of testValues) {
-      const { commandObj, expectedComponent } = testValue;
-      const packet = yield getPacket(commandObj.command, commandObj.commandType);
-      const message = prepareMessage(packet);
-      const rendered = shallowRenderComponent(EvaluationResult, {message});
-      is(rendered.type, expectedComponent,
-        `EvaluationResult nests ${expectedComponent} based on command: ${commandObj.command}`);
-    }
+    const preview = rendered.querySelectorAll(queryPathBase);
+    is(preview[0].textContent, testCommand.expectedText, "EvaluationResult outputs expected text");
   }
 });
 
 </script>
 </body>
 </html>
--- a/devtools/client/webconsole/new-console-output/utils/messages.js
+++ b/devtools/client/webconsole/new-console-output/utils/messages.js
@@ -78,17 +78,21 @@ function prepareMessage(packet) {
       if (data.warning || data.strict) {
         severity = SEVERITY_CLASS_FRAGMENTS[SEVERITY_WARNING];
       } else if (data.info) {
         severity = SEVERITY_CLASS_FRAGMENTS[SEVERITY_LOG];
       }
       break;
     case "evaluationResult":
     default:
-      data = Object.assign({}, packet.result);
+      if (typeof packet.result === "object") {
+        data = Object.assign({}, packet.result);
+      } else {
+        data = packet.result;
+      }
       allowRepeating = true;
       category = CATEGORY_CLASS_FRAGMENTS[CATEGORY_OUTPUT];
       messageType = "EvaluationResult";
       repeat = 1;
       repeatId = getRepeatId(data);
       severity = SEVERITY_CLASS_FRAGMENTS[SEVERITY_LOG];
       break;
   }
--- a/devtools/server/actors/webconsole.js
+++ b/devtools/server/actors/webconsole.js
@@ -215,18 +215,17 @@ WebConsoleActor.prototype =
    * @private
    * @param nsIDOMWindow window
    *        The window to store on the actor (can be null).
    */
   _handleNewWindow: function WCA__handleNewWindow(window)
   {
     if (window) {
       if (this._hadChromeWindow) {
-        let contextChangedMsg = WebConsoleActor.l10n.getStr("evaluationContextChanged");
-        Services.console.logStringMessage(contextChangedMsg);
+        Services.console.logStringMessage('Webconsole context has changed');
       }
       this._lastChromeWindow = Cu.getWeakReference(window);
       this._hadChromeWindow = true;
     } else {
       this._lastChromeWindow = null;
     }
   },
 
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -1025,16 +1025,17 @@ void HTMLMediaElement::NoSupportedMediaS
   NS_ASSERTION(mNetworkState == NETWORK_LOADING,
                "Not loading during source selection?");
 
   mError = new MediaError(this, nsIDOMMediaError::MEDIA_ERR_SRC_NOT_SUPPORTED);
   ChangeNetworkState(nsIDOMHTMLMediaElement::NETWORK_NO_SOURCE);
   DispatchAsyncEvent(NS_LITERAL_STRING("error"));
   ChangeDelayLoadStatus(false);
   UpdateAudioChannelPlayingState();
+  OpenUnsupportedMediaWithExtenalAppIfNeeded();
 }
 
 typedef void (HTMLMediaElement::*SyncSectionFn)();
 
 // Runs a "synchronous section", a function that must run once the event loop
 // has reached a "stable state". See:
 // http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#synchronous-section
 class nsSyncSection : public nsMediaEvent
@@ -2672,16 +2673,20 @@ HTMLMediaElement::PlayInternal(bool aCal
 
   // We changed mPaused and mAutoplaying which can affect AddRemoveSelfReference
   // and our preload status.
   AddRemoveSelfReference();
   UpdatePreloadAction();
   UpdateSrcMediaStreamPlaying();
   UpdateAudioChannelPlayingState();
 
+  // The check here is to handle the case that the media element starts playing
+  // after it loaded fail. eg. preload the data before playing.
+  OpenUnsupportedMediaWithExtenalAppIfNeeded();
+
   return NS_OK;
 }
 
 NS_IMETHODIMP HTMLMediaElement::Play()
 {
   return PlayInternal(/* aCallerIsChrome = */ true);
 }
 
@@ -3166,54 +3171,52 @@ nsresult HTMLMediaElement::InitializeDec
 }
 
 nsresult HTMLMediaElement::InitializeDecoderForChannel(nsIChannel* aChannel,
                                                        nsIStreamListener** aListener)
 {
   NS_ASSERTION(mLoadingSrc, "mLoadingSrc must already be set");
   NS_ASSERTION(mDecoder == nullptr, "Shouldn't have a decoder");
 
-  nsAutoCString mimeType;
-
-  aChannel->GetContentType(mimeType);
-  NS_ASSERTION(!mimeType.IsEmpty(), "We should have the Content-Type.");
+  aChannel->GetContentType(mMimeType);
+  NS_ASSERTION(!mMimeType.IsEmpty(), "We should have the Content-Type.");
 
   DecoderDoctorDiagnostics diagnostics;
   RefPtr<MediaDecoder> decoder =
-    DecoderTraits::CreateDecoder(mimeType, this, &diagnostics);
+    DecoderTraits::CreateDecoder(mMimeType, this, &diagnostics);
   diagnostics.StoreFormatDiagnostics(OwnerDoc(),
-                                     NS_ConvertASCIItoUTF16(mimeType),
+                                     NS_ConvertASCIItoUTF16(mMimeType),
                                      decoder != nullptr,
                                      __func__);
   if (!decoder) {
     nsAutoString src;
     GetCurrentSrc(src);
-    NS_ConvertUTF8toUTF16 mimeUTF16(mimeType);
+    NS_ConvertUTF8toUTF16 mimeUTF16(mMimeType);
     const char16_t* params[] = { mimeUTF16.get(), src.get() };
     ReportLoadError("MediaLoadUnsupportedMimeType", params, ArrayLength(params));
     return NS_ERROR_FAILURE;
   }
 
-  LOG(LogLevel::Debug, ("%p Created decoder %p for type %s", this, decoder.get(), mimeType.get()));
+  LOG(LogLevel::Debug, ("%p Created decoder %p for type %s", this, decoder.get(), mMimeType.get()));
 
   RefPtr<MediaResource> resource =
     MediaResource::Create(decoder->GetResourceCallback(), aChannel);
 
   if (!resource)
     return NS_ERROR_OUT_OF_MEMORY;
 
   if (mChannelLoader) {
     mChannelLoader->Done();
     mChannelLoader = nullptr;
   }
 
   // We postpone the |FinishDecoderSetup| function call until we get
   // |OnConnected| signal from MediaStreamController which is held by
   // RtspMediaResource.
-  if (DecoderTraits::DecoderWaitsForOnConnected(mimeType)) {
+  if (DecoderTraits::DecoderWaitsForOnConnected(mMimeType)) {
     decoder->SetResource(resource);
     SetDecoder(decoder);
     if (aListener) {
       *aListener = nullptr;
     }
     return NS_OK;
   } else {
     return FinishDecoderSetup(decoder, resource, aListener);
@@ -5887,16 +5890,53 @@ HTMLMediaElement::IsAudible() const
   // Silent audio track.
   if (!mIsAudioTrackAudible) {
     return false;
   }
 
   return true;
 }
 
+bool
+HTMLMediaElement::HaveFailedWithSourceNotSupportedError() const
+{
+  if (!mError) {
+    return false;
+  }
+
+  uint16_t errorCode;
+  mError->GetCode(&errorCode);
+  return (mNetworkState == nsIDOMHTMLMediaElement::NETWORK_NO_SOURCE &&
+          errorCode == nsIDOMMediaError::MEDIA_ERR_SRC_NOT_SUPPORTED);
+}
+
+void
+HTMLMediaElement::OpenUnsupportedMediaWithExtenalAppIfNeeded()
+{
+  if (!Preferences::GetBool("media.openUnsupportedTypeWithExternalApp")) {
+    return;
+  }
+
+  if (!HaveFailedWithSourceNotSupportedError()) {
+    return;
+  }
+
+  // If media doesn't start playing, we don't need to open it.
+  if (mPaused) {
+    return;
+  }
+
+  LOG(LogLevel::Debug, ("Open unsupported type \'%s\' with external apps.",
+      mMimeType.get()));
+  nsContentUtils::DispatchTrustedEvent(OwnerDoc(), static_cast<nsIContent*>(this),
+                                       NS_LITERAL_STRING("OpenMediaWithExtenalApp"),
+                                       true,
+                                       true);
+}
+
 static const char* VisibilityString(Visibility aVisibility) {
   switch(aVisibility) {
     case Visibility::UNTRACKED: {
       return "UNTRACKED";
     }
     case Visibility::NONVISIBLE: {
       return "NONVISIBLE";
     }
--- a/dom/html/HTMLMediaElement.h
+++ b/dom/html/HTMLMediaElement.h
@@ -1188,16 +1188,19 @@ protected:
   void ResumeFromAudioChannelBlocked();
 
   bool IsSuspendedByAudioChannel() const;
   void SetAudioChannelSuspended(SuspendTypes aSuspend);
 
   bool IsAllowedToPlay();
 
   bool IsAudible() const;
+  bool HaveFailedWithSourceNotSupportedError() const;
+
+  void OpenUnsupportedMediaWithExtenalAppIfNeeded();
 
   class nsAsyncEventRunner;
   using nsGenericHTMLElement::DispatchEvent;
   // For nsAsyncEventRunner.
   nsresult DispatchEvent(const nsAString& aName);
 
   // The current decoder. Load() has been called on this decoder.
   // At most one of mDecoder and mSrcStream can be non-null.
@@ -1625,14 +1628,16 @@ private:
   // be seeked even before the media is loaded.
   double mDefaultPlaybackStartPosition;
 
   // True if the audio track is not silent.
   bool mIsAudioTrackAudible;
 
   // True if media element is audible for users.
   bool mAudible;
+
+  nsAutoCString mMimeType;
 };
 
 } // namespace dom
 } // namespace mozilla
 
 #endif // mozilla_dom_HTMLMediaElement_h
--- a/dom/media/AccurateSeekTask.cpp
+++ b/dom/media/AccurateSeekTask.cpp
@@ -35,79 +35,55 @@ extern LazyLogModule gMediaSampleLog;
 #define DECODER_WARN(x, ...) \
   DECODER_WARN_HELPER(0, (nsPrintfCString("Decoder=%p " x, mDecoderID, ##__VA_ARGS__).get()))
 
 AccurateSeekTask::AccurateSeekTask(const void* aDecoderID,
                                    AbstractThread* aThread,
                                    MediaDecoderReaderWrapper* aReader,
                                    SeekJob&& aSeekJob,
                                    const MediaInfo& aInfo,
-                                   const media::TimeUnit& aDuration,
+                                   const media::TimeUnit& aEnd,
                                    int64_t aCurrentMediaTime)
   : SeekTask(aDecoderID, aThread, aReader, Move(aSeekJob))
-  , mCurrentTimeBeforeSeek(aCurrentMediaTime)
+  , mCurrentTimeBeforeSeek(media::TimeUnit::FromMicroseconds(aCurrentMediaTime))
   , mAudioRate(aInfo.mAudio.mRate)
-  , mHasAudio(aInfo.HasAudio())
-  , mHasVideo(aInfo.HasVideo())
-  , mDropAudioUntilNextDiscontinuity(false)
-  , mDropVideoUntilNextDiscontinuity(false)
+  , mDoneAudioSeeking(!aInfo.HasAudio() || aSeekJob.mTarget.IsVideoOnly())
+  , mDoneVideoSeeking(!aInfo.HasVideo())
 {
   AssertOwnerThread();
 
   // Bound the seek time to be inside the media range.
-  int64_t end = aDuration.ToMicroseconds();
-  NS_ASSERTION(end != -1, "Should know end time by now");
-  int64_t seekTime = mSeekJob.mTarget.GetTime().ToMicroseconds();
-  seekTime = std::min(seekTime, end);
-  seekTime = std::max(int64_t(0), seekTime);
-  NS_ASSERTION(seekTime >= 0 && seekTime <= end,
-               "Can only seek in range [0,duration]");
-  mSeekJob.mTarget.SetTime(media::TimeUnit::FromMicroseconds(seekTime));
-
-  mDropAudioUntilNextDiscontinuity = HasAudio();
-  mDropVideoUntilNextDiscontinuity = HasVideo();
+  NS_ASSERTION(aEnd.ToMicroseconds() != -1, "Should know end time by now");
+  mSeekJob.mTarget.SetTime(
+    std::max(media::TimeUnit(), std::min(mSeekJob.mTarget.GetTime(), aEnd)));
 
   // Configure MediaDecoderReaderWrapper.
-  SetMediaDecoderReaderWrapperCallback();
+  SetCallbacks();
 }
 
 AccurateSeekTask::~AccurateSeekTask()
 {
   AssertOwnerThread();
   MOZ_ASSERT(mIsDiscarded);
 }
 
-bool
-AccurateSeekTask::HasAudio() const
-{
-  AssertOwnerThread();
-  return mHasAudio;
-}
-
-bool
-AccurateSeekTask::HasVideo() const
-{
-  AssertOwnerThread();
-  return mHasVideo;
-}
-
 void
 AccurateSeekTask::Discard()
 {
   AssertOwnerThread();
 
   // Disconnect MediaDecoder.
   mSeekJob.RejectIfExists(__func__);
 
   // Disconnect MDSM.
   RejectIfExist(__func__);
 
   // Disconnect MediaDecoderReaderWrapper.
   mSeekRequest.DisconnectIfExists();
-  CancelMediaDecoderReaderWrapperCallback();
+  CancelCallbacks();
 
   mIsDiscarded = true;
 }
 
 bool
 AccurateSeekTask::NeedToResetMDSM() const
 {
   AssertOwnerThread();
@@ -122,112 +98,33 @@ AccurateSeekTask::Seek(const media::Time
   // Do the seek.
   mSeekRequest.Begin(mReader->Seek(mSeekJob.mTarget, aDuration)
     ->Then(OwnerThread(), __func__, this,
            &AccurateSeekTask::OnSeekResolved, &AccurateSeekTask::OnSeekRejected));
 
   return mSeekTaskPromise.Ensure(__func__);
 }
 
-bool
-AccurateSeekTask::IsVideoDecoding() const
-{
-  AssertOwnerThread();
-  return HasVideo() && !mIsVideoQueueFinished;
-}
-
-bool
-AccurateSeekTask::IsAudioDecoding() const
-{
-  AssertOwnerThread();
-  return HasAudio() && !mIsAudioQueueFinished;
-}
-
-nsresult
-AccurateSeekTask::EnsureAudioDecodeTaskQueued()
-{
-  AssertOwnerThread();
-  SAMPLE_LOG("EnsureAudioDecodeTaskQueued isDecoding=%d status=%s",
-              IsAudioDecoding(), AudioRequestStatus());
-
-  if (!IsAudioDecoding() ||
-      mReader->IsRequestingAudioData() ||
-      mReader->IsWaitingAudioData() ||
-      mSeekRequest.Exists()) {
-    return NS_OK;
-  }
-
-  RequestAudioData();
-  return NS_OK;
-}
-
-nsresult
-AccurateSeekTask::EnsureVideoDecodeTaskQueued()
-{
-  AssertOwnerThread();
-  SAMPLE_LOG("EnsureVideoDecodeTaskQueued isDecoding=%d status=%s",
-             IsVideoDecoding(), VideoRequestStatus());
-
-  if (!IsVideoDecoding() ||
-      mReader->IsRequestingVideoData() ||
-      mReader->IsWaitingVideoData() ||
-      mSeekRequest.Exists()) {
-    return NS_OK;
-  }
-
-  RequestVideoData();
-  return NS_OK;
-}
-
-const char*
-AccurateSeekTask::AudioRequestStatus()
-{
-  AssertOwnerThread();
-
-  if (mReader->IsRequestingAudioData()) {
-    MOZ_DIAGNOSTIC_ASSERT(!mReader->IsWaitingAudioData());
-    return "pending";
-  } else if (mReader->IsWaitingAudioData()) {
-    return "waiting";
-  }
-  return "idle";
-}
-
-const char*
-AccurateSeekTask::VideoRequestStatus()
-{
-  AssertOwnerThread();
-
-  if (mReader->IsRequestingVideoData()) {
-    MOZ_DIAGNOSTIC_ASSERT(!mReader->IsWaitingVideoData());
-    return "pending";
-  } else if (mReader->IsWaitingVideoData()) {
-    return "waiting";
-  }
-  return "idle";
-}
-
 void
 AccurateSeekTask::RequestAudioData()
 {
   AssertOwnerThread();
-  SAMPLE_LOG("Queueing audio task - queued=%i, decoder-queued=%o",
-             !!mSeekedAudioData, mReader->SizeOfAudioQueueInFrames());
-
+  MOZ_ASSERT(!mDoneAudioSeeking);
+  MOZ_ASSERT(!mReader->IsRequestingAudioData());
+  MOZ_ASSERT(!mReader->IsWaitingAudioData());
   mReader->RequestAudioData();
 }
 
 void
 AccurateSeekTask::RequestVideoData()
 {
   AssertOwnerThread();
-  SAMPLE_LOG("Queueing video task - queued=%i, decoder-queued=%o, skip=%i, time=%lld",
-               !!mSeekedVideoData, mReader->SizeOfVideoQueueInFrames(), false,
-               media::TimeUnit().ToMicroseconds());
-
+  MOZ_ASSERT(!mDoneVideoSeeking);
+  MOZ_ASSERT(!mReader->IsRequestingVideoData());
+  MOZ_ASSERT(!mReader->IsWaitingVideoData());
   mReader->RequestVideoData(false, media::TimeUnit());
 }
 
 nsresult
 AccurateSeekTask::DropAudioUpToSeekTarget(MediaData* aSample)
 {
   AssertOwnerThread();
 
@@ -250,16 +147,17 @@ AccurateSeekTask::DropAudioUpToSeekTarge
     // audio frames we've seen which were before the seek target. This
     // could have been the first audio data we've seen after seek, i.e. the
     // seek terminated after the seek target in the audio stream. Just
     // abort the audio decode-to-target, the state machine will play
     // silence to cover the gap. Typically this happens in poorly muxed
     // files.
     DECODER_WARN("Audio not synced after seek, maybe a poorly muxed file?");
     mSeekedAudioData = audio;
+    mDoneAudioSeeking = true;
     return NS_OK;
   }
 
   // The seek target lies somewhere in this AudioData's frames, strip off
   // any frames which lie before the seek target, so we'll begin playback
   // exactly at the seek target.
   NS_ASSERTION(mSeekJob.mTarget.GetTime().ToMicroseconds() >= audio->mTime,
                "Target must at or be after data start.");
@@ -295,16 +193,17 @@ AccurateSeekTask::DropAudioUpToSeekTarge
                                        mSeekJob.mTarget.GetTime().ToMicroseconds(),
                                        duration.value(),
                                        frames,
                                        Move(audioData),
                                        channels,
                                        audio->mRate));
   MOZ_ASSERT(!mSeekedAudioData, "Should be the 1st sample after seeking");
   mSeekedAudioData = data;
+  mDoneAudioSeeking = true;
 
   return NS_OK;
 }
 
 nsresult
 AccurateSeekTask::DropVideoUpToSeekTarget(MediaData* aSample)
 {
   AssertOwnerThread();
@@ -332,339 +231,241 @@ AccurateSeekTask::DropVideoUpToSeekTarge
     }
     mFirstVideoFrameAfterSeek = nullptr;
 
     DECODER_LOG("DropVideoUpToSeekTarget() found video frame [%lld, %lld] containing target=%lld",
                 video->mTime, video->GetEndTime(), target);
 
     MOZ_ASSERT(!mSeekedVideoData, "Should be the 1st sample after seeking");
     mSeekedVideoData = video;
+    mDoneVideoSeeking = true;
   }
 
   return NS_OK;
 }
 
-bool
-AccurateSeekTask::IsAudioSeekComplete()
-{
-  AssertOwnerThread();
-  SAMPLE_LOG("IsAudioSeekComplete() curTarVal=%d mAudDis=%d aqFin=%d aqSz=%d",
-      mSeekJob.Exists(), mDropAudioUntilNextDiscontinuity, mIsAudioQueueFinished, !!mSeekedAudioData);
-  return
-    !HasAudio() ||
-    mSeekJob.mTarget.IsVideoOnly() ||
-    (Exists() && !mDropAudioUntilNextDiscontinuity &&
-     (mIsAudioQueueFinished || mSeekedAudioData));
-}
-
-bool
-AccurateSeekTask::IsVideoSeekComplete()
+void
+AccurateSeekTask::MaybeFinishSeek()
 {
   AssertOwnerThread();
-  SAMPLE_LOG("IsVideoSeekComplete() curTarVal=%d mVidDis=%d vqFin=%d vqSz=%d",
-      mSeekJob.Exists(), mDropVideoUntilNextDiscontinuity, mIsVideoQueueFinished, !!mSeekedVideoData);
-
-  return
-    !HasVideo() ||
-    (Exists() && !mDropVideoUntilNextDiscontinuity &&
-     (mIsVideoQueueFinished || mSeekedVideoData));
-}
-
-void
-AccurateSeekTask::CheckIfSeekComplete()
-{
-  AssertOwnerThread();
-
-  const bool videoSeekComplete = IsVideoSeekComplete();
-  if (HasVideo() && !videoSeekComplete) {
-    // We haven't reached the target. Ensure we have requested another sample.
-    if (NS_FAILED(EnsureVideoDecodeTaskQueued())) {
-      DECODER_WARN("Failed to request video during seek");
-      RejectIfExist(__func__);
-    }
-  }
-
-  const bool audioSeekComplete = IsAudioSeekComplete();
-  if (HasAudio() && !audioSeekComplete) {
-    // We haven't reached the target. Ensure we have requested another sample.
-    if (NS_FAILED(EnsureAudioDecodeTaskQueued())) {
-      DECODER_WARN("Failed to request audio during seek");
-      RejectIfExist(__func__);
-    }
-  }
-
-  SAMPLE_LOG("CheckIfSeekComplete() audioSeekComplete=%d videoSeekComplete=%d",
-             audioSeekComplete, videoSeekComplete);
-
-  if (audioSeekComplete && videoSeekComplete) {
+  if (mDoneAudioSeeking && mDoneVideoSeeking) {
     Resolve(__func__); // Call to MDSM::SeekCompleted();
   }
 }
 
 void
 AccurateSeekTask::OnSeekResolved(media::TimeUnit)
 {
   AssertOwnerThread();
 
   mSeekRequest.Complete();
   // We must decode the first samples of active streams, so we can determine
   // the new stream time. So dispatch tasks to do that.
-  EnsureVideoDecodeTaskQueued();
-  if (!mSeekJob.mTarget.IsVideoOnly()) {
-    EnsureAudioDecodeTaskQueued();
+  if (!mDoneVideoSeeking) {
+    RequestVideoData();
+  }
+  if (!mDoneAudioSeeking) {
+    RequestAudioData();
   }
 }
 
 void
 AccurateSeekTask::OnSeekRejected(nsresult aResult)
 {
   AssertOwnerThread();
 
   mSeekRequest.Complete();
   MOZ_ASSERT(NS_FAILED(aResult), "Cancels should also disconnect mSeekRequest");
   RejectIfExist(__func__);
 }
 
 void
+AccurateSeekTask::AdjustFastSeekIfNeeded(MediaData* aSample)
+{
+  AssertOwnerThread();
+  if (mSeekJob.mTarget.IsFast() &&
+      mSeekJob.mTarget.GetTime() > mCurrentTimeBeforeSeek &&
+      aSample->mTime < mCurrentTimeBeforeSeek.ToMicroseconds()) {
+    // We are doing a fastSeek, but we ended up *before* the previous
+    // playback position. This is surprising UX, so switch to an accurate
+    // seek and decode to the seek target. This is not conformant to the
+    // spec, fastSeek should always be fast, but until we get the time to
+    // change all Readers to seek to the keyframe after the currentTime
+    // in this case, we'll just decode forward. Bug 1026330.
+    mSeekJob.mTarget.SetType(SeekTarget::Accurate);
+  }
+}
+
+void
 AccurateSeekTask::OnAudioDecoded(MediaData* aAudioSample)
 {
   AssertOwnerThread();
+  MOZ_ASSERT(!mSeekTaskPromise.IsEmpty(), "Seek shouldn't be finished");
 
   RefPtr<MediaData> audio(aAudioSample);
   MOZ_ASSERT(audio);
 
   // The MDSM::mDecodedAudioEndTime will be updated once the whole SeekTask is
   // resolved.
 
   SAMPLE_LOG("OnAudioDecoded [%lld,%lld] disc=%d",
-             (audio ? audio->mTime : -1),
-             (audio ? audio->GetEndTime() : -1),
-             (audio ? audio->mDiscontinuity : 0));
+    audio->mTime, audio->GetEndTime(), audio->mDiscontinuity);
+
+  if (mFirstAudioSample) {
+    mFirstAudioSample = false;
+    MOZ_ASSERT(audio->mDiscontinuity);
+  }
 
-  if (!Exists()) {
-    // We've received a sample from a previous decode. Discard it.
+  AdjustFastSeekIfNeeded(audio);
+
+  if (mSeekJob.mTarget.IsFast()) {
+    // Non-precise seek; we can stop the seek at the first sample.
+    mSeekedAudioData = audio;
+    mDoneAudioSeeking = true;
+  } else if (NS_FAILED(DropAudioUpToSeekTarget(audio))) {
+    RejectIfExist(__func__);
     return;
   }
 
-  if (audio->mDiscontinuity) {
-    mDropAudioUntilNextDiscontinuity = false;
+  if (!mDoneAudioSeeking) {
+    RequestAudioData();
+    return;
   }
-
-  if (!mDropAudioUntilNextDiscontinuity) {
-    // We must be after the discontinuity; we're receiving samples
-    // at or after the seek target.
-    if (mSeekJob.mTarget.IsFast() &&
-        mSeekJob.mTarget.GetTime().ToMicroseconds() > mCurrentTimeBeforeSeek &&
-        audio->mTime < mCurrentTimeBeforeSeek) {
-      // We are doing a fastSeek, but we ended up *before* the previous
-      // playback position. This is surprising UX, so switch to an accurate
-      // seek and decode to the seek target. This is not conformant to the
-      // spec, fastSeek should always be fast, but until we get the time to
-      // change all Readers to seek to the keyframe after the currentTime
-      // in this case, we'll just decode forward. Bug 1026330.
-      mSeekJob.mTarget.SetType(SeekTarget::Accurate);
-    }
-    if (mSeekJob.mTarget.IsFast()) {
-      // Non-precise seek; we can stop the seek at the first sample.
-      mSeekedAudioData = audio;
-    } else {
-      // We're doing an accurate seek. We must discard
-      // MediaData up to the one containing exact seek target.
-      if (NS_FAILED(DropAudioUpToSeekTarget(audio.get()))) {
-        RejectIfExist(__func__);
-        return;
-      }
-    }
-  }
-  CheckIfSeekComplete();
+  MaybeFinishSeek();
 }
 
 void
-AccurateSeekTask::OnAudioNotDecoded(MediaDecoderReader::NotDecodedReason aReason)
+AccurateSeekTask::OnNotDecoded(MediaData::Type aType,
+                               MediaDecoderReader::NotDecodedReason aReason)
 {
   AssertOwnerThread();
-  SAMPLE_LOG("OnAduioNotDecoded (aReason=%u)", aReason);
+  MOZ_ASSERT(!mSeekTaskPromise.IsEmpty(), "Seek shouldn't be finished");
+
+  SAMPLE_LOG("OnNotDecoded type=%d reason=%u", aType, aReason);
 
   if (aReason == MediaDecoderReader::DECODE_ERROR) {
     // If this is a decode error, delegate to the generic error path.
     RejectIfExist(__func__);
     return;
   }
 
   // If the decoder is waiting for data, we tell it to call us back when the
   // data arrives.
   if (aReason == MediaDecoderReader::WAITING_FOR_DATA) {
-    MOZ_ASSERT(mReader->IsWaitForDataSupported(),
-               "Readers that send WAITING_FOR_DATA need to implement WaitForData");
-    mReader->WaitForData(MediaData::AUDIO_DATA);
-
-    // We are out of data to decode and will enter buffering mode soon.
-    // We want to play the frames we have already decoded, so we stop pre-rolling
-    // and ensure that loadeddata is fired as required.
-    mNeedToStopPrerollingAudio = true;
+    mReader->WaitForData(aType);
     return;
   }
 
   if (aReason == MediaDecoderReader::CANCELED) {
-    EnsureAudioDecodeTaskQueued();
+    if (aType == MediaData::AUDIO_DATA) {
+      RequestAudioData();
+    } else {
+      RequestVideoData();
+    }
     return;
   }
 
   if (aReason == MediaDecoderReader::END_OF_STREAM) {
-    mIsAudioQueueFinished = true;
-    mDropAudioUntilNextDiscontinuity = false; // To make IsAudioSeekComplete() return TRUE.
-    CheckIfSeekComplete();
+    if (aType == MediaData::AUDIO_DATA) {
+      mIsAudioQueueFinished = true;
+      mDoneAudioSeeking = true;
+    } else {
+      mIsVideoQueueFinished = true;
+      mDoneVideoSeeking = true;
+      if (mFirstVideoFrameAfterSeek) {
+        // Hit the end of stream. Move mFirstVideoFrameAfterSeek into
+        // mSeekedVideoData so we have something to display after seeking.
+        mSeekedVideoData = mFirstVideoFrameAfterSeek.forget();
+      }
+    }
+    MaybeFinishSeek();
   }
 }
 
 void
 AccurateSeekTask::OnVideoDecoded(MediaData* aVideoSample)
 {
   AssertOwnerThread();
+  MOZ_ASSERT(!mSeekTaskPromise.IsEmpty(), "Seek shouldn't be finished");
 
   RefPtr<MediaData> video(aVideoSample);
   MOZ_ASSERT(video);
 
   // The MDSM::mDecodedVideoEndTime will be updated once the whole SeekTask is
   // resolved.
 
   SAMPLE_LOG("OnVideoDecoded [%lld,%lld] disc=%d",
-             (video ? video->mTime : -1),
-             (video ? video->GetEndTime() : -1),
-             (video ? video->mDiscontinuity : 0));
+    video->mTime, video->GetEndTime(), video->mDiscontinuity);
 
-  if (!Exists()) {
-    // We've received a sample from a previous decode. Discard it.
-    return;
-  }
-
-  if (mDropVideoUntilNextDiscontinuity) {
-    if (video->mDiscontinuity) {
-      mDropVideoUntilNextDiscontinuity = false;
-    }
+  if (mFirstVideoSample) {
+    mFirstVideoSample = false;
+    MOZ_ASSERT(video->mDiscontinuity);
   }
 
-  if (!mDropVideoUntilNextDiscontinuity) {
-    // We must be after the discontinuity; we're receiving samples
-    // at or after the seek target.
-    if (mSeekJob.mTarget.IsFast() &&
-        mSeekJob.mTarget.GetTime().ToMicroseconds() > mCurrentTimeBeforeSeek &&
-        video->mTime < mCurrentTimeBeforeSeek) {
-      // We are doing a fastSeek, but we ended up *before* the previous
-      // playback position. This is surprising UX, so switch to an accurate
-      // seek and decode to the seek target. This is not conformant to the
-      // spec, fastSeek should always be fast, but until we get the time to
-      // change all Readers to seek to the keyframe after the currentTime
-      // in this case, we'll just decode forward. Bug 1026330.
-      mSeekJob.mTarget.SetType(SeekTarget::Accurate);
-    }
-    if (mSeekJob.mTarget.IsFast()) {
-      // Non-precise seek. We can stop the seek at the first sample.
-      mSeekedVideoData = video;
-    } else {
-      // We're doing an accurate seek. We still need to discard
-      // MediaData up to the one containing exact seek target.
-      if (NS_FAILED(DropVideoUpToSeekTarget(video.get()))) {
-        RejectIfExist(__func__);
-        return;
-      }
-    }
-  }
-  CheckIfSeekComplete();
-}
+  AdjustFastSeekIfNeeded(video);
 
-void
-AccurateSeekTask::OnVideoNotDecoded(MediaDecoderReader::NotDecodedReason aReason)
-{
-  AssertOwnerThread();
-  SAMPLE_LOG("OnVideoNotDecoded (aReason=%u)", aReason);
-
-  if (aReason == MediaDecoderReader::DECODE_ERROR) {
-    // If this is a decode error, delegate to the generic error path.
+  if (mSeekJob.mTarget.IsFast()) {
+    // Non-precise seek. We can stop the seek at the first sample.
+    mSeekedVideoData = video;
+    mDoneVideoSeeking = true;
+  } else if (NS_FAILED(DropVideoUpToSeekTarget(video.get()))) {
     RejectIfExist(__func__);
     return;
   }
 
-  // If the decoder is waiting for data, we tell it to call us back when the
-  // data arrives.
-  if (aReason == MediaDecoderReader::WAITING_FOR_DATA) {
-    MOZ_ASSERT(mReader->IsWaitForDataSupported(),
-               "Readers that send WAITING_FOR_DATA need to implement WaitForData");
-    mReader->WaitForData(MediaData::VIDEO_DATA);
-
-    // We are out of data to decode and will enter buffering mode soon.
-    // We want to play the frames we have already decoded, so we stop pre-rolling
-    // and ensure that loadeddata is fired as required.
-    mNeedToStopPrerollingVideo = true;
+  if (!mDoneVideoSeeking) {
+    RequestVideoData();
     return;
   }
-
-  if (aReason == MediaDecoderReader::CANCELED) {
-    EnsureVideoDecodeTaskQueued();
-    return;
-  }
-
-  if (aReason == MediaDecoderReader::END_OF_STREAM) {
-
-    if (Exists() && mFirstVideoFrameAfterSeek) {
-      // Null sample. Hit end of stream. If we have decoded a frame,
-      // insert it into the queue so that we have something to display.
-      // We make sure to do this before invoking VideoQueue().Finish()
-      // below.
-      mSeekedVideoData = mFirstVideoFrameAfterSeek;
-      mFirstVideoFrameAfterSeek = nullptr;
-    }
-
-    mIsVideoQueueFinished = true;
-    mDropVideoUntilNextDiscontinuity = false; // To make IsVideoSeekComplete() return TRUE.
-    CheckIfSeekComplete();
-  }
+  MaybeFinishSeek();
 }
 
 void
-AccurateSeekTask::SetMediaDecoderReaderWrapperCallback()
+AccurateSeekTask::SetCallbacks()
 {
   AssertOwnerThread();
 
   mAudioCallback = mReader->AudioCallback().Connect(
     OwnerThread(), [this] (AudioCallbackData aData) {
     if (aData.is<MediaData*>()) {
       OnAudioDecoded(aData.as<MediaData*>());
     } else {
-      OnAudioNotDecoded(aData.as<MediaDecoderReader::NotDecodedReason>());
+      OnNotDecoded(MediaData::AUDIO_DATA,
+        aData.as<MediaDecoderReader::NotDecodedReason>());
     }
   });
 
   mVideoCallback = mReader->VideoCallback().Connect(
     OwnerThread(), [this] (VideoCallbackData aData) {
     typedef Tuple<MediaData*, TimeStamp> Type;
     if (aData.is<Type>()) {
       OnVideoDecoded(Get<0>(aData.as<Type>()));
     } else {
-      OnVideoNotDecoded(aData.as<MediaDecoderReader::NotDecodedReason>());
+      OnNotDecoded(MediaData::VIDEO_DATA,
+        aData.as<MediaDecoderReader::NotDecodedReason>());
     }
   });
 
   mAudioWaitCallback = mReader->AudioWaitCallback().Connect(
     OwnerThread(), [this] (WaitCallbackData aData) {
     if (aData.is<MediaData::Type>()) {
-      EnsureAudioDecodeTaskQueued();
+      RequestAudioData();
     }
   });
 
   mVideoWaitCallback = mReader->VideoWaitCallback().Connect(
     OwnerThread(), [this] (WaitCallbackData aData) {
     if (aData.is<MediaData::Type>()) {
-      EnsureVideoDecodeTaskQueued();
+      RequestVideoData();
     }
   });
 }
 
 void
-AccurateSeekTask::CancelMediaDecoderReaderWrapperCallback()
+AccurateSeekTask::CancelCallbacks()
 {
   AssertOwnerThread();
   mAudioCallback.Disconnect();
   mVideoCallback.Disconnect();
   mAudioWaitCallback.Disconnect();
   mVideoWaitCallback.Disconnect();
 }
 } // namespace mozilla
--- a/dom/media/AccurateSeekTask.h
+++ b/dom/media/AccurateSeekTask.h
@@ -16,83 +16,63 @@ namespace mozilla {
 
 class AccurateSeekTask final : public SeekTask {
 public:
   AccurateSeekTask(const void* aDecoderID,
                    AbstractThread* aThread,
                    MediaDecoderReaderWrapper* aReader,
                    SeekJob&& aSeekJob,
                    const MediaInfo& aInfo,
-                   const media::TimeUnit& aDuration,
+                   const media::TimeUnit& aEnd,
                    int64_t aCurrentMediaTime);
 
   void Discard() override;
 
   RefPtr<SeekTaskPromise> Seek(const media::TimeUnit& aDuration) override;
 
   bool NeedToResetMDSM() const override;
 
 private:
   ~AccurateSeekTask();
 
-  bool HasAudio() const;
-
-  bool HasVideo() const;
-
-  bool IsVideoDecoding() const;
-
-  bool IsAudioDecoding() const;
-
-  nsresult EnsureVideoDecodeTaskQueued();
-
-  nsresult EnsureAudioDecodeTaskQueued();
-
-  const char* AudioRequestStatus();
-
-  const char* VideoRequestStatus();
-
   void RequestVideoData();
 
   void RequestAudioData();
 
   nsresult DropAudioUpToSeekTarget(MediaData* aSample);
 
   nsresult DropVideoUpToSeekTarget(MediaData* aSample);
 
-  bool IsAudioSeekComplete();
-
-  bool IsVideoSeekComplete();
-
-  void CheckIfSeekComplete();
+  void MaybeFinishSeek();
 
   void OnSeekResolved(media::TimeUnit);
 
   void OnSeekRejected(nsresult aResult);
 
   void OnAudioDecoded(MediaData* aAudioSample);
 
-  void OnAudioNotDecoded(MediaDecoderReader::NotDecodedReason aReason);
-
   void OnVideoDecoded(MediaData* aVideoSample);
 
-  void OnVideoNotDecoded(MediaDecoderReader::NotDecodedReason aReason);
+  void OnNotDecoded(MediaData::Type, MediaDecoderReader::NotDecodedReason);
+
+  void SetCallbacks();
 
-  void SetMediaDecoderReaderWrapperCallback();
+  void CancelCallbacks();
 
-  void CancelMediaDecoderReaderWrapperCallback();
+  void AdjustFastSeekIfNeeded(MediaData* aSample);
 
   /*
    * Internal state.
    */
-  const int64_t mCurrentTimeBeforeSeek;
+  const media::TimeUnit mCurrentTimeBeforeSeek;
   const uint32_t mAudioRate;  // Audio sample rate.
-  const bool mHasAudio;
-  const bool mHasVideo;
-  bool mDropAudioUntilNextDiscontinuity;
-  bool mDropVideoUntilNextDiscontinuity;
+  bool mDoneAudioSeeking;
+  bool mDoneVideoSeeking;
+  bool mFirstAudioSample = true;
+  bool mFirstVideoSample = true;
 
   // This temporarily stores the first frame we decode after we seek.
   // This is so that if we hit end of stream while we're decoding to reach
   // the seek target, we will still have a frame that we can display as the
   // last frame in the media.
   RefPtr<MediaData> mFirstVideoFrameAfterSeek;
 
   /*
--- a/dom/media/webaudio/WaveShaperNode.cpp
+++ b/dom/media/webaudio/WaveShaperNode.cpp
@@ -257,17 +257,17 @@ public:
               static_cast<const float*>(aInput.mChannelData[i]),
                                         aInput.mVolume,
                                         alignedScaledInput);
           inputSamples = alignedScaledInput;
         } else {
           inputSamples = static_cast<const float*>(aInput.mChannelData[i]);
         }
       } else {
-        PodZero(alignedScaledInput);
+        PodZero(alignedScaledInput, WEBAUDIO_BLOCK_SIZE);
         inputSamples = alignedScaledInput;
       }
       float* outputBuffer = aOutput->ChannelFloatsForWrite(i);
       float* sampleBuffer;
 
       switch (mType) {
       case OverSampleType::None:
         mResampler.Reset(channelCount, aStream->SampleRate(), OverSampleType::None);
--- a/dom/media/webaudio/test/test_waveShaperGain.html
+++ b/dom/media/webaudio/test/test_waveShaperGain.html
@@ -50,18 +50,19 @@ context.startRendering().then(buffer => 
 
   oscillator.start(0);
   oscillator.connect(gain);
 
   // to silence
   gain.gain.value = 0;
   gain.connect(waveShaper);
 
-  // convert all signal into 1.0
-  waveShaper.curve = new Float32Array([ 1, 1 ]);
+  // convert all signal into 1.0. The non unity values are to detect the use
+  // of uninitialized buffers (see Bug 1283910).
+  waveShaper.curve = new Float32Array([ 0.5, 0.5, 0.5, 0.5, 0.5, 1, 1, 0.5, 0.5, 0.5, 0.5, 0.5 ]);
   waveShaper.connect(context.destination);
 
   context.startRendering().then((buffer) => {
     var result = buffer.getChannelData(0);
     ok(result.every(x => x === 1), "WaveShaper handles zero gain properly");
     SimpleTest.finish();
   });
 });
--- a/gfx/thebes/gfxPlatform.h
+++ b/gfx/thebes/gfxPlatform.h
@@ -11,16 +11,17 @@
 #include "nsTArray.h"
 #include "nsString.h"
 #include "nsCOMPtr.h"
 #include "nsUnicodeScriptCodes.h"
 
 #include "gfxTypes.h"
 #include "gfxFontFamilyList.h"
 #include "gfxBlur.h"
+#include "gfxSkipChars.h"
 #include "nsRect.h"
 
 #include "qcms.h"
 
 #include "mozilla/RefPtr.h"
 #include "GfxInfoCollector.h"
 
 #include "mozilla/layers/CompositorTypes.h"
@@ -656,16 +657,18 @@ public:
 
     /**
      * Check the blocklist for a feature. Returns false if the feature is blocked
      * with an appropriate message and failure ID.
      * */
     static bool IsGfxInfoStatusOkay(int32_t aFeature, nsCString* aOutMessage,
                                     nsCString& aFailureId);
 
+    const gfxSkipChars& EmptySkipChars() const { return kEmptySkipChars; }
+
 protected:
     gfxPlatform();
     virtual ~gfxPlatform();
 
     virtual void InitAcceleration();
 
     /**
      * Initialized hardware vsync based on each platform.
@@ -807,11 +810,15 @@ private:
     // created yet.
     mozilla::layers::LayersBackend mCompositorBackend;
 
     int32_t mScreenDepth;
     mozilla::gfx::IntSize mScreenSize;
 
     // Generation number for devices that ClientLayerManagers might depend on.
     uint64_t mDeviceCounter;
+
+    // An instance of gfxSkipChars which is empty. It is used as the
+    // basis for error-case iterators.
+    const gfxSkipChars kEmptySkipChars;
 };
 
 #endif /* GFX_PLATFORM_H */
--- a/layout/generic/nsTextFrame.cpp
+++ b/layout/generic/nsTextFrame.cpp
@@ -2649,18 +2649,18 @@ nsTextFrame::EnsureTextRun(TextRunType a
     }
     if (refDT) {
       BuildTextRuns(refDT, this, aLineContainer, aLine, aWhichTextRun);
     }
     textRun = GetTextRun(aWhichTextRun);
     if (!textRun) {
       // A text run was not constructed for this frame. This is bad. The caller
       // will check mTextRun.
-      static const gfxSkipChars emptySkipChars;
-      return gfxSkipCharsIterator(emptySkipChars, 0);
+      return gfxSkipCharsIterator(gfxPlatform::
+                                  GetPlatform()->EmptySkipChars(), 0);
     }
     TabWidthStore* tabWidths = Properties().Get(TabWidthProperty());
     if (tabWidths && tabWidths->mValidForContentOffset != GetContentOffset()) {
       Properties().Delete(TabWidthProperty());
     }
   }
 
   if (textRun->GetFlags() & nsTextFrameUtils::TEXT_IS_SIMPLE_FLOW) {
@@ -2687,18 +2687,17 @@ nsTextFrame::EnsureTextRun(TextRunType a
       } else {
         *aFlowEndInTextRun = textRun->GetLength();
       }
     }
     return iter;
   }
 
   NS_ERROR("Can't find flow containing this frame???");
-  static const gfxSkipChars emptySkipChars;
-  return gfxSkipCharsIterator(emptySkipChars, 0);
+  return gfxSkipCharsIterator(gfxPlatform::GetPlatform()->EmptySkipChars(), 0);
 }
 
 static uint32_t
 GetEndOfTrimmedText(const nsTextFragment* aFrag, const nsStyleText* aStyleText,
                     uint32_t aStart, uint32_t aEnd,
                     gfxSkipCharsIterator* aIterator)
 {
   aIterator->SetSkippedOffset(aEnd);
--- a/mach
+++ b/mach
@@ -65,18 +65,19 @@ def get_mach():
                 # Continue searching for mach_bootstrap in the source directory.
                 dir_path = info['topsrcdir']
 
         mach = check_and_get_mach(dir_path)
         if mach:
             return mach
 
     # If we didn't find a source path by scanning for a mozinfo.json, check
-    # whether the directory containing this script is a source directory.
-    return check_and_get_mach(os.path.dirname(__file__))
+    # whether the directory containing this script is a source directory. We
+    # follow symlinks so mach can be run even if cwd is outside the srcdir.
+    return check_and_get_mach(os.path.dirname(os.path.realpath(__file__)))
 
 def main(args):
     mach = get_mach()
     if not mach:
         print('Could not run mach: No mach source directory found.')
         sys.exit(1)
     sys.exit(mach.run(args))
 
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -914,8 +914,10 @@ pref("identity.fxaccounts.remote.oauth.u
 pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5");
 
 // Enable Presentation API
 pref("dom.presentation.enabled", true);
 pref("dom.presentation.discovery.enabled", true);
 
 pref("dom.audiochannel.audioCompeting", true);
 pref("dom.audiochannel.mediaControl", true);
+
+pref("media.openUnsupportedTypeWithExternalApp", true);
--- a/mobile/android/base/java/org/mozilla/gecko/BaseGeckoInterface.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BaseGeckoInterface.java
@@ -174,9 +174,15 @@ public class BaseGeckoInterface implemen
         return new String[] {};
     }
 
     @Override
     public String[] getHandlersForURL(String url, String action) {
         // By default, offer no handlers for any URL.
         return new String[] {};
     }
+
+    @Override
+    public String getDefaultChromeURI() {
+        // By default, use the GeckoView-specific chrome URI.
+        return "chrome://browser/content/geckoview.xul";
+    }
 }
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoApp.java
@@ -2872,9 +2872,15 @@ public abstract class GeckoApp
         // May contain the whole URL or just the protocol.
         Uri uri = url.indexOf(':') >= 0 ? Uri.parse(url) : new Uri.Builder().scheme(url).build();
 
         Intent intent = IntentHelper.getOpenURIIntent(getApplicationContext(), uri.toString(), "",
                 TextUtils.isEmpty(action) ? Intent.ACTION_VIEW : action, "");
 
         return IntentHelper.getHandlersForIntent(intent);
     }
+
+    @Override
+    public String getDefaultChromeURI() {
+        // Use the chrome URI specified by Gecko's defaultChromeURI pref.
+        return null;
+    }
 }
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoAppShell.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoAppShell.java
@@ -1785,16 +1785,25 @@ public class GeckoAppShell
         public void setUriTitle(final String uri, final String title);
 
         public void setAccessibilityEnabled(boolean enabled);
 
         public boolean openUriExternal(String targetURI, String mimeType, String packageName, String className, String action, String title);
 
         public String[] getHandlersForMimeType(String mimeType, String action);
         public String[] getHandlersForURL(String url, String action);
+
+        /**
+         * URI of the underlying chrome window to be opened, or null to use the default GeckoView
+         * XUL container <tt>chrome://browser/content/geckoview.xul</tt>.  See
+         * <a href="https://developer.mozilla.org/en/docs/toolkit.defaultChromeURI">https://developer.mozilla.org/en/docs/toolkit.defaultChromeURI</a>
+         *
+         * @return URI or null.
+         */
+        String getDefaultChromeURI();
     };
 
     private static GeckoInterface sGeckoInterface;
 
     public static GeckoInterface getGeckoInterface() {
         return sGeckoInterface;
     }
 
--- a/mobile/android/base/java/org/mozilla/gecko/GeckoView.java
+++ b/mobile/android/base/java/org/mozilla/gecko/GeckoView.java
@@ -33,94 +33,91 @@ import android.util.AttributeSet;
 import android.util.DisplayMetrics;
 import android.util.Log;
 import android.view.KeyEvent;
 import android.view.View;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputConnection;
 
 public class GeckoView extends LayerView
-    implements ContextGetter {
+    implements ContextGetter, GeckoEventListener, NativeEventListener {
 
     private static final String DEFAULT_SHARED_PREFERENCES_FILE = "GeckoView";
     private static final String LOGTAG = "GeckoView";
 
     private ChromeDelegate mChromeDelegate;
     private ContentDelegate mContentDelegate;
 
     private InputConnectionListener mInputConnectionListener;
 
-    private final GeckoEventListener mGeckoEventListener = new GeckoEventListener() {
-        @Override
-        public void handleMessage(final String event, final JSONObject message) {
-            ThreadUtils.postToUiThread(new Runnable() {
-                @Override
-                public void run() {
-                    try {
-                        if (event.equals("Gecko:Ready")) {
-                            handleReady(message);
-                        } else if (event.equals("Content:StateChange")) {
-                            handleStateChange(message);
-                        } else if (event.equals("Content:LoadError")) {
-                            handleLoadError(message);
-                        } else if (event.equals("Content:PageShow")) {
-                            handlePageShow(message);
-                        } else if (event.equals("DOMTitleChanged")) {
-                            handleTitleChanged(message);
-                        } else if (event.equals("Link:Favicon")) {
-                            handleLinkFavicon(message);
-                        } else if (event.equals("Prompt:Show") || event.equals("Prompt:ShowTop")) {
-                            handlePrompt(message);
-                        } else if (event.equals("Accessibility:Event")) {
-                            int mode = getImportantForAccessibility();
-                            if (mode == View.IMPORTANT_FOR_ACCESSIBILITY_YES ||
+    @Override
+    public void handleMessage(final String event, final JSONObject message) {
+        ThreadUtils.postToUiThread(new Runnable() {
+            @Override
+            public void run() {
+                try {
+                    if (event.equals("Gecko:Ready")) {
+                        handleReady(message);
+                    } else if (event.equals("Content:StateChange")) {
+                        handleStateChange(message);
+                    } else if (event.equals("Content:LoadError")) {
+                        handleLoadError(message);
+                    } else if (event.equals("Content:PageShow")) {
+                        handlePageShow(message);
+                    } else if (event.equals("DOMTitleChanged")) {
+                        handleTitleChanged(message);
+                    } else if (event.equals("Link:Favicon")) {
+                        handleLinkFavicon(message);
+                    } else if (event.equals("Prompt:Show") || event.equals("Prompt:ShowTop")) {
+                        handlePrompt(message);
+                    } else if (event.equals("Accessibility:Event")) {
+                        int mode = getImportantForAccessibility();
+                        if (mode == View.IMPORTANT_FOR_ACCESSIBILITY_YES ||
                                 mode == View.IMPORTANT_FOR_ACCESSIBILITY_AUTO) {
-                                GeckoAccessibility.sendAccessibilityEvent(message);
-                            }
+                            GeckoAccessibility.sendAccessibilityEvent(message);
                         }
-                    } catch (Exception e) {
-                        Log.e(LOGTAG, "handleMessage threw for " + event, e);
                     }
+                } catch (Exception e) {
+                    Log.e(LOGTAG, "handleMessage threw for " + event, e);
                 }
-            });
-        }
-    };
+            }
+        });
+    }
 
-    private final NativeEventListener mNativeEventListener = new NativeEventListener() {
-        @Override
-        public void handleMessage(final String event, final NativeJSObject message, final EventCallback callback) {
-            try {
-                if ("Accessibility:Ready".equals(event)) {
-                    GeckoAccessibility.updateAccessibilitySettings(getContext());
-                } else if ("GeckoView:Message".equals(event)) {
-                    // We need to pull out the bundle while on the Gecko thread.
-                    NativeJSObject json = message.optObject("data", null);
-                    if (json == null) {
-                        // Must have payload to call the message handler.
-                        return;
+    @Override
+    public void handleMessage(final String event, final NativeJSObject message, final EventCallback callback) {
+        try {
+            if ("Accessibility:Ready".equals(event)) {
+                GeckoAccessibility.updateAccessibilitySettings(getContext());
+            } else if ("GeckoView:Message".equals(event)) {
+                // We need to pull out the bundle while on the Gecko thread.
+                NativeJSObject json = message.optObject("data", null);
+                if (json == null) {
+                    // Must have payload to call the message handler.
+                    return;
+                }
+                final Bundle data = json.toBundle();
+                ThreadUtils.postToUiThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        handleScriptMessage(data, callback);
                     }
-                    final Bundle data = json.toBundle();
-                    ThreadUtils.postToUiThread(new Runnable() {
-                        @Override
-                        public void run() {
-                            handleScriptMessage(data, callback);
-                        }
-                    });
-                }
-            } catch (Exception e) {
-                Log.w(LOGTAG, "handleMessage threw for " + event, e);
+                });
             }
+        } catch (Exception e) {
+            Log.w(LOGTAG, "handleMessage threw for " + event, e);
         }
-    };
+    }
 
     @WrapForJNI
     private static final class Window extends JNIObject {
         /* package */ final GLController glController = new GLController();
 
         static native void open(Window instance, GeckoView view, GLController glController,
+                                String chromeURI,
                                 int width, int height);
 
         @Override protected native void disposeNative();
         native void close();
         native void reattach(GeckoView view);
     }
 
     // Object to hold onto our nsWindow connection when GeckoView gets destroyed.
@@ -223,23 +220,26 @@ public class GeckoView extends LayerView
     @Override
     public void onAttachedToWindow()
     {
         final DisplayMetrics metrics = getContext().getResources().getDisplayMetrics();
 
         if (window == null) {
             // Open a new nsWindow if we didn't have one from before.
             window = new Window();
+            final String chromeURI = getGeckoInterface().getDefaultChromeURI();
 
             if (GeckoThread.isStateAtLeast(GeckoThread.State.PROFILE_READY)) {
                 Window.open(window, this, window.glController,
+                            chromeURI,
                             metrics.widthPixels, metrics.heightPixels);
             } else {
                 GeckoThread.queueNativeCallUntil(GeckoThread.State.PROFILE_READY, Window.class,
                         "open", window, GeckoView.class, this, window.glController,
+                        String.class, chromeURI,
                         metrics.widthPixels, metrics.heightPixels);
             }
         } else {
             if (GeckoThread.isStateAtLeast(GeckoThread.State.PROFILE_READY)) {
                 window.reattach(this);
             } else {
                 GeckoThread.queueNativeCallUntil(GeckoThread.State.PROFILE_READY,
                         window, "reattach", GeckoView.class, this);
@@ -346,17 +346,17 @@ public class GeckoView extends LayerView
         if (url.startsWith("resource://android/assets/")) {
             GeckoAppShell.notifyObservers("GeckoView:ImportScript", url);
             return;
         }
 
         throw new IllegalArgumentException("Must import script from 'resources://android/assets/' location.");
     }
 
-    private void connectToGecko() {
+    public void connectToGecko() {
         GeckoAppShell.notifyObservers("Viewport:Flush", null);
     }
 
     private void handleReady(final JSONObject message) {
         connectToGecko();
 
         if (mChromeDelegate != null) {
             mChromeDelegate.onReady(this);
@@ -700,10 +700,9 @@ public class GeckoView extends LayerView
         * loaded that specifies a favicon.
         * @param view The GeckoView that initiated the callback.
         * @param browser The Browser that is showing the content.
         * @param url The href of the link element specifying the favicon.
         * @param size The maximum size specified for the favicon, or -1 for any size.
         */
         public void onReceivedFavicon(GeckoView view, GeckoView.Browser browser, String url, int size);
     }
-
 }
--- a/mobile/android/base/java/org/mozilla/gecko/gcm/GcmInstanceIDListenerService.java
+++ b/mobile/android/base/java/org/mozilla/gecko/gcm/GcmInstanceIDListenerService.java
@@ -23,13 +23,13 @@ public class GcmInstanceIDListenerServic
      * InstanceID provider.
      */
     @Override
     public void onTokenRefresh() {
         Log.d("GeckoPushGCM", "Token refresh request received.  Processing on background thread.");
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
-                PushService.getInstance().onRefresh();
+                PushService.getInstance(GcmInstanceIDListenerService.this).onRefresh();
             }
         });
     }
 }
--- a/mobile/android/base/java/org/mozilla/gecko/gcm/GcmMessageListenerService.java
+++ b/mobile/android/base/java/org/mozilla/gecko/gcm/GcmMessageListenerService.java
@@ -25,14 +25,14 @@ public class GcmMessageListenerService e
      * @param bundle Data bundle containing message data as key/value pairs.
      */
     @Override
     public void onMessageReceived(final String from, final Bundle bundle) {
         Log.d("GeckoPushGCM", "Message received.  Processing on background thread.");
         ThreadUtils.postToBackgroundThread(new Runnable() {
             @Override
             public void run() {
-                PushService.getInstance().onMessageReceived(
+                PushService.getInstance(GcmMessageListenerService.this).onMessageReceived(
                         GcmMessageListenerService.this, bundle);
             }
         });
     }
 }
--- a/mobile/android/base/java/org/mozilla/gecko/push/PushService.java
+++ b/mobile/android/base/java/org/mozilla/gecko/push/PushService.java
@@ -61,19 +61,19 @@ public class PushService implements Bund
             "PushServiceAndroidGCM:Uninitialized",
             "PushServiceAndroidGCM:RegisterUserAgent",
             "PushServiceAndroidGCM:UnregisterUserAgent",
             "PushServiceAndroidGCM:SubscribeChannel",
             "PushServiceAndroidGCM:UnsubscribeChannel",
             "History:GetPrePathLastVisitedTimeMilliseconds",
     };
 
-    public static synchronized PushService getInstance() {
+    public static synchronized PushService getInstance(Context context) {
         if (sInstance == null) {
-            throw new IllegalStateException("PushService not yet created!");
+            onCreate(context);
         }
         return sInstance;
     }
 
     @ReflectionTarget
     public static synchronized void onCreate(Context context) {
         if (sInstance != null) {
             throw new IllegalStateException("PushService already created!");
--- a/mobile/android/chrome/content/browser.js
+++ b/mobile/android/chrome/content/browser.js
@@ -3450,16 +3450,18 @@ Tab.prototype = {
       return;
 
     aParams = aParams || {};
 
     this.browser = document.createElement("browser");
     this.browser.setAttribute("type", "content-targetable");
     this.browser.setAttribute("messagemanagergroup", "browsers");
 
+    this.browser.permanentKey = {};
+
     // Make sure the previously selected panel remains selected. The selected panel of a deck is
     // not stable when panels are added.
     let selectedPanel = BrowserApp.deck.selectedPanel;
     BrowserApp.deck.insertBefore(this.browser, aParams.sibling || null);
     BrowserApp.deck.selectedPanel = selectedPanel;
 
     let attrs = {};
     if (BrowserApp.manifestUrl) {
@@ -4686,16 +4688,17 @@ var BrowserEventHandler = {
       Services.obs.addObserver(this, "dom-touch-listener-added", false);
       BrowserApp.deck.addEventListener("touchstart", this, true);
     } else {
       BrowserApp.deck.addEventListener("touchend", this, true);
     }
 
     BrowserApp.deck.addEventListener("DOMUpdatePageReport", PopupBlockerObserver.onUpdatePageReport, false);
     BrowserApp.deck.addEventListener("MozMouseHittest", this, true);
+    BrowserApp.deck.addEventListener("OpenMediaWithExtenalApp", this, true);
 
     InitLater(() => BrowserApp.deck.addEventListener("click", InputWidgetHelper, true));
     InitLater(() => BrowserApp.deck.addEventListener("click", SelectHelper, true));
 
     // ReaderViews support backPress listeners.
     Messaging.addListener(() => {
       return Reader.onBackPress(BrowserApp.selectedTab.id);
     }, "Browser:OnBackPressed");
@@ -4709,16 +4712,19 @@ var BrowserEventHandler = {
       case 'touchend':
         if (this._inCluster) {
           aEvent.preventDefault();
         }
         break;
       case 'MozMouseHittest':
         this._handleRetargetedTouchStart(aEvent);
         break;
+      case 'OpenMediaWithExtenalApp':
+        ExternalApps.openExternal(aEvent.target);
+        break;
     }
   },
 
   _handleTouchStart: function(aEvent) {
     if (!BrowserApp.isBrowserContentDocumentDisplayed() || aEvent.touches.length > 1 || aEvent.defaultPrevented)
       return;
 
     let target = aEvent.target;
new file mode 100644
--- /dev/null
+++ b/mobile/android/chrome/content/geckoview.js
@@ -0,0 +1,32 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+"use strict";
+
+var Cc = Components.classes;
+var Ci = Components.interfaces;
+var Cu = Components.utils;
+var Cr = Components.results;
+
+Cu.import("resource://gre/modules/AppConstants.jsm");
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+
+XPCOMUtils.defineLazyModuleGetter(this, "Log",
+ "resource://gre/modules/AndroidLog.jsm", "AndroidLog");
+
+XPCOMUtils.defineLazyModuleGetter(this, "Messaging",
+ "resource://gre/modules/Messaging.jsm", "Messaging");
+
+XPCOMUtils.defineLazyModuleGetter(this, "Services",
+ "resource://gre/modules/Services.jsm", "Services");
+
+function dump(msg) {
+  Log.d("View", msg);
+}
+
+function startup() {
+    dump("zerdatime " + Date.now() + " - geckoivew chrome startup finished.");
+
+    // Notify Java that Gecko has loaded.
+    Messaging.sendRequest({ type: "Gecko:Ready" });
+}
new file mode 100644
--- /dev/null
+++ b/mobile/android/chrome/content/geckoview.xul
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - 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/. -->
+
+<window id="main-window"
+        onload="startup();"
+        windowtype="navigator:browser"
+        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
+
+  <browser id="content" type="content-targetable" src="https://mozilla.com" flex="1"/>
+
+  <script type="application/javascript" src="chrome://browser/content/geckoview.js"/>
+</window>
--- a/mobile/android/chrome/jar.mn
+++ b/mobile/android/chrome/jar.mn
@@ -21,16 +21,18 @@ chrome.jar:
   content/aboutPrivateBrowsing.js      (content/aboutPrivateBrowsing.js)
   content/Reader.js                    (content/Reader.js)
   content/aboutHome.xhtml              (content/aboutHome.xhtml)
   content/aboutRights.xhtml            (content/aboutRights.xhtml)
   content/blockedSite.xhtml            (content/blockedSite.xhtml)
   content/languages.properties         (content/languages.properties)
   content/browser.xul                  (content/browser.xul)
   content/browser.js                   (content/browser.js)
+  content/geckoview.xul                (content/geckoview.xul)
+  content/geckoview.js                 (content/geckoview.js)
   content/bindings/checkbox.xml        (content/bindings/checkbox.xml)
   content/bindings/settings.xml        (content/bindings/settings.xml)
   content/netError.xhtml               (content/netError.xhtml)
   content/SelectHelper.js              (content/SelectHelper.js)
   content/SelectionHandler.js          (content/SelectionHandler.js)
   content/ActionBarHandler.js          (content/ActionBarHandler.js)
   content/EmbedRT.js                   (content/EmbedRT.js)
   content/InputWidgetHelper.js         (content/InputWidgetHelper.js)
--- a/mobile/android/config/mozconfigs/android-api-15/debug
+++ b/mobile/android/config/mozconfigs/android-api-15/debug
@@ -1,12 +1,13 @@
 . "$topsrcdir/mobile/android/config/mozconfigs/common"
 
 # Global options
 ac_add_options --enable-debug
+ENABLE_MARIONETTE=1
 
 # Android
 ac_add_options --with-android-min-sdk=15
 ac_add_options --target=arm-linux-androideabi
 
 export MOZILLA_OFFICIAL=1
 export MOZ_TELEMETRY_REPORTING=1
 
--- a/services/sync/modules/engines/clients.js
+++ b/services/sync/modules/engines/clients.js
@@ -639,17 +639,17 @@ ClientsTracker.prototype = {
       case "weave:engine:start-tracking":
         if (!this._enabled) {
           Svc.Prefs.observe("client.name", this);
           this._enabled = true;
         }
         break;
       case "weave:engine:stop-tracking":
         if (this._enabled) {
-          Svc.Prefs.ignore("clients.name", this);
+          Svc.Prefs.ignore("client.name", this);
           this._enabled = false;
         }
         break;
       case "nsPref:changed":
         this._log.debug("client.name preference changed");
         this.addChangedID(Svc.Prefs.get("client.GUID"));
         this.score += SCORE_INCREMENT_XLARGE;
         break;
--- a/taskcluster/ci/legacy/tasks/branches/base_jobs.yml
+++ b/taskcluster/ci/legacy/tasks/branches/base_jobs.yml
@@ -15,16 +15,18 @@ builds:
       debug:
         task: tasks/builds/android_api_15_debug.yml
   linux64-mulet:
     platforms:
       - Mulet Linux
     types:
       opt:
         task: tasks/builds/mulet_linux.yml
+      debug:
+        task: tasks/builds/mulet_linux_dbg.yml
   linux:
     platforms:
       - Linux
     extra-builds:  # see RIDEALONG_BUILDS in `mach taskgraph`
       - linux-l10n
     types:
       opt:
         task: tasks/builds/opt_linux32.yml
@@ -288,16 +290,52 @@ tests:
   firefox-ui-functional-remote-e10s:
     allowed_build_tasks:
       tasks/builds/opt_linux64.yml:
         task: tasks/tests/fx_linux64_fxui_functional_remote_e10s_opt.yml
       tasks/builds/dbg_linux64.yml:
         task: tasks/tests/fx_linux64_fxui_functional_remote_e10s_dbg.yml
       tasks/builds/opt_linux64_pgo.yml:
         task: tasks/tests/fx_linux64_fxui_functional_remote_e10s_opt.yml
+  gaia-build:
+    allowed_build_tasks:
+      tasks/builds/mulet_linux.yml:
+        task: tasks/tests/mulet_build_test.yml
+      tasks/builds/mulet_linux_dbg.yml:
+        task: tasks/tests/mulet_build_test.yml
+  gaia-build-unit:
+    allowed_build_tasks:
+      tasks/builds/mulet_linux.yml:
+        task: tasks/tests/mulet_build_unit.yml
+      tasks/builds/mulet_linux_dbg.yml:
+        task: tasks/tests/mulet_build_unit.yml
+  gaia-js-integration:
+    allowed_build_tasks:
+      tasks/builds/mulet_linux.yml:
+        task: tasks/tests/mulet_gaia_js_integration_tests.yml
+      tasks/builds/mulet_linux_dbg.yml:
+        task: tasks/tests/mulet_gaia_js_integration_tests.yml
+  gaia-linter:
+    allowed_build_tasks:
+      tasks/builds/mulet_linux.yml:
+        task: tasks/tests/mulet_linter.yml
+      tasks/builds/mulet_linux_dbg.yml:
+        task: tasks/tests/mulet_linter.yml
+  gaia-unit:
+    allowed_build_tasks:
+      tasks/builds/mulet_linux.yml:
+        task: tasks/tests/mulet_gaia_unit.yml
+      tasks/builds/mulet_linux_dbg.yml:
+        task: tasks/tests/mulet_gaia_unit.yml
+  gaia-unit-oop:
+    allowed_build_tasks:
+      tasks/builds/mulet_linux.yml:
+        task: tasks/tests/mulet_gaia_unit_oop.yml
+      tasks/builds/mulet_linux_dbg.yml:
+        task: tasks/tests/mulet_gaia_unit_oop.yml
   gtest:
     allowed_build_tasks:
       tasks/builds/opt_linux64.yml:
         task: tasks/tests/fx_linux64_gtest_opt.yml
       tasks/builds/dbg_linux64.yml:
         task: tasks/tests/fx_linux64_gtest_dbg.yml
       tasks/builds/opt_linux64_pgo.yml:
         task: tasks/tests/fx_linux64_gtest_opt.yml
@@ -356,16 +394,18 @@ tests:
       tasks/builds/opt_linux64_pgo.yml:
         task: tasks/tests/fx_linux64_marionette_e10s_opt.yml
       tasks/builds/opt_linux64-asan.yml:
         task: tasks/tests/fx_linux64_marionette_e10s_opt.yml
   mochitest:
     allowed_build_tasks:
       tasks/builds/mulet_linux.yml:
         task: tasks/tests/mulet_mochitests.yml
+      tasks/builds/mulet_linux_dbg.yml:
+        task: tasks/tests/mulet_mochitests.yml
       tasks/builds/opt_linux64.yml:
         task: tasks/tests/fx_linux64_mochitest_plain_opt.yml
       tasks/builds/dbg_linux64.yml:
         task: tasks/tests/fx_linux64_mochitest_plain_dbg.yml
       tasks/builds/opt_linux64_pgo.yml:
         task: tasks/tests/fx_linux64_mochitest_plain_opt.yml
       tasks/builds/opt_linux64-asan.yml:
         task: tasks/tests/fx_linux64_mochitest_plain_opt.yml
@@ -548,16 +588,18 @@ tests:
       tasks/builds/opt_linux64_pgo.yml:
         task: tasks/tests/fx_linux64_mochitest_clipboard_e10s_opt.yml
       tasks/builds/opt_linux64-asan.yml:
         task: tasks/tests/fx_linux64_mochitest_clipboard_e10s_opt.yml
   reftest:
     allowed_build_tasks:
       tasks/builds/mulet_linux.yml:
         task: tasks/tests/mulet_reftests.yml
+      tasks/builds/mulet_linux_dbg.yml:
+        task: tasks/tests/mulet_reftests.yml
       tasks/builds/opt_linux64.yml:
         task: tasks/tests/fx_linux64_reftest_opt.yml
       tasks/builds/dbg_linux64.yml:
         task: tasks/tests/fx_linux64_reftest_dbg.yml
       tasks/builds/opt_linux64_pgo.yml:
         task: tasks/tests/fx_linux64_reftest_opt.yml
       tasks/builds/android_api_15.yml:
         task: tasks/tests/fx_android-api-15_reftest_opt.yml
--- a/taskcluster/ci/legacy/tasks/branches/try/job_flags.yml
+++ b/taskcluster/ci/legacy/tasks/branches/try/job_flags.yml
@@ -76,16 +76,24 @@ builds:
       opt:
         task: tasks/builds/opt_linux64_st-an.yml
   linux64-pgo:
     platforms:
       - Linux64 PGO
     types:
       opt:
         task: tasks/builds/opt_linux64_pgo.yml
+  linux64-mulet:
+    platforms:
+      - Mulet Linux
+    types:
+      opt:
+        task: tasks/builds/mulet_linux.yml
+      debug:
+        task: tasks/builds/mulet_linux_dbg.yml
   linux64-mulet-haz:
     platforms:
       - Mulet Linux
     types:
       debug:
         task: tasks/builds/mulet_haz_linux.yml
   macosx64:
     platforms:
new file mode 100644
--- /dev/null
+++ b/taskcluster/ci/legacy/tasks/builds/mulet_linux_dbg.yml
@@ -0,0 +1,60 @@
+$inherits:
+  from: 'tasks/builds/b2g_base.yml'
+  variables:
+    build_name: 'mulet'
+    build_type: 'dbg'
+task:
+  metadata:
+    name: '[TC] Mulet Linux Dbg'
+    description: Mulet Linux Dbg
+
+  workerType: mulet-debug
+
+  routes:
+    - 'index.buildbot.branches.{{project}}.linux64-mulet'
+    - 'index.buildbot.revisions.{{head_rev}}.{{project}}.linux64-mulet'
+
+  scopes:
+    - 'docker-worker:cache:level-{{level}}-{{project}}-build-mulet-dbg-linux-workspace'
+    - 'docker-worker:cache:tooltool-cache'
+    - 'docker-worker:relengapi-proxy:tooltool.download.public'
+
+  payload:
+    cache:
+      level-{{level}}-{{project}}-build-mulet-dbg-linux-workspace: '/home/worker/workspace'
+      tooltool-cache: '/home/worker/tools/tooltool-cache'
+
+    features:
+      relengAPIProxy: true
+
+    env:
+      MOZCONFIG: 'b2g/dev/config/mozconfigs/linux64/mulet_dbg'
+      TOOLTOOL_MANIFEST: 'b2g/dev/config/tooltool-manifests/linux64/releng.manifest'
+
+    maxRunTime: 3600
+
+    command:
+      - /bin/bash
+      - -c
+      - >
+        checkout-gecko workspace &&
+        cd ./workspace/gecko/taskcluster/scripts/builder &&
+        buildbot_step 'Build' ./build-mulet-linux.sh $HOME/workspace
+
+  extra:
+    treeherderEnv:
+      - production
+      - staging
+    treeherder:
+      # Disable "TC" prefix...
+      groupSymbol: "?"
+      machine:
+        platform: mulet-linux64
+      collection:
+        debug: true
+    # Rather then enforcing particular conventions we require that all build
+    # tasks provide the "build" extra field to specify where the build and tests
+    # files are located.
+    locations:
+      build: 'public/build/target.tar.bz2'
+      test_packages: 'public/build/target.test_packages.json'
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/decision/branch.yml
+++ /dev/null
@@ -1,96 +0,0 @@
----
-metadata:
-  name: 'Task graph used to build {{project}} specific jobs'
-  description: |
-    {{project}} push for {{owner}}
-  owner: mozilla-taskcluster-maintenance@mozilla.com
-  source: "{{{source}}}"
-
-scopes:
-  # Note the below scopes are insecure however these get overriden on the server
-  # side to whatever scopes are set by mozilla-taskcluster.
-  - queue:*
-  - docker-worker:*
-  - scheduler:*
-tasks:
-  - taskId: '{{#as_slugid}}decision task{{/as_slugid}}'
-    task:
-      routes:
-        - index.gecko.v2.{{project}}.latest.firefox.decision
-        - tc-treeherder.v2.{{project}}.{{head_rev}}.{{pushlog_id}}
-        - tc-treeherder-stage.v2.{{project}}.{{head_rev}}.{{pushlog_id}}
-      created: '{{now}}'
-      deadline: '{{#from_now}}1 day{{/from_now}}'
-      metadata:
-        owner: mozilla-taskcluster-maintenance@mozilla.com
-        source: {{{source}}}
-        name: Initial decision task for {{project}} specific graphs
-        description: |
-          This is the single most important task as it decides how all other tasks
-          get built.
-
-      tags:
-        createdForUser: {{owner}}
-
-      workerType: "gecko-decision"
-      provisionerId: "aws-provisioner-v1"
-
-      scopes:
-        - "docker-worker:cache:level-{{level}}-{{project}}-tc-vcs-public-sources"
-        - "scheduler:extend-task-graph:*"
-        - "secrets:get:project/taskcluster/gecko/hgfingerprint"
-
-      payload:
-        env:
-          GECKO_BASE_REPOSITORY: '{{{url}}}'
-          GECKO_HEAD_REPOSITORY: '{{{url}}}'
-          GECKO_HEAD_REF: '{{revision}}'
-          GECKO_HEAD_REV: '{{revision}}'
-
-        cache:
-          # The taskcluster-vcs tooling stores the large clone caches in this
-          # directory and will reuse them for new requests this saves about 20s~ and
-          # is the most generic cache possible.
-          level-{{level}}-{{project}}-tc-vcs-public-sources: '/home/worker/.tc-vcs/'
-
-        features:
-          taskclusterProxy: true
-
-        # Note: This task is built server side without the context or tooling that
-        # exist in tree so we must hard code the version
-        image: 'taskcluster/decision:0.1.0'
-
-        # Virtually no network or other potentially risky operations happen as part
-        # of the task timeout aside from the initial clone. We intentionally have
-        # set this to a lower value _all_ decision tasks should use a root
-        # repository which is cached.
-        maxRunTime: 1800
-
-        command:
-          - /bin/bash
-          - -cx
-          - >
-            mkdir -p /home/worker/artifacts &&
-            checkout-gecko workspace &&
-            cd workspace/gecko &&
-            ./mach taskcluster-graph
-            --pushlog-id='{{pushlog_id}}'
-            --project='{{project}}'
-            --message='{{comment}}'
-            --owner='{{owner}}'
-            --level='{{level}}'
-            --extend-graph > /home/worker/artifacts/graph.json &&
-            cp /home/worker/artifacts/graph.json /home/worker/artifacts/all_tasks.json
-        graphs:
-          - /home/worker/artifacts/graph.json
-        artifacts:
-          'public':
-            type: 'directory'
-            path: '/home/worker/artifacts'
-            # Arbitrary value for keeping these artifacts around.  They are just the
-            # graph.json and context directories for now, so nothing that needs
-            # to stay around for long.
-            expires: '{{#from_now}}7 days{{/from_now}}'
-      extra:
-        treeherder:
-          symbol: D
deleted file mode 100644
--- a/taskcluster/ci/legacy/tasks/decision/try.yml
+++ /dev/null
@@ -1,102 +0,0 @@
----
-metadata:
-  name: 'Taskcluster decision task for {{project}}'
-  description: |
-    Try push for {{owner}}.
-  owner: mozilla-taskcluster-maintenance@mozilla.com
-  source: "{{{source}}}"
-
-scopes:
-  # Note the below scopes are insecure however these get overriden on the server
-  # side to whatever scopes are set by mozilla-taskcluster.
-  - queue:*
-  - docker-worker:*
-  - scheduler:*
-
-tasks:
-  - taskId: '{{#as_slugid}}decision task{{/as_slugid}}'
-    task:
-      created: '{{now}}'
-      deadline: '{{#from_now}}1 day{{/from_now}}'
-      expires: '{{#from_now}}14 day{{/from_now}}'
-      metadata:
-        owner: mozilla-taskcluster-maintenance@mozilla.com
-        source: {{{source}}}
-        name: "[tc] Initial decision task for try"
-        description: |
-          Create the task-graph for a try push
-
-      workerType: "gecko-decision"
-      provisionerId: "aws-provisioner-v1"
-
-      tags:
-        createdForUser: {{owner}}
-
-      scopes:
-        # Bug 1269443: cache scopes, etc. must be listed explicitly
-        - "docker-worker:cache:level-1-*"
-        - "docker-worker:cache:tooltool-cache"
-        - "secrets:get:project/taskcluster/gecko/hgfingerprint"
-        - "assume:repo:hg.mozilla.org/try:*"
-
-      routes:
-        - "index.gecko.v2.{{project}}.latest.firefox.decision"
-        - "tc-treeherder.v2.{{project}}.{{head_rev}}.{{pushlog_id}}"
-        - "tc-treeherder-stage.v2.{{project}}.{{head_rev}}.{{pushlog_id}}"
-
-      payload:
-        env:
-          GECKO_BASE_REPOSITORY: 'https://hg.mozilla.org/mozilla-central'
-          GECKO_HEAD_REPOSITORY: '{{{url}}}'
-          GECKO_HEAD_REF: '{{revision}}'
-          GECKO_HEAD_REV: '{{revision}}'
-
-        cache:
-          # The taskcluster-vcs tooling stores the large clone caches in this
-          # directory and will reuse them for new requests this saves about 20s~ and
-          # is the most generic cache possible.
-          level-{{level}}-{{project}}-tc-vcs-public-sources: /home/worker/.tc-vcs/
-          level-{{level}}-{{project}}-gecko-decision: /home/worker/workspace
-
-        features:
-          taskclusterProxy: true
-
-        # Note: This task is built server side without the context or tooling that
-        # exist in tree so we must hard code the version
-        image: 'taskcluster/decision:0.1.0'
-
-        # Virtually no network or other potentially risky operations happen as part
-        # of the task timeout aside from the initial clone. We intentionally have
-        # set this to a lower value _all_ decision tasks should use a root
-        # repository which is cached.
-        maxRunTime: 1800
-
-        command:
-          - /bin/bash
-          - -cx
-          - >
-            mkdir -p /home/worker/artifacts &&
-            checkout-gecko workspace &&
-            cd workspace/gecko &&
-            ln -s /home/worker/artifacts artifacts &&
-            ./mach taskgraph decision
-            --target-tasks-method=try_option_syntax
-            --pushlog-id='{{pushlog_id}}'
-            --project='{{project}}'
-            --message='{{comment}}'
-            --owner='{{owner}}'
-            --level='{{level}}'
-            --base-repository='https://hg.mozilla.org/mozilla-central'
-            --head-repository='{{{url}}}'
-            --head-ref='{{revision}}'
-            --head-rev='{{revision}}'
-
-        artifacts:
-          'public':
-            type: 'directory'
-            path: '/home/worker/artifacts'
-            expires: '{{#from_now}}7 days{{/from_now}}'
-
-      extra:
-        treeherder:
-          symbol: D
--- a/taskcluster/ci/legacy/tasks/post-builds/mulet_simulator.yml
+++ b/taskcluster/ci/legacy/tasks/post-builds/mulet_simulator.yml
@@ -32,18 +32,18 @@ task:
 
     maxRunTime: 600
 
     command:
       - /bin/bash
       - -exc
       - task-reference: >
           tc-vcs checkout ./gecko {{base_repository}} {{head_repository}} {{head_rev}} {{head_ref}} &&
-          ./gecko/testing/taskcluster/scripts/builder/pull-gaia.sh ./gecko ./gaia gaia_props.py &&
-          ./gecko/testing/taskcluster/scripts/builder/build-simulator.sh ./gecko ./gaia
+          ./gecko/taskcluster/scripts/builder/pull-gaia.sh ./gecko ./gaia gaia_props.py &&
+          ./gecko/taskcluster/scripts/builder/build-simulator.sh ./gecko ./gaia
           https://queue.taskcluster.net/v1/task/<{{build_slugid}}>/artifacts/{{build_location}}
 
     artifacts:
       'public/build':
         type: directory
         path: '/home/worker/artifacts/'
         expires: '{{#from_now}}1 year{{/from_now}}'
 
--- a/taskcluster/ci/legacy/tasks/tests/mulet_gaia_js_integration_tests.yml
+++ b/taskcluster/ci/legacy/tasks/tests/mulet_gaia_js_integration_tests.yml
@@ -18,17 +18,17 @@ task:
       - --application=firefox
       - {"task-reference": "--installer-url=https://queue.taskcluster.net/v1/task/<{{build_slugid}}>/artifacts/{{build_location}}"}
       - {"task-reference": "--test-packages-url=https://queue.taskcluster.net/v1/task/<{{build_slugid}}>/artifacts/{{test_packages_location}}"}
       - --total-chunk={{total_chunks}}
       - --this-chunk={{chunk}}
 
   extra:
     chunks:
-      total: 40
+      total: 10
     treeherderEnv:
       - production
       - staging
     treeherder:
       groupName: Gaia JS Integration Test
       groupSymbol: Gij
       symbol: '{{chunk}}'
       productName: b2g
--- a/taskcluster/scripts/phone-builder/post-build.sh
+++ b/taskcluster/scripts/phone-builder/post-build.sh
@@ -12,18 +12,18 @@ mkdir -p $HOME/artifacts-public
 
 DEVICE=${TARGET%%-*}
 
 mv $WORKSPACE/B2G/upload/sources.xml $HOME/artifacts/sources.xml
 mv $WORKSPACE/B2G/upload/b2g-*.linux-androideabi-arm.tar.gz $HOME/artifacts/b2g-android-arm.tar.gz
 mv $WORKSPACE/B2G/upload/${TARGET}.zip $HOME/artifacts/${TARGET}.zip
 mv $WORKSPACE/B2G/upload/gaia.zip $HOME/artifacts/gaia.zip
 
-# Upload public images as public artifacts on Nexus 4 KK and Nexus 5 L
-if [ "${TARGET}" = "nexus-4-kk" -o "${TARGET}" = "nexus-5-l" ]; then
+# Upload public images as public artifacts for Nexus 5 L
+if [ "${TARGET}" = "nexus-5-l" ]; then
   mv $HOME/artifacts/${TARGET}.zip $HOME/artifacts-public/
 fi
 
 if [ -f $WORKSPACE/B2G/upload/b2g-*.crashreporter-symbols.zip ]; then
   mv $WORKSPACE/B2G/upload/b2g-*.crashreporter-symbols.zip $HOME/artifacts/b2g-crashreporter-symbols.zip
 fi
 
 if [ -f $WORKSPACE/B2G/upload-public/*.blobfree-dist.zip ]; then
--- a/taskcluster/scripts/tester/run-wizard
+++ b/taskcluster/scripts/tester/run-wizard
@@ -16,22 +16,48 @@ def call(cmd, **kwargs):
     return subprocess.call(cmd, **kwargs)
 
 
 def resume():
     call(['run-mozharness'])
 
 
 def setup():
-    call(['run-mozharness', '--no-run-tests'])
-    print("Mozharness has finished downloading the build and "
-          "tests to {}.".format(os.path.join(os.getcwd(), 'build')))
+    """Run the mozharness script without the 'run-tests' action.
+
+    This will do all the necessary setup steps like creating a virtualenv and
+    downloading the tests and firefox binary. But it stops before running the
+    tests.
+    """
+    status = call(['run-mozharness', '--no-run-tests'])
+
+    if status:
+        # something went wrong
+        return status
+
+    build_dir = os.path.expanduser(os.path.join('~', 'workspace', 'build'))
+    mach_src = os.path.join(build_dir, 'tests', 'mach')
+    mach_dest = os.path.expanduser(os.path.join('~', 'bin', 'mach'))
+
+    if os.path.exists(mach_dest):
+        os.remove(mach_dest)
+    os.symlink(mach_src, mach_dest)
+
+    print("""
+Mozharness has finished downloading the build and tests to:
+{}
+
+A limited mach environment has also been set up and added to the $PATH, but
+it may be missing the command you need. To see a list of commands, run:
+    $ mach help
+""".lstrip().format(build_dir))
 
 
 def clone():
+    """Clone the correct gecko repository and update to the proper revision."""
     repo = os.environ['GECKO_HEAD_REPOSITORY']
     rev = os.environ['GECKO_HEAD_REV']
     clone_path = os.path.expanduser(os.path.join('~', 'gecko'))
 
     # try is too large to clone, instead clone central and pull
     # in changes from try
     if "hg.mozilla.org/try" in repo:
         central = 'http://hg.mozilla.org/mozilla-central'
@@ -48,18 +74,18 @@ def exit():
 
 
 OPTIONS = [
     ('Resume task', resume,
      "Resume the original task without modification. This can be useful for "
      "passively monitoring it from another shell."),
     ('Setup task', setup,
      "Setup the task (download the application and tests) but don't run the "
-     "tests just yet. The tests can be run with a custom configuration later "
-     "(experimental)."),
+     "tests just yet. The tests can be run with a custom configuration later. "
+     "This will provide a mach environment (experimental)."),
     ('Clone gecko', clone,
      "Perform a clone of gecko using the task's repo and update it to the "
      "task's revision."),
     ('Exit', exit, "Exit this wizard and return to the shell.")
 ]
 
 
 def _fmt_options():
--- a/taskcluster/scripts/tester/test-linux.sh
+++ b/taskcluster/scripts/tester/test-linux.sh
@@ -132,16 +132,19 @@ for cfg in $MOZHARNESS_CONFIG; do
   config_cmds="${config_cmds} --config-file $WORKSPACE/${cfg}"
 done
 
 mozharness_bin="/home/worker/bin/run-mozharness"
 
 # Save the computed mozharness command to a binary which is useful
 # for interactive mode.
 echo -e "#!/usr/bin/env bash
+# Some mozharness scripts assume base_work_dir is in
+# the current working directory, see bug 1279237
+cd $WORKSPACE
 cmd=\"python2.7 $WORKSPACE/${MOZHARNESS_SCRIPT} ${config_cmds} ${@} \${@}\"
 echo \"Running: \${cmd}\"
 exec \${cmd}" > ${mozharness_bin}
 chmod +x ${mozharness_bin}
 
 # In interactive mode, the user will be prompted with options for what to do.
 if [ "$TASKCLUSTER_INTERACTIVE" != "true" ]; then
   # run the given mozharness script and configs, but pass the rest of the
--- a/taskcluster/taskgraph/kind/docker_image.py
+++ b/taskcluster/taskgraph/kind/docker_image.py
@@ -51,17 +51,17 @@ class DockerImageTask(base.Task):
             'base_repository': params['base_repository'] or params['head_repository'],
             'head_repository': params['head_repository'],
             'head_ref': params['head_ref'] or params['head_rev'],
             'head_rev': params['head_rev'],
             'owner': params['owner'],
             'level': params['level'],
             'from_now': json_time_from_now,
             'now': current_json_time(),
-            'source': '{repo}file/{rev}/testing/taskcluster/tasks/image.yml'
+            'source': '{repo}file/{rev}/taskcluster/ci/docker-image/image.yml'
                       .format(repo=params['head_repository'], rev=params['head_rev']),
         }
 
         tasks = []
         templates = Templates(path)
         for image_name in config['images']:
             context_path = os.path.join('testing', 'docker', image_name)
             context_hash = generate_context_hash(context_path)
deleted file mode 100644
--- a/testing/docker/builder/emulator-ics.env
+++ /dev/null
@@ -1,6 +0,0 @@
-GECKO_BASE_REPOSITORY=https://hg.mozilla.org/mozilla-central
-GECKO_HEAD_REPOSITORY=https://hg.mozilla.org/mozilla-central
-MOZHARNESS_REPOSITORY=https://github.com/lightsofapollo/build-mozharness
-MOZHARNESS_REV=emulator-perf
-GECKO_HEAD_REV=tip
-TARGET=emulator
deleted file mode 100644
--- a/testing/docker/builder/emulator-kk.env
+++ /dev/null
@@ -1,6 +0,0 @@
-GECKO_BASE_REPOSITORY=https://hg.mozilla.org/mozilla-central
-GECKO_HEAD_REPOSITORY=https://hg.mozilla.org/mozilla-central
-MOZHARNESS_REPOSITORY=https://github.com/lightsofapollo/build-mozharness
-MOZHARNESS_REV=emulator-perf
-GECKO_HEAD_REV=tip
-TARGET=emulator-kk
--- a/testing/marionette/browser.js
+++ b/testing/marionette/browser.js
@@ -58,27 +58,31 @@ browser.Context = class {
     this.getIdForBrowser = driver.getIdForBrowser.bind(driver);
     this.updateIdForBrowser = driver.updateIdForBrowser.bind(driver);
     this._curFrameId = null;
     this._browserWasRemote = null;
     this._hasRemotenessChange = false;
   }
 
   get browserForTab() {
-    return this.browser.getBrowserForTab(this.tab);
+    if (this.browser.getBrowserForTab) {
+      return this.browser.getBrowserForTab(this.tab);
+    } else {
+      return this.browser.selectedBrowser;
+    }
   }
 
   /**