Merge fx-team.
authorNick Alexander <nalexander@mozilla.com>
Mon, 18 Jan 2016 14:32:35 -0800
changeset 326875 029382898fae9edc92634dff557e734ae020a6b3
parent 326874 c99e694c585cc015dbd3e500b9080baaa41b5d37 (current diff)
parent 322458 9f9b83007c01f8e86cf65148c193d8aec7369d35 (diff)
child 326876 248232b19142b95a229c69f10096d7a7a7dcd5c7
push id10169
push userdminor@mozilla.com
push dateThu, 28 Jan 2016 13:10:48 +0000
milestone46.0a1
Merge fx-team.
CLOBBER
b2g/config/mozconfigs/linux64_gecko/debug
b2g/config/tooltool-manifests/linux64/releng.manifest
b2g/locales/generic/install.rdf
browser/base/content/abouthome/apps.png
browser/base/content/abouthome/apps@2x.png
browser/base/content/newtab/intro.js
browser/base/content/remote-newtab/newTab.css
browser/base/content/remote-newtab/newTab.js
browser/base/content/remote-newtab/newTab.xhtml
browser/base/content/test/general/browser_datareporting_notification.js
browser/base/content/test/general/browser_urlbar_search_healthreport.js
browser/base/content/test/newtab/browser_newtab_intro.js
browser/components/dirprovider/tests/unit/head_dirprovider.js
browser/components/dirprovider/tests/unit/test_bookmark_pref.js
browser/components/dirprovider/tests/unit/test_keys.js
browser/components/dirprovider/tests/unit/xpcshell.ini
browser/components/feeds/content/subscribe.css
browser/components/feeds/content/subscribe.xml
browser/components/migration/nsEdgeReadingListExtractor.cpp
browser/components/migration/nsEdgeReadingListExtractor.h
browser/components/migration/nsIEdgeReadingListExtractor.idl
browser/components/newtab/NewTabURL.jsm
browser/components/newtab/RemoteAboutNewTab.jsm
browser/components/newtab/RemoteNewTabLocation.jsm
browser/components/newtab/RemoteNewTabUtils.jsm
browser/components/newtab/tests/xpcshell/test_RemoteNewTabLocation.js
browser/components/newtab/tests/xpcshell/test_RemoteNewTabUtils.js
browser/components/nsIAboutNewTabService.idl
browser/components/test/browser_polaris_prefs.js
browser/extensions/loop/.eslintrc
browser/extensions/loop/.eslintrc-gecko
browser/extensions/loop/build-jsx
browser/extensions/loop/content/modules/.eslintrc
browser/extensions/loop/content/modules/LoopRooms.jsm
browser/extensions/loop/content/modules/LoopRoomsCache.jsm
browser/extensions/loop/content/modules/MozLoopAPI.jsm
browser/extensions/loop/content/modules/MozLoopPushHandler.jsm
browser/extensions/loop/content/modules/MozLoopService.jsm
browser/extensions/loop/content/modules/MozLoopWorker.js
browser/extensions/loop/content/panels/conversation.html
browser/extensions/loop/content/panels/css/panel.css
browser/extensions/loop/content/panels/js/.eslintrc
browser/extensions/loop/content/panels/js/conversation.js
browser/extensions/loop/content/panels/js/conversation.jsx
browser/extensions/loop/content/panels/js/conversationAppStore.js
browser/extensions/loop/content/panels/js/feedbackViews.js
browser/extensions/loop/content/panels/js/feedbackViews.jsx
browser/extensions/loop/content/panels/js/otconfig.js
browser/extensions/loop/content/panels/js/panel.js
browser/extensions/loop/content/panels/js/panel.jsx
browser/extensions/loop/content/panels/js/roomStore.js
browser/extensions/loop/content/panels/js/roomViews.js
browser/extensions/loop/content/panels/js/roomViews.jsx
browser/extensions/loop/content/panels/panel.html
browser/extensions/loop/content/panels/vendor/l10n.js
browser/extensions/loop/content/preferences/prefs.js
browser/extensions/loop/content/shared/README.md
browser/extensions/loop/content/shared/css/common.css
browser/extensions/loop/content/shared/css/conversation.css
browser/extensions/loop/content/shared/css/reset.css
browser/extensions/loop/content/shared/img/02.png
browser/extensions/loop/content/shared/img/02@2x.png
browser/extensions/loop/content/shared/img/animated-spinner.svg
browser/extensions/loop/content/shared/img/audio-call-avatar.svg
browser/extensions/loop/content/shared/img/audio-default-16x16@1.5x.png
browser/extensions/loop/content/shared/img/audio-default-16x16@2x.png
browser/extensions/loop/content/shared/img/audio-hover.svg
browser/extensions/loop/content/shared/img/audio-mute-hover.svg
browser/extensions/loop/content/shared/img/audio-mute.svg
browser/extensions/loop/content/shared/img/audio.svg
browser/extensions/loop/content/shared/img/avatars.svg
browser/extensions/loop/content/shared/img/beta-ribbon.svg
browser/extensions/loop/content/shared/img/cam_audio-no.svg
browser/extensions/loop/content/shared/img/cam_audio.svg
browser/extensions/loop/content/shared/img/cam_audio_h.svg
browser/extensions/loop/content/shared/img/chatbubble-arrow-left.svg
browser/extensions/loop/content/shared/img/chatbubble-arrow-right.svg
browser/extensions/loop/content/shared/img/check.svg
browser/extensions/loop/content/shared/img/ellipsis-v.svg
browser/extensions/loop/content/shared/img/empty_conversations.svg
browser/extensions/loop/content/shared/img/empty_search.svg
browser/extensions/loop/content/shared/img/exit.svg
browser/extensions/loop/content/shared/img/facemute-14x14.png
browser/extensions/loop/content/shared/img/facemute-14x14@2x.png
browser/extensions/loop/content/shared/img/firefox-avatar.svg
browser/extensions/loop/content/shared/img/firefox-logo.png
browser/extensions/loop/content/shared/img/glyph-email-16x16.svg
browser/extensions/loop/content/shared/img/glyph-facebook-16x16.svg
browser/extensions/loop/content/shared/img/glyph-help-16x16.svg
browser/extensions/loop/content/shared/img/glyph-link-16x16.svg
browser/extensions/loop/content/shared/img/glyph-user-16x16.svg
browser/extensions/loop/content/shared/img/hangup-inverse-14x14.png
browser/extensions/loop/content/shared/img/hangup-inverse-14x14@2x.png
browser/extensions/loop/content/shared/img/happy.png
browser/extensions/loop/content/shared/img/hello-web-share.svg
browser/extensions/loop/content/shared/img/hello_logo.svg
browser/extensions/loop/content/shared/img/helloicon.svg
browser/extensions/loop/content/shared/img/icon_32.png
browser/extensions/loop/content/shared/img/icon_64.png
browser/extensions/loop/content/shared/img/icons-10x10.svg
browser/extensions/loop/content/shared/img/icons-14x14.svg
browser/extensions/loop/content/shared/img/icons-16x16.svg
browser/extensions/loop/content/shared/img/media-group-left-hover.svg
browser/extensions/loop/content/shared/img/media-group-right-hover.svg
browser/extensions/loop/content/shared/img/media-group.svg
browser/extensions/loop/content/shared/img/movistar.png
browser/extensions/loop/content/shared/img/movistar@2x.png
browser/extensions/loop/content/shared/img/mute-inverse-14x14.png
browser/extensions/loop/content/shared/img/mute-inverse-14x14@2x.png
browser/extensions/loop/content/shared/img/pause-12x12.svg
browser/extensions/loop/content/shared/img/play-12x12.svg
browser/extensions/loop/content/shared/img/sad.png
browser/extensions/loop/content/shared/img/sad_hello_icon_64x64.svg
browser/extensions/loop/content/shared/img/settings-hover.svg
browser/extensions/loop/content/shared/img/settings.svg
browser/extensions/loop/content/shared/img/sharing-active.svg
browser/extensions/loop/content/shared/img/sharing-hover.svg
browser/extensions/loop/content/shared/img/sharing-pending.svg
browser/extensions/loop/content/shared/img/sharing.svg
browser/extensions/loop/content/shared/img/spinner.png
browser/extensions/loop/content/shared/img/spinner.svg
browser/extensions/loop/content/shared/img/spinner@2x.png
browser/extensions/loop/content/shared/img/stop-12x12.svg
browser/extensions/loop/content/shared/img/telefonica-logo.svg
browser/extensions/loop/content/shared/img/telefonica.png
browser/extensions/loop/content/shared/img/telefonica@2x.png
browser/extensions/loop/content/shared/img/video-hover.svg
browser/extensions/loop/content/shared/img/video-mute-hover.svg
browser/extensions/loop/content/shared/img/video-mute.svg
browser/extensions/loop/content/shared/img/video.svg
browser/extensions/loop/content/shared/img/vivo.png
browser/extensions/loop/content/shared/img/vivo@2x.png
browser/extensions/loop/content/shared/js/actions.js
browser/extensions/loop/content/shared/js/activeRoomStore.js
browser/extensions/loop/content/shared/js/crypto.js
browser/extensions/loop/content/shared/js/dispatcher.js
browser/extensions/loop/content/shared/js/linkifiedTextView.js
browser/extensions/loop/content/shared/js/linkifiedTextView.jsx
browser/extensions/loop/content/shared/js/loopapi-client.js
browser/extensions/loop/content/shared/js/mixins.js
browser/extensions/loop/content/shared/js/models.js
browser/extensions/loop/content/shared/js/otSdkDriver.js
browser/extensions/loop/content/shared/js/store.js
browser/extensions/loop/content/shared/js/textChatStore.js
browser/extensions/loop/content/shared/js/textChatView.js
browser/extensions/loop/content/shared/js/textChatView.jsx
browser/extensions/loop/content/shared/js/urlRegExps.js
browser/extensions/loop/content/shared/js/utils.js
browser/extensions/loop/content/shared/js/validate.js
browser/extensions/loop/content/shared/js/views.js
browser/extensions/loop/content/shared/js/views.jsx
browser/extensions/loop/content/shared/sounds/connected.ogg
browser/extensions/loop/content/shared/sounds/connecting.ogg
browser/extensions/loop/content/shared/sounds/failure.ogg
browser/extensions/loop/content/shared/sounds/message.ogg
browser/extensions/loop/content/shared/sounds/ringtone.ogg
browser/extensions/loop/content/shared/sounds/room-joined-in.ogg
browser/extensions/loop/content/shared/sounds/room-joined.ogg
browser/extensions/loop/content/shared/sounds/room-left.ogg
browser/extensions/loop/content/shared/sounds/terminated.ogg
browser/extensions/loop/content/shared/vendor/backbone-1.2.1.js
browser/extensions/loop/content/shared/vendor/classnames-2.2.0.js
browser/extensions/loop/content/shared/vendor/lodash-3.9.3.js
browser/extensions/loop/content/shared/vendor/react-0.13.3-prod.js
browser/extensions/loop/content/shared/vendor/react-0.13.3.js
browser/extensions/loop/content/shared/vendor/sdk-content/css/ot.css
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/access-denied-chrome.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/access-denied-copy-firefox.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/access-denied-firefox.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/access-predenied-chrome.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/access-prompt-chrome.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/audioonly-publisher.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/audioonly-subscriber.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/buttons.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/loader.gif
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/mic-off.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/mic-on.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/speaker-off.png
browser/extensions/loop/content/shared/vendor/sdk-content/images/rtc/speaker-on.png
browser/extensions/loop/content/shared/vendor/sdk-content/js/dynamic_config.min.js
browser/extensions/loop/content/shared/vendor/sdk.js
browser/extensions/loop/skin/linux/menuPanel.png
browser/extensions/loop/skin/linux/menuPanel@2x.png
browser/extensions/loop/skin/linux/toolbar-inverted.png
browser/extensions/loop/skin/linux/toolbar-inverted@2x.png
browser/extensions/loop/skin/linux/toolbar.png
browser/extensions/loop/skin/linux/toolbar@2x.png
browser/extensions/loop/skin/osx/menuPanel-yosemite.png
browser/extensions/loop/skin/osx/menuPanel-yosemite@2x.png
browser/extensions/loop/skin/osx/menuPanel.png
browser/extensions/loop/skin/osx/menuPanel@2x.png
browser/extensions/loop/skin/osx/platform.css
browser/extensions/loop/skin/osx/toolbar-inverted.png
browser/extensions/loop/skin/osx/toolbar-inverted@2x.png
browser/extensions/loop/skin/osx/toolbar-yosemite.png
browser/extensions/loop/skin/osx/toolbar-yosemite@2x.png
browser/extensions/loop/skin/osx/toolbar.png
browser/extensions/loop/skin/osx/toolbar@2x.png
browser/extensions/loop/skin/shared/loop.css
browser/extensions/loop/skin/windows/menuPanel-aero.png
browser/extensions/loop/skin/windows/menuPanel-aero@2x.png
browser/extensions/loop/skin/windows/menuPanel.png
browser/extensions/loop/skin/windows/menuPanel@2x.png
browser/extensions/loop/skin/windows/platform.css
browser/extensions/loop/skin/windows/toolbar-XP.png
browser/extensions/loop/skin/windows/toolbar-XP@2x.png
browser/extensions/loop/skin/windows/toolbar-aero.png
browser/extensions/loop/skin/windows/toolbar-aero@2x.png
browser/extensions/loop/skin/windows/toolbar-inverted.png
browser/extensions/loop/skin/windows/toolbar-inverted@2x.png
browser/extensions/loop/skin/windows/toolbar-lunaSilver.png
browser/extensions/loop/skin/windows/toolbar-lunaSilver@2x.png
browser/extensions/loop/skin/windows/toolbar-win8.png
browser/extensions/loop/skin/windows/toolbar-win8@2x.png
browser/extensions/loop/skin/windows/toolbar.png
browser/extensions/loop/skin/windows/toolbar@2x.png
browser/extensions/loop/standalone/.gitignore
browser/extensions/loop/standalone/Makefile
browser/extensions/loop/standalone/README.md
browser/extensions/loop/standalone/content/css/webapp.css
browser/extensions/loop/standalone/content/favicon.ico
browser/extensions/loop/standalone/content/img/gum-chrome.svg
browser/extensions/loop/standalone/content/img/gum-firefox.svg
browser/extensions/loop/standalone/content/img/gum-opera.svg
browser/extensions/loop/standalone/content/img/gum-others.svg
browser/extensions/loop/standalone/content/img/hello-logo-text.svg
browser/extensions/loop/standalone/content/img/logo.png
browser/extensions/loop/standalone/content/img/mozilla-logo.svg
browser/extensions/loop/standalone/content/index.html
browser/extensions/loop/standalone/content/js/standaloneAppStore.js
browser/extensions/loop/standalone/content/js/standaloneMetricsStore.js
browser/extensions/loop/standalone/content/js/standaloneMozLoop.js
browser/extensions/loop/standalone/content/js/standaloneRoomViews.js
browser/extensions/loop/standalone/content/js/standaloneRoomViews.jsx
browser/extensions/loop/standalone/content/js/webapp.js
browser/extensions/loop/standalone/content/js/webapp.jsx
browser/extensions/loop/standalone/content/l10n/en-US/loop.properties
browser/extensions/loop/standalone/content/robots.txt
browser/extensions/loop/standalone/content/vendor/l10n-gaia-02ca67948fe8.js
browser/extensions/loop/standalone/content/vendor/l10n-gaia-upstream.txt
browser/extensions/loop/standalone/content/webappEntryPoint.js
browser/extensions/loop/standalone/package.json
browser/extensions/loop/standalone/server.js
browser/extensions/loop/standalone/webpack.config.js
browser/extensions/loop/test/.eslintrc
browser/extensions/loop/test/coverage/index.html
browser/extensions/loop/test/desktop-local/.eslintrc
browser/extensions/loop/test/desktop-local/README.md
browser/extensions/loop/test/desktop-local/conversationAppStore_test.js
browser/extensions/loop/test/desktop-local/conversation_test.js
browser/extensions/loop/test/desktop-local/feedbackViews_test.js
browser/extensions/loop/test/desktop-local/index.html
browser/extensions/loop/test/desktop-local/l10n_test.js
browser/extensions/loop/test/desktop-local/panel_test.js
browser/extensions/loop/test/desktop-local/roomStore_test.js
browser/extensions/loop/test/desktop-local/roomViews_test.js
browser/extensions/loop/test/desktop-local/test_desktop_all.py
browser/extensions/loop/test/index.html
browser/extensions/loop/test/karma/head.js
browser/extensions/loop/test/karma/karma.conf.base.js
browser/extensions/loop/test/karma/karma.coverage.desktop.js
browser/extensions/loop/test/karma/karma.coverage.shared_standalone.js
browser/extensions/loop/test/mochitest/.eslintrc
browser/extensions/loop/test/mochitest/browser.ini
browser/extensions/loop/test/mochitest/browser_LoopRooms_channel.js
browser/extensions/loop/test/mochitest/browser_fxa_login.js
browser/extensions/loop/test/mochitest/browser_loop_fxa_server.js
browser/extensions/loop/test/mochitest/browser_mozLoop_appVersionInfo.js
browser/extensions/loop/test/mochitest/browser_mozLoop_chat.js
browser/extensions/loop/test/mochitest/browser_mozLoop_context.js
browser/extensions/loop/test/mochitest/browser_mozLoop_sharingListeners.js
browser/extensions/loop/test/mochitest/browser_mozLoop_socialShare.js
browser/extensions/loop/test/mochitest/browser_mozLoop_telemetry.js
browser/extensions/loop/test/mochitest/browser_toolbarbutton.js
browser/extensions/loop/test/mochitest/head.js
browser/extensions/loop/test/mochitest/loop_fxa.sjs
browser/extensions/loop/test/mochitest/test_loopLinkClicker_channel.html
browser/extensions/loop/test/package.json
browser/extensions/loop/test/shared/activeRoomStore_test.js
browser/extensions/loop/test/shared/crypto_test.js
browser/extensions/loop/test/shared/dispatcher_test.js
browser/extensions/loop/test/shared/frontend_tester.py
browser/extensions/loop/test/shared/index.html
browser/extensions/loop/test/shared/linkifiedTextView_test.js
browser/extensions/loop/test/shared/loop_mocha_utils.js
browser/extensions/loop/test/shared/loopapi-client_test.js
browser/extensions/loop/test/shared/mixins_test.js
browser/extensions/loop/test/shared/models_test.js
browser/extensions/loop/test/shared/otSdkDriver_test.js
browser/extensions/loop/test/shared/sdk_mock.js
browser/extensions/loop/test/shared/store_test.js
browser/extensions/loop/test/shared/test_shared_all.py
browser/extensions/loop/test/shared/textChatStore_test.js
browser/extensions/loop/test/shared/textChatView_test.js
browser/extensions/loop/test/shared/utils_test.js
browser/extensions/loop/test/shared/validate_test.js
browser/extensions/loop/test/shared/vendor/chai-3.0.0.js
browser/extensions/loop/test/shared/vendor/chai-as-promised-5.1.0.js
browser/extensions/loop/test/shared/vendor/mocha-2.2.5.css
browser/extensions/loop/test/shared/vendor/mocha-2.2.5.js
browser/extensions/loop/test/shared/vendor/sinon-1.16.1.js
browser/extensions/loop/test/shared/views_test.js
browser/extensions/loop/test/standalone/index.html
browser/extensions/loop/test/standalone/standaloneAppStore_test.js
browser/extensions/loop/test/standalone/standaloneMetricsStore_test.js
browser/extensions/loop/test/standalone/standaloneMozLoop_test.js
browser/extensions/loop/test/standalone/standaloneRoomViews_test.js
browser/extensions/loop/test/standalone/test_standalone_all.py
browser/extensions/loop/test/standalone/webapp_test.js
browser/extensions/loop/test/ui-showcase/test_ui-showcase.py
browser/extensions/loop/test/visual-regression/README.md
browser/extensions/loop/test/visual-regression/screenshot
browser/extensions/loop/test/xpcshell/.eslintrc
browser/extensions/loop/test/xpcshell/head.js
browser/extensions/loop/test/xpcshell/test_loopapi_doNotDisturb.js
browser/extensions/loop/test/xpcshell/test_loopapi_internal.js
browser/extensions/loop/test/xpcshell/test_loopapi_prefs.js
browser/extensions/loop/test/xpcshell/test_looppush_initialize.js
browser/extensions/loop/test/xpcshell/test_looprooms.js
browser/extensions/loop/test/xpcshell/test_looprooms_encryption_in_fxa.js
browser/extensions/loop/test/xpcshell/test_looprooms_first_notification.js
browser/extensions/loop/test/xpcshell/test_looprooms_getall.js
browser/extensions/loop/test/xpcshell/test_looprooms_upgrade_to_encryption.js
browser/extensions/loop/test/xpcshell/test_loopservice_dnd.js
browser/extensions/loop/test/xpcshell/test_loopservice_encryptionkey.js
browser/extensions/loop/test/xpcshell/test_loopservice_hawk_errors.js
browser/extensions/loop/test/xpcshell/test_loopservice_hawk_request.js
browser/extensions/loop/test/xpcshell/test_loopservice_initialize.js
browser/extensions/loop/test/xpcshell/test_loopservice_locales.js
browser/extensions/loop/test/xpcshell/test_loopservice_loop_prefs.js
browser/extensions/loop/test/xpcshell/test_loopservice_registration.js
browser/extensions/loop/test/xpcshell/test_loopservice_registration_retry.js
browser/extensions/loop/test/xpcshell/test_loopservice_restart.js
browser/extensions/loop/test/xpcshell/test_loopservice_token_invalid.js
browser/extensions/loop/test/xpcshell/test_loopservice_token_save.js
browser/extensions/loop/test/xpcshell/test_loopservice_token_send.js
browser/extensions/loop/test/xpcshell/test_loopservice_token_validation.js
browser/extensions/loop/test/xpcshell/xpcshell.ini
browser/extensions/loop/ui/README.md
browser/extensions/loop/ui/fake-l10n.js
browser/extensions/loop/ui/fake-mozLoop.js
browser/extensions/loop/ui/index.html
browser/extensions/loop/ui/react-frame-component.js
browser/extensions/loop/ui/sample-img/video-screen-local.png
browser/extensions/loop/ui/sample-img/video-screen-remote.png
browser/extensions/loop/ui/sample-img/video-screen-terminal.png
browser/extensions/loop/ui/ui-showcase.css
browser/extensions/loop/ui/ui-showcase.js
browser/extensions/loop/ui/ui-showcase.jsx
browser/locales/en-US/profile/chrome/userChrome-example.css
browser/locales/en-US/profile/chrome/userContent-example.css
browser/locales/generic/install.rdf
browser/locales/generic/profile/localstore.rdf
browser/locales/generic/profile/mimeTypes.rdf
config/external/nss/nspr-dummy.def
config/external/nss/nss.def
db/sqlite3/src/Makefile.in
db/sqlite3/src/sqlite.def
devtools/client/animationinspector/components.js
devtools/client/fontinspector/font-inspector.css
devtools/client/fontinspector/font-inspector.js
devtools/client/fontinspector/font-inspector.xhtml
devtools/client/fontinspector/moz.build
devtools/client/fontinspector/test/.eslintrc
devtools/client/fontinspector/test/OstrichLicense.txt
devtools/client/fontinspector/test/browser.ini
devtools/client/fontinspector/test/browser_fontinspector.html
devtools/client/fontinspector/test/browser_fontinspector.js
devtools/client/fontinspector/test/browser_fontinspector_edit-previews-show-all.js
devtools/client/fontinspector/test/browser_fontinspector_edit-previews.js
devtools/client/fontinspector/test/browser_fontinspector_theme-change.js
devtools/client/fontinspector/test/head.js
devtools/client/fontinspector/test/ostrich-black.ttf
devtools/client/fontinspector/test/ostrich-regular.ttf
devtools/client/fontinspector/test/test_iframe.html
devtools/client/layoutview/moz.build
devtools/client/layoutview/test/.eslintrc
devtools/client/layoutview/test/browser.ini
devtools/client/layoutview/test/browser_layoutview.js
devtools/client/layoutview/test/browser_layoutview_editablemodel.js
devtools/client/layoutview/test/browser_layoutview_editablemodel_allproperties.js
devtools/client/layoutview/test/browser_layoutview_editablemodel_border.js
devtools/client/layoutview/test/browser_layoutview_editablemodel_stylerules.js
devtools/client/layoutview/test/browser_layoutview_guides.js
devtools/client/layoutview/test/browser_layoutview_rotate-labels-on-sides.js
devtools/client/layoutview/test/browser_layoutview_tooltips.js
devtools/client/layoutview/test/browser_layoutview_update-after-navigation.js
devtools/client/layoutview/test/browser_layoutview_update-after-reload.js
devtools/client/layoutview/test/browser_layoutview_update-in-iframes.js
devtools/client/layoutview/test/doc_layoutview_iframe1.html
devtools/client/layoutview/test/doc_layoutview_iframe2.html
devtools/client/layoutview/test/head.js
devtools/client/layoutview/view.js
devtools/client/layoutview/view.xhtml
devtools/client/markupview/html-editor.js
devtools/client/markupview/markup-view.css
devtools/client/markupview/markup-view.js
devtools/client/markupview/markup-view.xhtml
devtools/client/markupview/moz.build
devtools/client/markupview/test/.eslintrc
devtools/client/markupview/test/actor_events_form.js
devtools/client/markupview/test/browser.ini
devtools/client/markupview/test/browser_markupview_anonymous_01.js
devtools/client/markupview/test/browser_markupview_anonymous_02.js
devtools/client/markupview/test/browser_markupview_anonymous_03.js
devtools/client/markupview/test/browser_markupview_anonymous_04.js
devtools/client/markupview/test/browser_markupview_copy_image_data.js
devtools/client/markupview/test/browser_markupview_css_completion_style_attribute.js
devtools/client/markupview/test/browser_markupview_dragdrop_autoscroll.js
devtools/client/markupview/test/browser_markupview_dragdrop_distance.js
devtools/client/markupview/test/browser_markupview_dragdrop_dragRootNode.js
devtools/client/markupview/test/browser_markupview_dragdrop_escapeKeyPress.js
devtools/client/markupview/test/browser_markupview_dragdrop_invalidNodes.js
devtools/client/markupview/test/browser_markupview_dragdrop_reorder.js
devtools/client/markupview/test/browser_markupview_dragdrop_tooltip.js
devtools/client/markupview/test/browser_markupview_events-overflow.js
devtools/client/markupview/test/browser_markupview_events.js
devtools/client/markupview/test/browser_markupview_events_form.js
devtools/client/markupview/test/browser_markupview_events_jquery_1.0.js
devtools/client/markupview/test/browser_markupview_events_jquery_1.1.js
devtools/client/markupview/test/browser_markupview_events_jquery_1.11.1.js
devtools/client/markupview/test/browser_markupview_events_jquery_1.2.js
devtools/client/markupview/test/browser_markupview_events_jquery_1.3.js
devtools/client/markupview/test/browser_markupview_events_jquery_1.4.js
devtools/client/markupview/test/browser_markupview_events_jquery_1.6.js
devtools/client/markupview/test/browser_markupview_events_jquery_1.7.js
devtools/client/markupview/test/browser_markupview_events_jquery_2.1.1.js
devtools/client/markupview/test/browser_markupview_html_edit_01.js
devtools/client/markupview/test/browser_markupview_html_edit_02.js
devtools/client/markupview/test/browser_markupview_html_edit_03.js
devtools/client/markupview/test/browser_markupview_image_tooltip.js
devtools/client/markupview/test/browser_markupview_image_tooltip_mutations.js
devtools/client/markupview/test/browser_markupview_keybindings_01.js
devtools/client/markupview/test/browser_markupview_keybindings_02.js
devtools/client/markupview/test/browser_markupview_keybindings_03.js
devtools/client/markupview/test/browser_markupview_keybindings_04.js
devtools/client/markupview/test/browser_markupview_keybindings_delete_attributes.js
devtools/client/markupview/test/browser_markupview_links_01.js
devtools/client/markupview/test/browser_markupview_links_02.js
devtools/client/markupview/test/browser_markupview_links_03.js
devtools/client/markupview/test/browser_markupview_links_04.js
devtools/client/markupview/test/browser_markupview_links_05.js
devtools/client/markupview/test/browser_markupview_links_06.js
devtools/client/markupview/test/browser_markupview_links_07.js
devtools/client/markupview/test/browser_markupview_load_01.js
devtools/client/markupview/test/browser_markupview_mutation_01.js
devtools/client/markupview/test/browser_markupview_mutation_02.js
devtools/client/markupview/test/browser_markupview_navigation.js
devtools/client/markupview/test/browser_markupview_node_not_displayed_01.js
devtools/client/markupview/test/browser_markupview_node_not_displayed_02.js
devtools/client/markupview/test/browser_markupview_pagesize_01.js
devtools/client/markupview/test/browser_markupview_pagesize_02.js
devtools/client/markupview/test/browser_markupview_remove_xul_attributes.js
devtools/client/markupview/test/browser_markupview_search_01.js
devtools/client/markupview/test/browser_markupview_tag_edit_01.js
devtools/client/markupview/test/browser_markupview_tag_edit_02.js
devtools/client/markupview/test/browser_markupview_tag_edit_03.js
devtools/client/markupview/test/browser_markupview_tag_edit_04.js
devtools/client/markupview/test/browser_markupview_tag_edit_05.js
devtools/client/markupview/test/browser_markupview_tag_edit_06.js
devtools/client/markupview/test/browser_markupview_tag_edit_07.js
devtools/client/markupview/test/browser_markupview_tag_edit_08.js
devtools/client/markupview/test/browser_markupview_tag_edit_09.js
devtools/client/markupview/test/browser_markupview_tag_edit_10.js
devtools/client/markupview/test/browser_markupview_tag_edit_11.js
devtools/client/markupview/test/browser_markupview_tag_edit_12.js
devtools/client/markupview/test/browser_markupview_tag_edit_13-other.js
devtools/client/markupview/test/browser_markupview_textcontent_edit_01.js
devtools/client/markupview/test/browser_markupview_toggle_01.js
devtools/client/markupview/test/browser_markupview_toggle_02.js
devtools/client/markupview/test/browser_markupview_toggle_03.js
devtools/client/markupview/test/browser_markupview_update-on-navigtion.js
devtools/client/markupview/test/doc_markup_anonymous.html
devtools/client/markupview/test/doc_markup_dragdrop.html
devtools/client/markupview/test/doc_markup_dragdrop_autoscroll.html
devtools/client/markupview/test/doc_markup_edit.html
devtools/client/markupview/test/doc_markup_events-overflow.html
devtools/client/markupview/test/doc_markup_events.html
devtools/client/markupview/test/doc_markup_events_form.html
devtools/client/markupview/test/doc_markup_events_jquery.html
devtools/client/markupview/test/doc_markup_flashing.html
devtools/client/markupview/test/doc_markup_links.html
devtools/client/markupview/test/doc_markup_mutation.html
devtools/client/markupview/test/doc_markup_navigation.html
devtools/client/markupview/test/doc_markup_not_displayed.html
devtools/client/markupview/test/doc_markup_pagesize_01.html
devtools/client/markupview/test/doc_markup_pagesize_02.html
devtools/client/markupview/test/doc_markup_search.html
devtools/client/markupview/test/doc_markup_svg_attributes.html
devtools/client/markupview/test/doc_markup_toggle.html
devtools/client/markupview/test/doc_markup_tooltip.png
devtools/client/markupview/test/doc_markup_xul.xul
devtools/client/markupview/test/head.js
devtools/client/markupview/test/helper_attributes_test_runner.js
devtools/client/markupview/test/helper_events_test_runner.js
devtools/client/markupview/test/helper_outerhtml_test_runner.js
devtools/client/markupview/test/lib_jquery_1.0.js
devtools/client/markupview/test/lib_jquery_1.1.js
devtools/client/markupview/test/lib_jquery_1.11.1_min.js
devtools/client/markupview/test/lib_jquery_1.2_min.js
devtools/client/markupview/test/lib_jquery_1.3_min.js
devtools/client/markupview/test/lib_jquery_1.4_min.js
devtools/client/markupview/test/lib_jquery_1.6_min.js
devtools/client/markupview/test/lib_jquery_1.7_min.js
devtools/client/markupview/test/lib_jquery_2.1.1_min.js
devtools/client/memory/components/tree-item.js
devtools/client/shared/observable-object.js
devtools/client/shared/test/browser_observableobject.js
devtools/client/styleinspector/computed-view.js
devtools/client/styleinspector/computedview.xhtml
devtools/client/styleinspector/cssruleview.xhtml
devtools/client/styleinspector/moz.build
devtools/client/styleinspector/rule-view.js
devtools/client/styleinspector/ruleview.css
devtools/client/styleinspector/style-inspector-menu.js
devtools/client/styleinspector/style-inspector-overlays.js
devtools/client/styleinspector/style-inspector.js
devtools/client/styleinspector/test/.eslintrc
devtools/client/styleinspector/test/browser.ini
devtools/client/styleinspector/test/browser_computedview_browser-styles.js
devtools/client/styleinspector/test/browser_computedview_cycle_color.js
devtools/client/styleinspector/test/browser_computedview_getNodeInfo.js
devtools/client/styleinspector/test/browser_computedview_keybindings_01.js
devtools/client/styleinspector/test/browser_computedview_keybindings_02.js
devtools/client/styleinspector/test/browser_computedview_matched-selectors-toggle.js
devtools/client/styleinspector/test/browser_computedview_matched-selectors_01.js
devtools/client/styleinspector/test/browser_computedview_matched-selectors_02.js
devtools/client/styleinspector/test/browser_computedview_media-queries.js
devtools/client/styleinspector/test/browser_computedview_no-results-placeholder.js
devtools/client/styleinspector/test/browser_computedview_original-source-link.js
devtools/client/styleinspector/test/browser_computedview_pseudo-element_01.js
devtools/client/styleinspector/test/browser_computedview_refresh-on-style-change_01.js
devtools/client/styleinspector/test/browser_computedview_search-filter.js
devtools/client/styleinspector/test/browser_computedview_search-filter_clear.js
devtools/client/styleinspector/test/browser_computedview_search-filter_context-menu.js
devtools/client/styleinspector/test/browser_computedview_search-filter_escape-keypress.js
devtools/client/styleinspector/test/browser_computedview_select-and-copy-styles.js
devtools/client/styleinspector/test/browser_computedview_style-editor-link.js
devtools/client/styleinspector/test/browser_ruleview_add-property-and-reselect.js
devtools/client/styleinspector/test/browser_ruleview_add-property-cancel_01.js
devtools/client/styleinspector/test/browser_ruleview_add-property-cancel_02.js
devtools/client/styleinspector/test/browser_ruleview_add-property-cancel_03.js
devtools/client/styleinspector/test/browser_ruleview_add-property-svg.js
devtools/client/styleinspector/test/browser_ruleview_add-property_01.js
devtools/client/styleinspector/test/browser_ruleview_add-property_02.js
devtools/client/styleinspector/test/browser_ruleview_add-rule_01.js
devtools/client/styleinspector/test/browser_ruleview_add-rule_02.js
devtools/client/styleinspector/test/browser_ruleview_add-rule_03.js
devtools/client/styleinspector/test/browser_ruleview_add-rule_04.js
devtools/client/styleinspector/test/browser_ruleview_add-rule_pseudo_class.js
devtools/client/styleinspector/test/browser_ruleview_authored.js
devtools/client/styleinspector/test/browser_ruleview_colorUnit.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-and-image-tooltip_01.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-and-image-tooltip_02.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-appears-on-swatch-click.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-commit-on-ENTER.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-edit-gradient.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-hides-on-tooltip.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-multiple-changes.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-release-outside-frame.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-revert-on-ESC.js
devtools/client/styleinspector/test/browser_ruleview_colorpicker-swatch-displayed.js
devtools/client/styleinspector/test/browser_ruleview_completion-existing-property_01.js
devtools/client/styleinspector/test/browser_ruleview_completion-existing-property_02.js
devtools/client/styleinspector/test/browser_ruleview_completion-new-property_01.js
devtools/client/styleinspector/test/browser_ruleview_completion-new-property_02.js
devtools/client/styleinspector/test/browser_ruleview_completion-new-property_03.js
devtools/client/styleinspector/test/browser_ruleview_completion-popup-hidden-after-navigation.js
devtools/client/styleinspector/test/browser_ruleview_computed-lists_01.js
devtools/client/styleinspector/test/browser_ruleview_computed-lists_02.js
devtools/client/styleinspector/test/browser_ruleview_content_01.js
devtools/client/styleinspector/test/browser_ruleview_content_02.js
devtools/client/styleinspector/test/browser_ruleview_context-menu-show-mdn-docs-01.js
devtools/client/styleinspector/test/browser_ruleview_context-menu-show-mdn-docs-02.js
devtools/client/styleinspector/test/browser_ruleview_context-menu-show-mdn-docs-03.js
devtools/client/styleinspector/test/browser_ruleview_copy_styles.js
devtools/client/styleinspector/test/browser_ruleview_cssom.js
devtools/client/styleinspector/test/browser_ruleview_cubicbezier-appears-on-swatch-click.js
devtools/client/styleinspector/test/browser_ruleview_cubicbezier-commit-on-ENTER.js
devtools/client/styleinspector/test/browser_ruleview_cubicbezier-revert-on-ESC.js
devtools/client/styleinspector/test/browser_ruleview_custom.js
devtools/client/styleinspector/test/browser_ruleview_cycle-color.js
devtools/client/styleinspector/test/browser_ruleview_edit-property-cancel.js
devtools/client/styleinspector/test/browser_ruleview_edit-property-commit.js
devtools/client/styleinspector/test/browser_ruleview_edit-property-computed.js
devtools/client/styleinspector/test/browser_ruleview_edit-property-increments.js
devtools/client/styleinspector/test/browser_ruleview_edit-property-order.js
devtools/client/styleinspector/test/browser_ruleview_edit-property-remove_01.js
devtools/client/styleinspector/test/browser_ruleview_edit-property-remove_02.js
devtools/client/styleinspector/test/browser_ruleview_edit-property-remove_03.js
devtools/client/styleinspector/test/browser_ruleview_edit-property_01.js
devtools/client/styleinspector/test/browser_ruleview_edit-property_02.js
devtools/client/styleinspector/test/browser_ruleview_edit-property_03.js
devtools/client/styleinspector/test/browser_ruleview_edit-property_04.js
devtools/client/styleinspector/test/browser_ruleview_edit-property_05.js
devtools/client/styleinspector/test/browser_ruleview_edit-property_06.js
devtools/client/styleinspector/test/browser_ruleview_edit-property_07.js
devtools/client/styleinspector/test/browser_ruleview_edit-property_08.js
devtools/client/styleinspector/test/browser_ruleview_edit-selector-commit.js
devtools/client/styleinspector/test/browser_ruleview_edit-selector_01.js
devtools/client/styleinspector/test/browser_ruleview_edit-selector_02.js
devtools/client/styleinspector/test/browser_ruleview_edit-selector_03.js
devtools/client/styleinspector/test/browser_ruleview_edit-selector_04.js
devtools/client/styleinspector/test/browser_ruleview_edit-selector_05.js
devtools/client/styleinspector/test/browser_ruleview_edit-selector_06.js
devtools/client/styleinspector/test/browser_ruleview_editable-field-focus_01.js
devtools/client/styleinspector/test/browser_ruleview_editable-field-focus_02.js
devtools/client/styleinspector/test/browser_ruleview_eyedropper.js
devtools/client/styleinspector/test/browser_ruleview_filtereditor-appears-on-swatch-click.js
devtools/client/styleinspector/test/browser_ruleview_filtereditor-commit-on-ENTER.js
devtools/client/styleinspector/test/browser_ruleview_filtereditor-revert-on-ESC.js
devtools/client/styleinspector/test/browser_ruleview_guessIndentation.js
devtools/client/styleinspector/test/browser_ruleview_inherited-properties_01.js
devtools/client/styleinspector/test/browser_ruleview_inherited-properties_02.js
devtools/client/styleinspector/test/browser_ruleview_inherited-properties_03.js
devtools/client/styleinspector/test/browser_ruleview_keybindings.js
devtools/client/styleinspector/test/browser_ruleview_keyframeLineNumbers.js
devtools/client/styleinspector/test/browser_ruleview_keyframes-rule_01.js
devtools/client/styleinspector/test/browser_ruleview_keyframes-rule_02.js
devtools/client/styleinspector/test/browser_ruleview_lineNumbers.js
devtools/client/styleinspector/test/browser_ruleview_livepreview.js
devtools/client/styleinspector/test/browser_ruleview_mark_overridden_01.js
devtools/client/styleinspector/test/browser_ruleview_mark_overridden_02.js
devtools/client/styleinspector/test/browser_ruleview_mark_overridden_03.js
devtools/client/styleinspector/test/browser_ruleview_mark_overridden_04.js
devtools/client/styleinspector/test/browser_ruleview_mark_overridden_05.js
devtools/client/styleinspector/test/browser_ruleview_mark_overridden_06.js
devtools/client/styleinspector/test/browser_ruleview_mark_overridden_07.js
devtools/client/styleinspector/test/browser_ruleview_mathml-element.js
devtools/client/styleinspector/test/browser_ruleview_media-queries.js
devtools/client/styleinspector/test/browser_ruleview_multiple-properties-duplicates.js
devtools/client/styleinspector/test/browser_ruleview_multiple-properties-priority.js
devtools/client/styleinspector/test/browser_ruleview_multiple-properties-unfinished_01.js
devtools/client/styleinspector/test/browser_ruleview_multiple-properties-unfinished_02.js
devtools/client/styleinspector/test/browser_ruleview_multiple_properties_01.js
devtools/client/styleinspector/test/browser_ruleview_multiple_properties_02.js
devtools/client/styleinspector/test/browser_ruleview_original-source-link.js
devtools/client/styleinspector/test/browser_ruleview_pseudo-element_01.js
devtools/client/styleinspector/test/browser_ruleview_pseudo-element_02.js
devtools/client/styleinspector/test/browser_ruleview_pseudo_lock_options.js
devtools/client/styleinspector/test/browser_ruleview_refresh-no-flicker.js
devtools/client/styleinspector/test/browser_ruleview_refresh-on-attribute-change_01.js
devtools/client/styleinspector/test/browser_ruleview_refresh-on-attribute-change_02.js
devtools/client/styleinspector/test/browser_ruleview_refresh-on-style-change.js
devtools/client/styleinspector/test/browser_ruleview_search-filter-computed-list_01.js
devtools/client/styleinspector/test/browser_ruleview_search-filter-computed-list_02.js
devtools/client/styleinspector/test/browser_ruleview_search-filter-computed-list_03.js
devtools/client/styleinspector/test/browser_ruleview_search-filter-computed-list_04.js
devtools/client/styleinspector/test/browser_ruleview_search-filter-computed-list_expander.js
devtools/client/styleinspector/test/browser_ruleview_search-filter-overridden-property.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_01.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_02.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_03.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_04.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_05.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_06.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_07.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_08.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_09.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_10.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_context-menu.js
devtools/client/styleinspector/test/browser_ruleview_search-filter_escape-keypress.js
devtools/client/styleinspector/test/browser_ruleview_select-and-copy-styles.js
devtools/client/styleinspector/test/browser_ruleview_selector-highlighter_01.js
devtools/client/styleinspector/test/browser_ruleview_selector-highlighter_02.js
devtools/client/styleinspector/test/browser_ruleview_selector-highlighter_03.js
devtools/client/styleinspector/test/browser_ruleview_selector_highlight.js
devtools/client/styleinspector/test/browser_ruleview_strict-search-filter-computed-list_01.js
devtools/client/styleinspector/test/browser_ruleview_strict-search-filter_01.js
devtools/client/styleinspector/test/browser_ruleview_strict-search-filter_02.js
devtools/client/styleinspector/test/browser_ruleview_strict-search-filter_03.js
devtools/client/styleinspector/test/browser_ruleview_style-editor-link.js
devtools/client/styleinspector/test/browser_ruleview_urls-clickable.js
devtools/client/styleinspector/test/browser_ruleview_user-agent-styles-uneditable.js
devtools/client/styleinspector/test/browser_ruleview_user-agent-styles.js
devtools/client/styleinspector/test/browser_ruleview_user-property-reset.js
devtools/client/styleinspector/test/browser_styleinspector_context-menu-copy-color_01.js
devtools/client/styleinspector/test/browser_styleinspector_context-menu-copy-color_02.js
devtools/client/styleinspector/test/browser_styleinspector_context-menu-copy-urls.js
devtools/client/styleinspector/test/browser_styleinspector_csslogic-content-stylesheets.js
devtools/client/styleinspector/test/browser_styleinspector_output-parser.js
devtools/client/styleinspector/test/browser_styleinspector_refresh_when_active.js
devtools/client/styleinspector/test/browser_styleinspector_tooltip-background-image.js
devtools/client/styleinspector/test/browser_styleinspector_tooltip-closes-on-new-selection.js
devtools/client/styleinspector/test/browser_styleinspector_tooltip-longhand-fontfamily.js
devtools/client/styleinspector/test/browser_styleinspector_tooltip-multiple-background-images.js
devtools/client/styleinspector/test/browser_styleinspector_tooltip-shorthand-fontfamily.js
devtools/client/styleinspector/test/browser_styleinspector_tooltip-size.js
devtools/client/styleinspector/test/browser_styleinspector_transform-highlighter-01.js
devtools/client/styleinspector/test/browser_styleinspector_transform-highlighter-02.js
devtools/client/styleinspector/test/browser_styleinspector_transform-highlighter-03.js
devtools/client/styleinspector/test/browser_styleinspector_transform-highlighter-04.js
devtools/client/styleinspector/test/doc_content_stylesheet.html
devtools/client/styleinspector/test/doc_content_stylesheet.xul
devtools/client/styleinspector/test/doc_content_stylesheet_imported.css
devtools/client/styleinspector/test/doc_content_stylesheet_imported2.css
devtools/client/styleinspector/test/doc_content_stylesheet_linked.css
devtools/client/styleinspector/test/doc_content_stylesheet_script.css
devtools/client/styleinspector/test/doc_content_stylesheet_xul.css
devtools/client/styleinspector/test/doc_copystyles.css
devtools/client/styleinspector/test/doc_copystyles.html
devtools/client/styleinspector/test/doc_cssom.html
devtools/client/styleinspector/test/doc_custom.html
devtools/client/styleinspector/test/doc_filter.html
devtools/client/styleinspector/test/doc_frame_script.js
devtools/client/styleinspector/test/doc_keyframeLineNumbers.html
devtools/client/styleinspector/test/doc_keyframeanimation.css
devtools/client/styleinspector/test/doc_keyframeanimation.html
devtools/client/styleinspector/test/doc_matched_selectors.html
devtools/client/styleinspector/test/doc_media_queries.html
devtools/client/styleinspector/test/doc_pseudoelement.html
devtools/client/styleinspector/test/doc_ruleLineNumbers.html
devtools/client/styleinspector/test/doc_sourcemaps.css
devtools/client/styleinspector/test/doc_sourcemaps.css.map
devtools/client/styleinspector/test/doc_sourcemaps.html
devtools/client/styleinspector/test/doc_sourcemaps.scss
devtools/client/styleinspector/test/doc_style_editor_link.css
devtools/client/styleinspector/test/doc_test_image.png
devtools/client/styleinspector/test/doc_urls_clickable.css
devtools/client/styleinspector/test/doc_urls_clickable.html
devtools/client/styleinspector/test/head.js
devtools/client/styleinspector/utils.js
devtools/client/themes/computedview.css
devtools/client/themes/font-inspector.css
devtools/client/themes/layoutview.css
devtools/client/themes/markup-view.css
devtools/client/themes/ruleview.css
devtools/client/webconsole/test/browser_webconsole_bug_915141_toggle_response_logging_with_keyboard.js
devtools/server/tests/mochitest/chrome.ini
devtools/server/tests/unit/test_setBreakpoint-on-column-with-no-offests-in-gcd-script.js
devtools/server/tests/unit/test_setBreakpoint-on-column-with-no-offsets-at-end-of-script.js
devtools/server/tests/unit/test_setBreakpoint-on-column-with-no-offsets-in-gcd-script.js
devtools/server/tests/unit/test_setBreakpoint-on-column-with-no-offsets.js
devtools/server/tests/unit/test_setBreakpoint-on-line-with-no-offets-in-gcd-script.js
devtools/shared/styleinspector/css-logic.js
devtools/shared/styleinspector/moz.build
dom/animation/test/css-animations/file_timeline-get-animations.html
dom/animation/test/css-animations/test_timeline-get-animations.html
dom/animation/test/css-transitions/file_timeline-get-animations.html
dom/animation/test/css-transitions/test_timeline-get-animations.html
dom/base/nsFormData.cpp
dom/base/nsFormData.h
dom/base/test/test_bug827160.html
dom/base/test/test_object.html
dom/bluetooth/common/BluetoothCommon.h
dom/bluetooth/common/BluetoothInterface.h
dom/bluetooth/common/BluetoothUtils.cpp
dom/bluetooth/common/BluetoothUtils.h
dom/browser-element/mochitest/file_processingAudioSample.html
dom/html/test/file_fullscreen-esc-context-menu.html
dom/ipc/ContentParent.cpp
dom/media/platforms/ffmpeg/libav53/include/libavformat/avformat.h
dom/media/platforms/ffmpeg/libav53/include/libavformat/avio.h
dom/media/platforms/ffmpeg/libav53/include/libavformat/version.h
dom/media/platforms/ffmpeg/libav54/include/libavformat/avformat.h
dom/media/platforms/ffmpeg/libav54/include/libavformat/avio.h
dom/media/platforms/ffmpeg/libav54/include/libavformat/version.h
dom/media/platforms/ffmpeg/libav55/include/libavformat/avformat.h
dom/media/platforms/ffmpeg/libav55/include/libavformat/avio.h
dom/media/platforms/ffmpeg/libav55/include/libavformat/version.h
dom/tests/mochitest/chrome/chrome.ini
editor/libeditor/tests/chrome.ini
embedding/android/geckoview_example/AndroidManifest.xml.in
embedding/android/geckoview_example/GeckoViewExample.java
embedding/android/geckoview_example/Makefile.in
embedding/android/geckoview_example/main.xml
embedding/android/geckoview_example/moz.build
extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/README_en_US.txt
extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/en_US.aff
extensions/spellcheck/locales/en-US/hunspell/dictionary-sources/orig/en_US.dic
gfx/harfbuzz/src/Makefile.in
gfx/src/nsRenderingContext.cpp
intl/uconv/nsICurrentCharsetListener.idl
js/public/TraceableVector.h
js/src/asmjs/WasmIR.h
js/src/jit-test/tests/arguments/defaults-bug790424.js
js/src/jit-test/tests/arguments/genexpr-1.js
js/src/jit-test/tests/arguments/genexpr-2.js
js/src/jit-test/tests/arguments/genexpr-3.js
js/src/jit-test/tests/arguments/genexpr-4.js
js/src/jit-test/tests/arguments/genexpr-5.js
js/src/jit-test/tests/arguments/genexpr-6.js
js/src/jit-test/tests/asm.js/testBug1100237.js
js/src/jit-test/tests/asm.js/testResize.js
js/src/jit-test/tests/asm.js/testTimeout7-nosignals.js
js/src/jit-test/tests/asm.js/testTimeout7.js
js/src/jit-test/tests/auto-regress/bug487570.js
js/src/jit-test/tests/auto-regress/bug488963.js
js/src/jit-test/tests/auto-regress/bug496270.js
js/src/jit-test/tests/auto-regress/bug589093.js
js/src/jit-test/tests/auto-regress/bug595911.js
js/src/jit-test/tests/auto-regress/bug622318.js
js/src/jit-test/tests/auto-regress/bug691593.js
js/src/jit-test/tests/auto-regress/bug743000.js
js/src/jit-test/tests/auto-regress/bug776314.js
js/src/jit-test/tests/auto-regress/bug780405.js
js/src/jit-test/tests/basic/bug510655.js
js/src/jit-test/tests/basic/bug630377.js
js/src/jit-test/tests/basic/bug660538.js
js/src/jit-test/tests/basic/bug790629-1.js
js/src/jit-test/tests/basic/bug790629-2.js
js/src/jit-test/tests/basic/bug790629-3.js
js/src/jit-test/tests/basic/bug790629-4.js
js/src/jit-test/tests/basic/bug864099.js
js/src/jit-test/tests/basic/function-tosource-genexpr.js
js/src/jit-test/tests/basic/testArrayBufferTransfer.js
js/src/jit-test/tests/basic/testArrayComp1.js
js/src/jit-test/tests/basic/testArrayComp2.js
js/src/jit-test/tests/basic/testBug709929.js
js/src/jit-test/tests/basic/testBug773927.js
js/src/jit-test/tests/basic/testGCNewbornGenerator.js
js/src/jit-test/tests/basic/testImplicitArgumentsInGenExprs.js
js/src/jit-test/tests/closures/flat-closure-3.js
js/src/jit-test/tests/closures/incr-exit-3.js
js/src/jit-test/tests/collections/Map-constructor-generator-2.js
js/src/jit-test/tests/collections/Set-constructor-generator-2.js
js/src/jit-test/tests/collections/WeakMap-clear.js
js/src/jit-test/tests/collections/WeakMap-constructor-generator-2.js
js/src/jit-test/tests/collections/WeakSet-clear.js
js/src/jit-test/tests/for-of/array-comprehension.js
js/src/jit-test/tests/for-of/array-holes-7.js
js/src/jit-test/tests/for-of/bug-728079-js17-2.js
js/src/jit-test/tests/for-of/bug-728079-js17-3.js
js/src/jit-test/tests/for-of/generators-4.js
js/src/jit-test/tests/generators/star-generator-forin.js
js/src/jit-test/tests/ion/bug956166.js
js/src/jit-test/tests/jaeger/regalloc-1.js
js/src/jsweakcache.h
js/src/tests/js1_5/Regress/regress-352009.js
js/src/tests/js1_6/Regress/regress-350417.js
js/src/tests/js1_6/extensions/regress-475144.js
js/src/tests/js1_7/extensions/regress-455982-01.js
js/src/tests/js1_7/extensions/regress-455982-02.js
js/src/tests/js1_7/geniter/evens.js
js/src/tests/js1_7/geniter/regress-345736.js
js/src/tests/js1_7/iterable/regress-412467.js
js/src/tests/js1_7/regress/regress-428706.js
js/src/tests/js1_7/regress/regress-461235.js
js/src/tests/js1_7/regress/regress-461945.js
js/src/tests/js1_8/extensions/regress-385393-01.js
js/src/tests/js1_8/extensions/regress-385393-10.js
js/src/tests/js1_8/extensions/regress-385393-11.js
js/src/tests/js1_8/extensions/regress-452476.js
js/src/tests/js1_8/extensions/regress-455973.js
js/src/tests/js1_8/genexps/arguments-property-access-in-generator.js
js/src/tests/js1_8/genexps/browser.js
js/src/tests/js1_8/genexps/regress-349331.js
js/src/tests/js1_8/genexps/regress-380237-01.js
js/src/tests/js1_8/genexps/regress-380237-02.js
js/src/tests/js1_8/genexps/regress-380237-04.js
js/src/tests/js1_8/genexps/regress-634472.js
js/src/tests/js1_8/genexps/regress-666852.js
js/src/tests/js1_8/genexps/regress-667131.js
js/src/tests/js1_8/regress/regress-463783.js
js/src/tests/js1_8_1/jit/testDeepBailFromNonNative.js
js/src/tests/js1_8_1/regress/regress-452498-038.js
js/src/tests/js1_8_1/regress/regress-452498-052.js
js/src/tests/js1_8_1/regress/regress-452498-068.js
js/src/tests/js1_8_1/regress/regress-452498-098.js
js/src/tests/js1_8_1/regress/regress-452498-099-a.js
js/src/tests/js1_8_1/regress/regress-452498-099.js
js/src/tests/js1_8_1/regress/regress-452498-119.js
js/src/tests/js1_8_1/regress/regress-452498-130.js
js/src/tests/js1_8_1/regress/regress-452498-135-a.js
js/src/tests/js1_8_1/regress/regress-452498-138.js
js/src/tests/js1_8_1/regress/regress-452498-139.js
js/src/tests/js1_8_1/regress/regress-507424.js
js/src/tests/js1_8_1/regress/regress-515885.js
js/src/tests/js1_8_1/strict/generator-eval-arguments.js
js/src/tests/js1_8_5/extensions/regress-627859.js
js/src/tests/js1_8_5/regress/no-array-comprehension-length-limit.js
js/src/tests/js1_8_5/regress/regress-541255-0.js
js/src/tests/js1_8_5/regress/regress-541255-1.js
js/src/tests/js1_8_5/regress/regress-541255-2.js
js/src/tests/js1_8_5/regress/regress-541255-4.js
js/src/tests/js1_8_5/regress/regress-576847.js
js/src/tests/js1_8_5/regress/regress-620750.js
layout/base/nsRefreshDriver.cpp
media/webrtc/signaling/test/standalone/jsep_session_unittest_standalone.cpp
media/webrtc/signaling/test/standalone/mediaconduit_unittests_standalone.cpp
media/webrtc/signaling/test/standalone/mediapipeline_unittest_standalone.cpp
media/webrtc/signaling/test/standalone/moz.build
media/webrtc/signaling/test/standalone/sdp_unittests_standalone.cpp
media/webrtc/signaling/test/standalone/signaling_unittests_standalone.cpp
memory/replace/logalloc/Makefile.in
mobile/android/app/mobile.js
mobile/android/base/java/org/mozilla/gecko/dlc/DownloadContentHelper.java
mobile/android/base/java/org/mozilla/gecko/gfx/GeckoLayerClient.java
mobile/android/base/java/org/mozilla/gecko/health/BrowserHealthRecorder.java
mobile/android/base/java/org/mozilla/gecko/health/BrowserHealthReporter.java
mobile/android/base/resources/drawable-hdpi/suggestedsites_fxaddons.png
mobile/android/base/resources/drawable-hdpi/suggestedsites_fxmarketplace.png
mobile/android/base/resources/drawable-hdpi/suggestedsites_fxsupport.png
mobile/android/base/resources/drawable-hdpi/suggestedsites_mozilla.png
mobile/android/base/resources/drawable-xhdpi/suggestedsites_fxaddons.png
mobile/android/base/resources/drawable-xhdpi/suggestedsites_fxsupport.png
mobile/android/base/resources/drawable-xhdpi/suggestedsites_mozilla.png
mobile/android/base/resources/drawable-xxhdpi/suggestedsites_fxaddons.png
mobile/android/base/resources/drawable-xxhdpi/suggestedsites_fxmarketplace.png
mobile/android/base/resources/drawable-xxhdpi/suggestedsites_fxsupport.png
mobile/android/base/resources/drawable-xxhdpi/suggestedsites_mozilla.png
mobile/android/base/resources/layout/home_empty_reading_panel.xml
mobile/android/base/resources/layout/home_reading_list_panel.xml
mobile/android/base/resources/layout/home_recent_tabs_panel.xml
mobile/android/extensions/moz.build
mobile/android/installer/package-manifest.in
mobile/android/locales/generic/install.rdf
mobile/android/services/manifests/HealthReportAndroidManifest_activities.xml.in
mobile/android/services/manifests/HealthReportAndroidManifest_permissions.xml.in
mobile/android/services/manifests/HealthReportAndroidManifest_services.xml.in
mobile/android/services/src/main/java/org/mozilla/gecko/background/bagheera/BagheeraClient.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/bagheera/BagheeraRequestDelegate.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/bagheera/BoundedByteArrayEntity.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/bagheera/DeflateHelper.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/datareporting/TelemetryRecorder.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/AndroidConfigurationProvider.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/Environment.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/EnvironmentBuilder.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/EnvironmentV1.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/EnvironmentV2.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportBroadcastReceiver.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportBroadcastService.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportConstants.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportDatabaseStorage.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportDatabases.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportExportedBroadcastReceiver.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportGenerator.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportProvider.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportStorage.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/HealthReportUtils.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/ProfileInformationCache.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/prune/HealthReportPruneService.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/prune/PrunePolicy.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/prune/PrunePolicyDatabaseStorage.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/prune/PrunePolicyStorage.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/upload/AndroidSubmissionClient.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/upload/HealthReportUploadService.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/upload/ObsoleteDocumentTracker.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/upload/SubmissionClient.java
mobile/android/services/src/main/java/org/mozilla/gecko/background/healthreport/upload/SubmissionPolicy.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/MockDatabaseEnvironment.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/MockHealthReportDatabaseStorage.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/MockHealthReportSQLiteOpenHelper.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/MockProfileInformationCache.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/TestEnvironmentBuilder.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/TestEnvironmentV1HashAppender.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/TestHealthReportBroadcastService.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/TestHealthReportDatabaseStorage.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/TestHealthReportGenerator.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/TestHealthReportProvider.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/TestHealthReportSQLiteOpenHelper.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/TestProfileInformationCache.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/prune/TestHealthReportPruneService.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/prune/TestPrunePolicyDatabaseStorage.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/upload/TestAndroidSubmissionClient.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/healthreport/upload/TestHealthReportUploadService.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/telemetry/TestTelemetryRecorder.java
mobile/android/tests/background/junit3/src/org/mozilla/gecko/background/testhelpers/StubDelegate.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/healthreport/prune/test/TestPrunePolicy.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/healthreport/test/HealthReportStorageStub.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/healthreport/upload/test/MockAndroidSubmissionClient.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/healthreport/upload/test/TestObsoleteDocumentTracker.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/healthreport/upload/test/TestSubmissionPolicy.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/healthreport/upload/test/TestSubmissionsTracker.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/healthreport/upload/test/TestTrackingRequestDelegate.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/test/TestBoundedByteArrayEntity.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/test/TestDeflation.java
mobile/android/tests/background/junit4/src/org/mozilla/gecko/background/testhelpers/StubDelegate.java
netwerk/base/ClosingService.cpp
netwerk/base/ClosingService.h
netwerk/protocol/websocket/WebSocketChannel.cpp
python/mozbuild/mozbuild/action/convert_def_file.py
services/common/tests/unit/test_utils_exceptionStr.js
services/common/tests/unit/test_utils_stackTrace.js
services/datareporting/DataReporting.manifest
services/datareporting/DataReportingService.js
services/datareporting/datareporting-prefs.js
services/datareporting/modules-testing/mocks.jsm
services/datareporting/moz.build
services/datareporting/policy.jsm
services/datareporting/tests/xpcshell/head.js
services/datareporting/tests/xpcshell/test_policy.js
services/datareporting/tests/xpcshell/xpcshell.ini
services/docs/datareporting.rst
services/docs/index.rst
services/docs/metrics.rst
services/healthreport/HealthReport.jsm
services/healthreport/HealthReportComponents.manifest
services/healthreport/docs/architecture.rst
services/healthreport/docs/dataformat.rst
services/healthreport/docs/identifiers.rst
services/healthreport/docs/index.rst
services/healthreport/healthreport-prefs.js
services/healthreport/healthreporter.jsm
services/healthreport/modules-testing/utils.jsm
services/healthreport/moz.build
services/healthreport/profile.jsm
services/healthreport/providers.jsm
services/healthreport/tests/xpcshell/head.js
services/healthreport/tests/xpcshell/test_healthreporter.js
services/healthreport/tests/xpcshell/test_load_modules.js
services/healthreport/tests/xpcshell/test_profile.js
services/healthreport/tests/xpcshell/test_provider_addons.js
services/healthreport/tests/xpcshell/test_provider_appinfo.js
services/healthreport/tests/xpcshell/test_provider_crashes.js
services/healthreport/tests/xpcshell/test_provider_hotfix.js
services/healthreport/tests/xpcshell/test_provider_places.js
services/healthreport/tests/xpcshell/test_provider_searches.js
services/healthreport/tests/xpcshell/test_provider_sessions.js
services/healthreport/tests/xpcshell/test_provider_sysinfo.js
services/healthreport/tests/xpcshell/xpcshell.ini
services/metrics/Metrics.jsm
services/metrics/dataprovider.jsm
services/metrics/modules-testing/mocks.jsm
services/metrics/moz.build
services/metrics/providermanager.jsm
services/metrics/storage.jsm
services/metrics/tests/xpcshell/head.js
services/metrics/tests/xpcshell/test_load_modules.js
services/metrics/tests/xpcshell/test_metrics_provider.js
services/metrics/tests/xpcshell/test_metrics_provider_manager.js
services/metrics/tests/xpcshell/test_metrics_storage.js
services/metrics/tests/xpcshell/xpcshell.ini
testing/docker/builder/b2g.env
testing/docker/builder/emulator.env
testing/docker/builder/hg.env
testing/mochitest/mach_commands.py
testing/mochitest/runtests.py
testing/mozbase/mozdebug/mozdebug/mozdebug.py
testing/mozharness/configs/b2g/desktop_linux64.py
testing/mozharness/configs/b2g/releng_sub_linux_configs/64_debug.py
testing/mozharness/configs/mediatests/buildbot_posix_config.py
testing/mozharness/configs/mediatests/buildbot_windows_config.py
testing/mozharness/mozharness/mozilla/testing/firefox_media_tests.py
testing/mozharness/mozharness/mozilla/testing/testbase.py
testing/mozharness/scripts/firefox_media_tests_buildbot.py
testing/taskcluster/scripts/builder/build-b2g-desktop.sh
testing/taskcluster/tasks/branches/cedar/job_flags.yml
testing/taskcluster/tasks/builds/b2g_desktop_base.yml
testing/taskcluster/tasks/builds/b2g_desktop_debug.yml
testing/taskcluster/tasks/builds/b2g_desktop_opt.yml
testing/taskcluster/tasks/phone_test.yml
testing/taskcluster/tasks/tests/b2g_build_test.yml
testing/taskcluster/tasks/tests/b2g_build_unit.yml
testing/taskcluster/tasks/tests/b2g_gaia_js_integration_tests.yml
testing/taskcluster/tasks/tests/b2g_gaia_unit.yml
testing/taskcluster/tasks/tests/b2g_linter.yml
testing/taskcluster/tasks/tests/b2g_mochitest.yml
testing/taskcluster/tasks/tests/b2g_mochitest_oop.yml
testing/taskcluster/tasks/tests/b2g_reftests.yml
testing/taskcluster/tasks/tests/b2g_reftests_sanity_oop.yml
testing/taskcluster/tasks/tests/flame_kk_gaia_ui_test_functional.yml
testing/taskcluster/tasks/tests/flame_kk_gaia_ui_test_functional_dsds.yml
testing/taskcluster/tasks/tests/flame_kk_gaia_ui_test_sanity.yml
testing/taskcluster/tasks/tests/flame_kk_gaia_ui_test_unit.yml
testing/web-platform/meta/MANIFEST.json
testing/web-platform/mozilla/meta/service-workers/service-worker/fetch-request-redirect.https.html.ini
testing/web-platform/mozilla/meta/service-workers/service-worker/navigation-redirect.https.html.ini
toolkit/components/downloads/test/browser/mochitest.ini
toolkit/modules/RemoteWebNavigation.jsm
toolkit/modules/tests/browser/browser_RemoteWebNavigation.js
toolkit/mozapps/extensions/test/browser/browser_debug_button.js
xulrunner/app/profile/Makefile.in
xulrunner/app/profile/chrome/Makefile.in
xulrunner/app/profile/chrome/moz.build
xulrunner/app/profile/chrome/userChrome-example.css
xulrunner/app/profile/chrome/userContent-example.css
xulrunner/app/profile/localstore.rdf
xulrunner/app/profile/moz.build
xulrunner/installer/windows/Header.bmp
xulrunner/installer/windows/Makefile.in
xulrunner/installer/windows/Watermrk.bmp
xulrunner/installer/windows/moz.build
--- a/.eslintignore
+++ b/.eslintignore
@@ -1,28 +1,28 @@
 # Always ignore node_modules.
 **/node_modules/**/*.*
 
 # Exclude expected objdirs.
 obj*/**
 
 # Temporarily ignore HTML files that still need to be fixed.
-browser/extensions/loop/**/*.html
 devtools/**/*.html
 
 # We ignore all these directories by default, until we get them enabled.
 # If you are enabling a directory, please add directory specific exclusions
 # below.
 accessible/**
 addon-sdk/**
 build/**
 caps/**
 chrome/**
 config/**
 db/**
+devtools/**
 docshell/**
 dom/**
 editor/**
 embedding/**
 extensions/**
 gfx/**
 gradle/**
 hal/**
@@ -78,54 +78,23 @@ browser/components/pocket/**
 browser/components/preferences/**
 browser/components/privatebrowsing/**
 browser/components/sessionstore/**
 browser/components/shell/**
 browser/components/tabview/**
 browser/components/translation/**
 browser/components/uitour/**
 browser/extensions/pdfjs/**
+browser/extensions/pocket/content/panels/js/vendor/**
 browser/extensions/shumway/**
 browser/fuel/**
 browser/locales/**
 
-# Loop specific exclusions
-
-# This file currently uses a non-standard (and not on a standards track)
-# if statement within catch.
-browser/extensions/loop/content/modules/MozLoopWorker.js
-# This file currently uses es7 features eslint issue:
-# https://github.com/eslint/espree/issues/125
-browser/extensions/loop/content/modules/MozLoopAPI.jsm
-# Need to fix the configuration for this.
-browser/extensions/loop/bootstrap.js
-# Need to drop the preprocessing (bug 1212428)
-browser/extensions/loop/content/preferences/prefs.js
-# Libs we don't need to check
-browser/extensions/loop/content/panels/vendor
-browser/extensions/loop/content/shared/vendor
-browser/extensions/loop/standalone/content/vendor
-# Libs we don't need to check
-browser/extensions/loop/test/shared/vendor
-# Coverage files
-browser/extensions/loop/test/coverage
-# These are generated react files that we don't need to check
-browser/extensions/loop/content/panels/js/conversation.js
-browser/extensions/loop/content/panels/js/conversationViews.js
-browser/extensions/loop/content/panels/js/panel.js
-browser/extensions/loop/content/panels/js/roomViews.js
-browser/extensions/loop/content/panels/js/feedbackViews.js
-browser/extensions/loop/content/shared/js/textChatView.js
-browser/extensions/loop/content/shared/js/linkifiedTextView.js
-browser/extensions/loop/content/shared/js/views.js
-browser/extensions/loop/standalone/content/js/standaloneRoomViews.js
-browser/extensions/loop/standalone/content/js/webapp.js
-browser/extensions/loop/ui/ui-showcase.js
-# Don't need to check the built tree
-browser/extensions/loop/standalone/dist
+# Ignore all of loop since it is imported from github and checked at source.
+browser/extensions/loop/**
 
 # devtools/ exclusions
 # Ignore d3
 devtools/client/shared/d3.js
 devtools/client/webaudioeditor/lib/dagre-d3.js
 
 # Ignore codemirror
 devtools/client/sourceeditor/codemirror/*.js
@@ -199,13 +168,12 @@ toolkit/components/places/**
 toolkit/content/contentAreaUtils.js
 toolkit/content/widgets/videocontrols.xml
 toolkit/components/jsdownloads/src/DownloadIntegration.jsm
 toolkit/components/search/nsSearchService.js
 toolkit/components/url-classifier/**
 toolkit/components/urlformatter/nsURLFormatter.js
 toolkit/identity/FirefoxAccounts.jsm
 toolkit/modules/AppConstants.jsm
-toolkit/modules/SessionRecorder.jsm
 toolkit/mozapps/downloads/nsHelperAppDlg.js
 toolkit/mozapps/extensions/internal/AddonConstants.jsm
 toolkit/mozapps/update/tests/data/xpcshellConstantsPP.js
 toolkit/webapps/**
--- a/.eslintrc
+++ b/.eslintrc
@@ -1,9 +1,13 @@
 {
   // When adding items to this file please check for effects on sub-directories.
   "plugins": [
     "mozilla"
   ],
+  "rules": {
+    "mozilla/components-imports": 1,
+    "mozilla/import-globals-from": 1,
+  },
   "env": {
     "es6": true
   },
 }
--- a/CLOBBER
+++ b/CLOBBER
@@ -17,9 +17,9 @@
 #
 # Modifying this file will now automatically clobber the buildbot machines \o/
 #
 
 # Are you updating CLOBBER because you think it's needed for your WebIDL
 # changes to stick? As of bug 928195, this shouldn't be necessary! Please
 # don't change CLOBBER for WebIDL changes any more.
 
-Bug 1082598 - updating Skia
+Bug 1228641 - Remove initializer_list from config/stl-headers
--- a/Makefile.in
+++ b/Makefile.in
@@ -213,17 +213,16 @@ ifeq (,$(filter-out Linux SunOS,$(OS_ARC
 MAKE_SYM_STORE_ARGS := -c --vcs-info
 DUMP_SYMS_BIN ?= $(DIST)/host/bin/dump_syms
 MAKE_SYM_STORE_PATH := $(DIST)/bin
 endif
 MAKE_SYM_STORE_ARGS += --install-manifest=$(DEPTH)/_build_manifests/install/dist_include,$(DIST)/include
 
 SYM_STORE_SOURCE_DIRS := $(topsrcdir)
 
-ifndef JS_STANDALONE
 include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
 
 ifdef MOZ_SYMBOLS_EXTRA_BUILDID
 EXTRA_BUILDID := -$(MOZ_SYMBOLS_EXTRA_BUILDID)
 endif
 
 SYMBOL_INDEX_NAME = \
   $(MOZ_APP_NAME)-$(MOZ_APP_VERSION)-$(OS_TARGET)-$(BUILDID)-$(CPU_ARCH)$(EXTRA_BUILDID)-symbols.txt
@@ -256,17 +255,16 @@ endif # MOZ_CRASHREPORTER
 
 uploadsymbols:
 ifdef MOZ_CRASHREPORTER
 ifdef SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE
 	$(PYTHON) -u $(topsrcdir)/toolkit/crashreporter/tools/upload_symbols.py '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
 else
 	$(SHELL) $(topsrcdir)/toolkit/crashreporter/tools/upload_symbols.sh $(SYMBOL_INDEX_NAME) '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
 endif
-endif
 
 # MOZ_SOURCE_STAMP is defined in package-name.mk with a deferred assignment.
 # exporting it makes make run its $(shell) command for each invoked submake,
 # so transform it to an immediate assignment.
 MOZ_SOURCE_STAMP := $(MOZ_SOURCE_STAMP)
 export MOZ_SOURCE_STAMP
 endif
 
--- a/accessible/atk/AccessibleWrap.cpp
+++ b/accessible/atk/AccessibleWrap.cpp
@@ -592,17 +592,18 @@ getNameCB(AtkObject* aAtkObj)
 
   return aAtkObj->name;
 }
 
 static void
 MaybeFireNameChange(AtkObject* aAtkObj, const nsString& aNewName)
 {
   NS_ConvertUTF16toUTF8 newNameUTF8(aNewName);
-  if (aAtkObj->name && newNameUTF8.Equals(aAtkObj->name))
+  if (aAtkObj->name &&
+      !strncmp(aAtkObj->name, newNameUTF8.get(), newNameUTF8.Length()))
     return;
 
   // Below we duplicate the functionality of atk_object_set_name(),
   // but without calling atk_object_get_name(). Instead of
   // atk_object_get_name() we directly access aAtkObj->name. This is because
   // atk_object_get_name() would call getNameCB() which would call
   // MaybeFireNameChange() (or atk_object_set_name() before this problem was
   // fixed) and we would get an infinite recursion.
--- a/accessible/base/AccEvent.cpp
+++ b/accessible/base/AccEvent.cpp
@@ -99,32 +99,32 @@ AccReorderEvent::IsShowHideEventTarget(c
   return 0;
 }
 
 ////////////////////////////////////////////////////////////////////////////////
 // AccHideEvent
 ////////////////////////////////////////////////////////////////////////////////
 
 AccHideEvent::
-  AccHideEvent(Accessible* aTarget, nsINode* aTargetNode, bool aNeedsShutdown) :
-  AccMutationEvent(::nsIAccessibleEvent::EVENT_HIDE, aTarget, aTargetNode),
+  AccHideEvent(Accessible* aTarget, bool aNeedsShutdown) :
+  AccMutationEvent(::nsIAccessibleEvent::EVENT_HIDE, aTarget),
   mNeedsShutdown(aNeedsShutdown)
 {
   mNextSibling = mAccessible->NextSibling();
   mPrevSibling = mAccessible->PrevSibling();
 }
 
 
 ////////////////////////////////////////////////////////////////////////////////
 // AccShowEvent
 ////////////////////////////////////////////////////////////////////////////////
 
 AccShowEvent::
-  AccShowEvent(Accessible* aTarget, nsINode* aTargetNode) :
-  AccMutationEvent(::nsIAccessibleEvent::EVENT_SHOW, aTarget, aTargetNode)
+  AccShowEvent(Accessible* aTarget) :
+  AccMutationEvent(::nsIAccessibleEvent::EVENT_SHOW, aTarget)
 {
 }
 
 
 ////////////////////////////////////////////////////////////////////////////////
 // AccTextSelChangeEvent
 ////////////////////////////////////////////////////////////////////////////////
 
--- a/accessible/base/AccEvent.h
+++ b/accessible/base/AccEvent.h
@@ -207,18 +207,17 @@ private:
 
 
 /**
  * Base class for show and hide accessible events.
  */
 class AccMutationEvent: public AccEvent
 {
 public:
-  AccMutationEvent(uint32_t aEventType, Accessible* aTarget,
-                   nsINode* aTargetNode) :
+  AccMutationEvent(uint32_t aEventType, Accessible* aTarget) :
     AccEvent(aEventType, aTarget, eAutoDetect, eCoalesceMutationTextChange)
   {
     // Don't coalesce these since they are coalesced by reorder event. Coalesce
     // contained text change events.
     mParent = mAccessible->Parent();
   }
   virtual ~AccMutationEvent() { }
 
@@ -245,18 +244,17 @@ protected:
 
 
 /**
  * Accessible hide event.
  */
 class AccHideEvent: public AccMutationEvent
 {
 public:
-  AccHideEvent(Accessible* aTarget, nsINode* aTargetNode,
-               bool aNeedsShutdown = true);
+  explicit AccHideEvent(Accessible* aTarget, bool aNeedsShutdown = true);
 
   // Event
   static const EventGroup kEventGroup = eHideEvent;
   virtual unsigned int GetEventGroups() const override
   {
     return AccMutationEvent::GetEventGroups() | (1U << eHideEvent);
   }
 
@@ -276,17 +274,17 @@ protected:
 
 
 /**
  * Accessible show event.
  */
 class AccShowEvent: public AccMutationEvent
 {
 public:
-  AccShowEvent(Accessible* aTarget, nsINode* aTargetNode);
+  explicit AccShowEvent(Accessible* aTarget);
 
   // Event
   static const EventGroup kEventGroup = eShowEvent;
   virtual unsigned int GetEventGroups() const override
   {
     return AccMutationEvent::GetEventGroups() | (1U << eShowEvent);
   }
 };
--- a/accessible/base/NotificationController.cpp
+++ b/accessible/base/NotificationController.cpp
@@ -384,18 +384,20 @@ NotificationController::WillRefresh(mozi
         parentIPCDoc->SendBindChildDoc(ipcDoc, id);
         continue;
       }
 
       ipcDoc = new DocAccessibleChild(childDoc);
       childDoc->SetIPCDoc(ipcDoc);
       nsCOMPtr<nsITabChild> tabChild =
         do_GetInterface(mDocument->DocumentNode()->GetDocShell());
-      static_cast<TabChild*>(tabChild.get())->
-        SendPDocAccessibleConstructor(ipcDoc, parentIPCDoc, id);
+      if (tabChild) {
+        static_cast<TabChild*>(tabChild.get())->
+          SendPDocAccessibleConstructor(ipcDoc, parentIPCDoc, id);
+      }
     }
   }
 
   mObservingState = eRefreshObserving;
   if (!mDocument)
     return;
 
   // Stop further processing if there are no new notifications of any kind or
--- a/accessible/base/StyleInfo.cpp
+++ b/accessible/base/StyleInfo.cpp
@@ -53,16 +53,17 @@ StyleInfo::TextIndent(nsAString& aValue)
   switch (styleCoord.GetUnit()) {
     case eStyleUnit_Coord:
       coordVal = styleCoord.GetCoordValue();
       break;
 
     case eStyleUnit_Percent:
     {
       nsIFrame* frame = mElement->GetPrimaryFrame();
+      MOZ_ASSERT(frame, "frame must be a valid pointer.");
       nsIFrame* containerFrame = frame->GetContainingBlock();
       nscoord percentageBase = containerFrame->GetContentRect().width;
       coordVal = NSCoordSaturatingMultiply(percentageBase,
                                            styleCoord.GetPercentValue());
       break;
     }
 
     case eStyleUnit_Null:
@@ -83,16 +84,17 @@ StyleInfo::TextIndent(nsAString& aValue)
 
   aValue.AppendFloat(nsPresContext::AppUnitsToFloatCSSPixels(coordVal));
   aValue.AppendLiteral("px");
 }
 
 void
 StyleInfo::Margin(css::Side aSide, nsAString& aValue)
 {
+  MOZ_ASSERT(mElement->GetPrimaryFrame(), " mElement->GetPrimaryFrame() needs to be valid pointer");
   aValue.Truncate();
 
   nscoord coordVal = mElement->GetPrimaryFrame()->GetUsedMargin().Side(aSide);
   aValue.AppendFloat(nsPresContext::AppUnitsToFloatCSSPixels(coordVal));
   aValue.AppendLiteral("px");
 }
 
 void
--- a/accessible/base/nsCoreUtils.cpp
+++ b/accessible/base/nsCoreUtils.cpp
@@ -29,24 +29,35 @@
 #include "nsView.h"
 #include "nsGkAtoms.h"
 
 #include "nsComponentManagerUtils.h"
 
 #include "nsITreeBoxObject.h"
 #include "nsITreeColumns.h"
 #include "mozilla/dom/Element.h"
+#include "mozilla/dom/HTMLLabelElement.h"
 
 using namespace mozilla;
 
 ////////////////////////////////////////////////////////////////////////////////
 // nsCoreUtils
 ////////////////////////////////////////////////////////////////////////////////
 
 bool
+nsCoreUtils::IsLabelWithControl(nsIContent* aContent)
+{
+  dom::HTMLLabelElement* label = dom::HTMLLabelElement::FromContent(aContent);
+  if (label && label->GetControl())
+    return true;
+
+  return false;
+}
+
+bool
 nsCoreUtils::HasClickListener(nsIContent *aContent)
 {
   NS_ENSURE_TRUE(aContent, false);
   EventListenerManager* listenerManager =
     aContent->GetExistingListenerManager();
 
   return listenerManager &&
     (listenerManager->HasListenersFor(nsGkAtoms::onclick) ||
--- a/accessible/base/nsCoreUtils.h
+++ b/accessible/base/nsCoreUtils.h
@@ -24,16 +24,21 @@ class nsIWidget;
 
 /**
  * Core utils.
  */
 class nsCoreUtils
 {
 public:
   /**
+   * Return true if the given node is a label of a control.
+   */
+  static bool IsLabelWithControl(nsIContent *aContent);
+
+  /**
    * Return true if the given node has registered click, mousedown or mouseup
    * event listeners.
    */
   static bool HasClickListener(nsIContent *aContent);
 
   /**
    * Dispatch click event to XUL tree cell.
    *
--- a/accessible/generic/BaseAccessibles.cpp
+++ b/accessible/generic/BaseAccessibles.cpp
@@ -110,30 +110,34 @@ LinkableAccessible::Value(nsString& aVal
   if (isLink) {
     actionAcc->Value(aValue);
   }
 }
 
 uint8_t
 LinkableAccessible::ActionCount()
 {
-  bool isLink, isOnclick;
-  ActionWalk(&isLink, &isOnclick);
-  return (isLink || isOnclick) ? 1 : 0;
+  bool isLink, isOnclick, isLabelWithControl;
+  ActionWalk(&isLink, &isOnclick, &isLabelWithControl);
+  return (isLink || isOnclick || isLabelWithControl) ? 1 : 0;
 }
 
 Accessible*
-LinkableAccessible::ActionWalk(bool* aIsLink, bool* aIsOnclick)
+LinkableAccessible::ActionWalk(bool* aIsLink, bool* aIsOnclick,
+                               bool* aIsLabelWithControl)
 {
   if (aIsOnclick) {
     *aIsOnclick = false;
   }
   if (aIsLink) {
     *aIsLink = false;
   }
+  if (aIsLabelWithControl) {
+    *aIsLabelWithControl = false;
+  }
 
   if (nsCoreUtils::HasClickListener(mContent)) {
     if (aIsOnclick) {
       *aIsOnclick = true;
     }
     return nullptr;
   }
 
@@ -150,32 +154,39 @@ LinkableAccessible::ActionWalk(bool* aIs
     }
 
     if (nsCoreUtils::HasClickListener(walkUpAcc->GetContent())) {
       if (aIsOnclick) {
         *aIsOnclick = true;
       }
       return walkUpAcc;
     }
+
+    if (nsCoreUtils::IsLabelWithControl(walkUpAcc->GetContent())) {
+      if (aIsLabelWithControl) {
+        *aIsLabelWithControl = true;
+      }
+      return walkUpAcc;
+    }
   }
   return nullptr;
 }
 
 void
 LinkableAccessible::ActionNameAt(uint8_t aIndex, nsAString& aName)
 {
   aName.Truncate();
 
   // Action 0 (default action): Jump to link
   if (aIndex == eAction_Jump) {
-    bool isOnclick, isLink;
-    ActionWalk(&isLink, &isOnclick);
+    bool isOnclick, isLink, isLabelWithControl;
+    ActionWalk(&isLink, &isOnclick, &isLabelWithControl);
     if (isLink) {
       aName.AssignLiteral("jump");
-    } else if (isOnclick) {
+    } else if (isOnclick || isLabelWithControl) {
       aName.AssignLiteral("click");
     }
   }
 }
 
 bool
 LinkableAccessible::DoAction(uint8_t aIndex)
 {
--- a/accessible/generic/BaseAccessibles.h
+++ b/accessible/generic/BaseAccessibles.h
@@ -71,17 +71,18 @@ public:
   // ActionAccessible
   virtual uint8_t ActionCount() override;
   virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) override;
   virtual bool DoAction(uint8_t index) override;
   virtual KeyBinding AccessKey() const override;
 
   // ActionAccessible helpers
   Accessible* ActionWalk(bool* aIsLink = nullptr,
-                          bool* aIsOnclick = nullptr);
+                         bool* aIsOnclick = nullptr,
+                         bool* aIsLabelWithControl = nullptr);
   // HyperLinkAccessible
   virtual already_AddRefed<nsIURI> AnchorURIAt(uint32_t aAnchorIndex) override;
 
 protected:
   virtual ~LinkableAccessible() {}
 
 };
 
--- a/accessible/generic/DocAccessible.cpp
+++ b/accessible/generic/DocAccessible.cpp
@@ -1506,17 +1506,17 @@ DocAccessible::DoInitialUpdate()
   if (!IsRoot()) {
     RefPtr<AccReorderEvent> reorderEvent = new AccReorderEvent(Parent());
     ParentDocument()->FireDelayedEvent(reorderEvent);
   }
 
   uint32_t childCount = ChildCount();
   for (uint32_t i = 0; i < childCount; i++) {
     Accessible* child = GetChildAt(i);
-    RefPtr<AccShowEvent> event = new AccShowEvent(child, child->GetContent());
+    RefPtr<AccShowEvent> event = new AccShowEvent(child);
   FireDelayedEvent(event);
   }
 }
 
 void
 DocAccessible::ProcessLoad()
 {
   mLoadState |= eCompletelyLoaded;
@@ -1887,17 +1887,16 @@ DocAccessible::UpdateTreeInternal(Access
   uint32_t updateFlags = eAccessible;
 
   // If a focused node has been shown then it could mean its frame was recreated
   // while the node stays focused and we need to fire focus event on
   // the accessible we just created. If the queue contains a focus event for
   // this node already then it will be suppressed by this one.
   Accessible* focusedAcc = nullptr;
 
-  nsINode* node = aChild->GetNode();
   if (aIsInsert) {
     // Create accessible tree for shown accessible.
     CacheChildrenInSubtree(aChild, &focusedAcc);
 
   } else {
     // Fire menupopup end event before hide event if a menu goes away.
 
     // XXX: We don't look into children of hidden subtree to find hiding
@@ -1909,19 +1908,19 @@ DocAccessible::UpdateTreeInternal(Access
     // handling.
     if (aChild->ARIARole() == roles::MENUPOPUP)
       FireDelayedEvent(nsIAccessibleEvent::EVENT_MENUPOPUP_END, aChild);
   }
 
   // Fire show/hide event.
   RefPtr<AccMutationEvent> event;
   if (aIsInsert)
-    event = new AccShowEvent(aChild, node);
+    event = new AccShowEvent(aChild);
   else
-    event = new AccHideEvent(aChild, node);
+    event = new AccHideEvent(aChild);
 
   FireDelayedEvent(event);
   aReorderEvent->AddSubMutationEvent(event);
 
   if (aIsInsert) {
     roles::Role ariaRole = aChild->ARIARole();
     if (ariaRole == roles::MENUPOPUP) {
       // Fire EVENT_MENUPOPUP_START if ARIA menu appears.
@@ -2084,18 +2083,17 @@ DocAccessible::SeizeChild(Accessible* aN
   if (!oldParent) {
     NS_ERROR("No parent? The tree is broken!");
     return false;
   }
 
   int32_t oldIdxInParent = aChild->IndexInParent();
 
   RefPtr<AccReorderEvent> reorderEvent = new AccReorderEvent(oldParent);
-  RefPtr<AccMutationEvent> hideEvent =
-    new AccHideEvent(aChild, aChild->GetContent(), false);
+  RefPtr<AccMutationEvent> hideEvent = new AccHideEvent(aChild, false);
   reorderEvent->AddSubMutationEvent(hideEvent);
 
   {
     AutoTreeMutation mut(oldParent);
     oldParent->RemoveChild(aChild);
   }
 
   bool isReinserted = false;
@@ -2116,18 +2114,17 @@ DocAccessible::SeizeChild(Accessible* aN
     children->RemoveElement(aChild);
   }
 
   FireDelayedEvent(hideEvent);
   MaybeNotifyOfValueChange(oldParent);
   FireDelayedEvent(reorderEvent);
 
   reorderEvent = new AccReorderEvent(aNewParent);
-  RefPtr<AccMutationEvent> showEvent =
-    new AccShowEvent(aChild, aChild->GetContent());
+  RefPtr<AccMutationEvent> showEvent = new AccShowEvent(aChild);
   reorderEvent->AddSubMutationEvent(showEvent);
 
   FireDelayedEvent(showEvent);
   MaybeNotifyOfValueChange(aNewParent);
   FireDelayedEvent(reorderEvent);
 
   aChild->SetRelocated(true);
   return true;
@@ -2135,30 +2132,28 @@ DocAccessible::SeizeChild(Accessible* aN
 
 void
 DocAccessible::MoveChild(Accessible* aChild, int32_t aIdxInParent)
 {
   NS_PRECONDITION(aChild->Parent(), "No parent?");
 
   Accessible* parent = aChild->Parent();
   RefPtr<AccReorderEvent> reorderEvent = new AccReorderEvent(parent);
-  RefPtr<AccMutationEvent> hideEvent =
-    new AccHideEvent(aChild, aChild->GetContent(), false);
+  RefPtr<AccMutationEvent> hideEvent = new AccHideEvent(aChild, false);
   reorderEvent->AddSubMutationEvent(hideEvent);
 
   AutoTreeMutation mut(parent);
   parent->RemoveChild(aChild);
 
   parent->InsertChildAt(aIdxInParent, aChild);
   aChild->SetRelocated(true);
 
   FireDelayedEvent(hideEvent);
 
-  RefPtr<AccMutationEvent> showEvent =
-    new AccShowEvent(aChild, aChild->GetContent());
+  RefPtr<AccMutationEvent> showEvent = new AccShowEvent(aChild);
   reorderEvent->AddSubMutationEvent(showEvent);
   FireDelayedEvent(showEvent);
 
   MaybeNotifyOfValueChange(parent);
   FireDelayedEvent(reorderEvent);
 }
 
 void
@@ -2172,18 +2167,17 @@ DocAccessible::PutChildrenBack(nsTArray<
     // If the child is in the tree then remove it from the owner.
     if (child->IsInDocument()) {
       Accessible* owner = child->Parent();
       if (!owner) {
         NS_ERROR("Cannot put the child back. No parent, a broken tree.");
         continue;
       }
       RefPtr<AccReorderEvent> reorderEvent = new AccReorderEvent(owner);
-      RefPtr<AccMutationEvent> hideEvent =
-        new AccHideEvent(child, child->GetContent(), false);
+      RefPtr<AccMutationEvent> hideEvent = new AccHideEvent(child, false);
       reorderEvent->AddSubMutationEvent(hideEvent);
 
       {
         AutoTreeMutation mut(owner);
         owner->RemoveChild(child);
         child->SetRelocated(false);
       }
 
--- a/accessible/html/HTMLElementAccessibles.cpp
+++ b/accessible/html/HTMLElementAccessibles.cpp
@@ -70,16 +70,42 @@ HTMLLabelAccessible::RelationByType(Rela
   if (aType == RelationType::LABEL_FOR) {
     dom::HTMLLabelElement* label = dom::HTMLLabelElement::FromContent(mContent);
     rel.AppendTarget(mDoc, label->GetControl());
   }
 
   return rel;
 }
 
+uint8_t
+HTMLLabelAccessible::ActionCount()
+{
+  return nsCoreUtils::IsLabelWithControl(mContent) ? 1 : 0;
+}
+
+void
+HTMLLabelAccessible::ActionNameAt(uint8_t aIndex, nsAString& aName)
+{
+  if (aIndex == 0) {
+    if (nsCoreUtils::IsLabelWithControl(mContent))
+      aName.AssignLiteral("click");
+  }
+}
+
+bool
+HTMLLabelAccessible::DoAction(uint8_t aIndex)
+{
+  if (aIndex != 0)
+    return false;
+
+  DoCommand();
+  return true;
+}
+
+
 ////////////////////////////////////////////////////////////////////////////////
 // nsHTMLOuputAccessible
 ////////////////////////////////////////////////////////////////////////////////
 
 NS_IMPL_ISUPPORTS_INHERITED0(HTMLOutputAccessible, HyperTextAccessible)
 
 Relation
 HTMLOutputAccessible::RelationByType(RelationType aType)
--- a/accessible/html/HTMLElementAccessibles.h
+++ b/accessible/html/HTMLElementAccessibles.h
@@ -57,16 +57,21 @@ public:
   HTMLLabelAccessible(nsIContent* aContent, DocAccessible* aDoc) :
     HyperTextAccessibleWrap(aContent, aDoc) {}
 
   NS_DECL_ISUPPORTS_INHERITED
 
   // Accessible
   virtual Relation RelationByType(RelationType aType) override;
 
+  // ActionAccessible
+  virtual uint8_t ActionCount() override;
+  virtual void ActionNameAt(uint8_t aIndex, nsAString& aName) override;
+  virtual bool DoAction(uint8_t aIndex) override;
+
 protected:
   virtual ~HTMLLabelAccessible() {}
   virtual ENameValueFlag NativeName(nsString& aName) override;
 };
 
 /**
  * Used for HTML output element.
  */
--- a/accessible/html/HTMLImageMapAccessible.cpp
+++ b/accessible/html/HTMLImageMapAccessible.cpp
@@ -116,17 +116,17 @@ HTMLImageMapAccessible::UpdateChildAreas
       mDoc->BindToDocument(area, aria::GetRoleMap(areaContent));
 
       if (!InsertChildAt(idx, area)) {
         mDoc->UnbindFromDocument(area);
         break;
       }
 
       if (aDoFireEvents) {
-        RefPtr<AccShowEvent> event = new AccShowEvent(area, areaContent);
+        RefPtr<AccShowEvent> event = new AccShowEvent(area);
         mDoc->FireDelayedEvent(event);
         reorderEvent->AddSubMutationEvent(event);
       }
 
       treeChanged = true;
     }
   }
 
--- a/accessible/html/HTMLListAccessible.cpp
+++ b/accessible/html/HTMLListAccessible.cpp
@@ -106,17 +106,17 @@ HTMLLIAccessible::UpdateBullet(bool aHas
   AutoTreeMutation mut(this);
 
   DocAccessible* document = Document();
   if (aHasBullet) {
     mBullet = new HTMLListBulletAccessible(mContent, mDoc);
     document->BindToDocument(mBullet, nullptr);
     InsertChildAt(0, mBullet);
 
-    RefPtr<AccShowEvent> event = new AccShowEvent(mBullet, mBullet->GetContent());
+    RefPtr<AccShowEvent> event = new AccShowEvent(mBullet);
     mDoc->FireDelayedEvent(event);
     reorderEvent->AddSubMutationEvent(event);
   } else {
     RefPtr<AccHideEvent> event = new AccHideEvent(mBullet, mBullet->GetContent());
     mDoc->FireDelayedEvent(event);
     reorderEvent->AddSubMutationEvent(event);
 
     RemoveChild(mBullet);
--- a/accessible/interfaces/ia2/moz.build
+++ b/accessible/interfaces/ia2/moz.build
@@ -12,8 +12,16 @@ DEFFILE = SRCDIR + '/IA2Marshal.def'
 
 OS_LIBS += [
     'uuid',
     'kernel32',
     'rpcrt4',
     'ole32',
     'oleaut32',
 ]
+
+# The Windows MIDL code generator creates things like:
+#
+#   #endif !_MIDL_USE_GUIDDEF_
+#
+# which clang-cl complains about.  MSVC doesn't, so turn this warning off.
+if CONFIG['CLANG_CL']:
+    CXXFLAGS += ['-Wno-extra-tokens']
--- a/accessible/interfaces/msaa/moz.build
+++ b/accessible/interfaces/msaa/moz.build
@@ -20,8 +20,16 @@ DEFINES['REGISTER_PROXY_DLL'] = True
 
 DEFFILE = SRCDIR + '/AccessibleMarshal.def'
 
 OS_LIBS += [
     'kernel32',
     'rpcrt4',
     'oleaut32',
 ]
+
+# The Windows MIDL code generator creates things like:
+#
+#   #endif !_MIDL_USE_GUIDDEF_
+#
+# which clang-cl complains about.  MSVC doesn't, so turn this warning off.
+if CONFIG['CLANG_CL']:
+    CFLAGS += ['-Wno-extra-tokens']
--- a/accessible/jsat/EventManager.jsm
+++ b/accessible/jsat/EventManager.jsm
@@ -72,17 +72,17 @@ this.EventManager.prototype = {
   // late). It is only called when the AccessFu is disabled explicitly.
   stop: function stop() {
     if (!this._started) {
       return;
     }
     Logger.debug('EventManager.stop');
     AccessibilityEventObserver.removeListener(this);
     try {
-      this._preDialogPosition.clear();
+      this._preDialogPosition = new WeakMap();
       this.webProgress.removeProgressListener(this);
       this.removeEventListener('wheel', this, true);
       this.removeEventListener('scroll', this, true);
       this.removeEventListener('resize', this, true);
     } catch (x) {
       // contentScope is dead.
     } finally {
       this._started = false;
@@ -613,17 +613,17 @@ const AccessibilityEventObserver = {
    * Stop an AccessibilityEventObserver.
    */
   stop: function stop() {
     if (!this.started) {
       return;
     }
     Services.obs.removeObserver(this, 'accessible-event');
     // Clean up all registered event managers.
-    this.eventManagers.clear();
+    this.eventManagers = new WeakMap();
     this.listenerCount = 0;
     this.started = false;
   },
 
   /**
    * Register an EventManager and start listening to the
    * 'accessible-event' messages.
    *
--- a/accessible/mac/mozTextAccessible.mm
+++ b/accessible/mac/mozTextAccessible.mm
@@ -213,21 +213,23 @@ ToNSString(id aValue)
 #if DEBUG
       NSLog(@"%@:no range", attribute);
 #endif
       return nil;
     }
 
     int32_t start = range.location;
     int32_t end = start + range.length;
-    nsIntRect bounds;
+    DesktopIntRect bounds;
     if (textAcc) {
-      bounds = textAcc->TextBounds(start, end);
+      bounds =
+        DesktopIntRect::FromUnknownRect(textAcc->TextBounds(start, end));
     } else if (proxy) {
-      bounds = proxy->TextBounds(start, end);
+      bounds =
+        DesktopIntRect::FromUnknownRect(proxy->TextBounds(start, end));
     }
 
     return [NSValue valueWithRect:nsCocoaUtils::GeckoRectToCocoaRect(bounds)];
   }
 
 #if DEBUG
   NSLog(@"unhandled attribute:%@ forParameter:%@", attribute, parameter);
 #endif
--- a/accessible/tests/mochitest/actions/test_general.html
+++ b/accessible/tests/mochitest/actions/test_general.html
@@ -34,21 +34,29 @@
           ID: "li_clickable3",
           actionName: "click",
           events: CLICK_EVENTS
         },
         {
           ID: "onclick_img",
           actionName: "click",
           events: CLICK_EVENTS
+        },
+        {
+          ID: "label1",
+          actionName: "click",
+          events: CLICK_EVENTS
         }
+
       ];
 
       testActions(actionsArray);
 
+      is(getAccessible("label1").firstChild.actionCount, 1, "label text should have 1 action");
+
       getAccessible("onclick_img").takeFocus();
       is(getAccessible("link1").actionCount, 1, "links should have one action");
       is(getAccessible("link2").actionCount, 1, "link with onclick handler should have 1 action");
     }
 
     SimpleTest.waitForExplicitFinish();
     addA11yLoadEvent(doTest);
   </script>
@@ -82,10 +90,18 @@
     <li id="li_clickable3" onmouseup="">Clickable list item</li>
   </ul>
 
   <!-- linkable accessibles -->
   <img id="onclick_img" onclick="" src="../moz.png">
 
   <a id="link1" href="www">linkable textleaf accessible</a>
   <div id="link2" onclick="">linkable textleaf accessible</div>
+
+  <div>
+    <label for="TextBox_t2" id="label1">
+      <span>Explicit</span>
+    </label>
+    <input name="in2" id="TextBox_t2" type="text" maxlength="17">
+  </div>
+
 </body>
 </html>
--- a/accessible/tests/mochitest/actions/test_general.xul
+++ b/accessible/tests/mochitest/actions/test_general.xul
@@ -56,27 +56,34 @@
           events: XUL_EVENTS
         },
         {
           ID: "buttonmenu",
           actionName: "press",
           events: CLICK_EVENTS
         },
         {
+          ID: "name_entry_label",
+          actionName: "click",
+          events: CLICK_EVENTS
+        },
+        {
           ID: "labelWithPopup",
           actionName: "click",
           events: CLICK_EVENTS
         }/*, // XXX: bug 490288
         {
           ID: "buttonmenu_item",
           actionName: "click",
           events: CLICK_EVENTS
         }*/
       ];
 
+      is(getAccessible("name_entry_label").firstChild.actionCount, 1, "label text should have 1 action");
+
       testActions(actionsArray);
     }
 
     SimpleTest.waitForExplicitFinish();
     addA11yLoadEvent(doTest);
   ]]>
   </script>
 
@@ -120,12 +127,16 @@
           <menuitem label="item1" id="buttonmenu_item"/>
           <menuitem label="item1"/>
         </menupopup>
       </button>
 
       <label id="labelWithPopup" value="file name"
              popup="fileContext"
              tabindex="0"/>
+      <hbox>
+        <label id="name_entry_label" value="Name" control="name_entry"/>
+        <textbox id="name_entry"/>
+      </hbox>
     </vbox>
   </hbox>
 </window>
 
--- a/accessible/windows/ia2/moz.build
+++ b/accessible/windows/ia2/moz.build
@@ -45,9 +45,17 @@ LOCAL_INCLUDES += [
     '/accessible/xul',
 ]
 
 FINAL_LIBRARY = 'xul'
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wshadow']
 
+# The Windows MIDL code generator creates things like:
+#
+#   #endif !_MIDL_USE_GUIDDEF_
+#
+# which clang-cl complains about.  MSVC doesn't, so turn this warning off.
+if CONFIG['CLANG_CL']:
+    CXXFLAGS += ['-Wno-extra-tokens']
+
 include('/ipc/chromium/chromium-config.mozbuild')
--- a/accessible/windows/msaa/AccessibleWrap.cpp
+++ b/accessible/windows/msaa/AccessibleWrap.cpp
@@ -86,18 +86,23 @@ AccessibleWrap::~AccessibleWrap()
 ITypeInfo* AccessibleWrap::gTypeInfo = nullptr;
 
 NS_IMPL_ISUPPORTS_INHERITED0(AccessibleWrap, Accessible)
 
 void
 AccessibleWrap::Shutdown()
 {
 #ifdef _WIN64
-  if (mID != kNoID)
-    static_cast<DocAccessibleWrap*>(mDoc)->RemoveID(mID);
+  if (mID != kNoID) {
+    auto doc = static_cast<DocAccessibleWrap*>(mDoc);
+    MOZ_ASSERT(doc);
+    if (doc) {
+      doc->RemoveID(mID);
+    }
+  }
 #endif
 
   Accessible::Shutdown();
 }
 
 //-----------------------------------------------------
 // IUnknown interface methods - see iunknown.h for documentation
 //-----------------------------------------------------
--- a/accessible/windows/msaa/moz.build
+++ b/accessible/windows/msaa/moz.build
@@ -54,14 +54,22 @@ LOCAL_INCLUDES += [
     '/accessible/windows/sdn',
     '/accessible/windows/uia',
     '/accessible/xpcom',
     '/accessible/xul',
     '/dom/base',
     '/layout/style',
 ]
 
+# The Windows MIDL code generator creates things like:
+#
+#   #endif !_MIDL_USE_GUIDDEF_
+#
+# which clang-cl complains about.  MSVC doesn't, so turn this warning off.
+if CONFIG['CLANG_CL']:
+    CXXFLAGS += ['-Wno-extra-tokens']
+
 include('/ipc/chromium/chromium-config.mozbuild')
 
 FINAL_LIBRARY = 'xul'
 
 if CONFIG['GNU_CXX']:
     CXXFLAGS += ['-Wshadow']
--- a/addon-sdk/source/lib/sdk/lang/weak-set.js
+++ b/addon-sdk/source/lib/sdk/lang/weak-set.js
@@ -8,26 +8,31 @@ module.metadata = {
 
 "use strict";
 
 const { Cu } = require("chrome");
 
 function makeGetterFor(Type) {
   let cache = new WeakMap();
 
-  return function getFor(target) {
-    if (!cache.has(target))
-      cache.set(target, new Type());
+  return {
+    getFor(target) {
+      if (!cache.has(target))
+        cache.set(target, new Type());
 
-    return cache.get(target);
+      return cache.get(target);
+    },
+    clearFor(target) {
+      return cache.delete(target)
+    }
   }
 }
 
-var getLookupFor = makeGetterFor(WeakMap);
-var getRefsFor = makeGetterFor(Set);
+var {getFor: getLookupFor, clearFor: clearLookupFor} = makeGetterFor(WeakMap);
+var {getFor: getRefsFor, clearFor: clearRefsFor} = makeGetterFor(Set);
 
 function add(target, value) {
   if (has(target, value))
     return;
 
   getLookupFor(target).set(value, true);
   getRefsFor(target).add(Cu.getWeakReference(value));
 }
@@ -39,18 +44,18 @@ function remove(target, value) {
 exports.remove = remove;
 
 function has(target, value) {
   return getLookupFor(target).has(value);
 }
 exports.has = has;
 
 function clear(target) {
-  getLookupFor(target).clear();
-  getRefsFor(target).clear();
+  clearLookupFor(target);
+  clearRefsFor(target);
 }
 exports.clear = clear;
 
 function iterator(target) {
   let refs = getRefsFor(target);
 
   for (let ref of refs) {
     let value = ref.get();
--- a/addon-sdk/source/lib/sdk/tabs/tabs-firefox.js
+++ b/addon-sdk/source/lib/sdk/tabs/tabs-firefox.js
@@ -106,16 +106,17 @@ const allTabs = new Tabs();
 module.exports = Object.create(allTabs);
 pipe(tabEvents, module.exports);
 
 function addWindowTab(window, tabElement) {
   let tab = new Tab(tabElement);
   if (window)
     addListItem(window.tabs, tab);
   addListItem(allTabs, tab);
+  emit(allTabs, "open", tab);
 }
 
 // Find tabs in already open windows
 for (let tabElement of getTabs())
   addWindowTab(null, tabElement);
 
 // Detect tabs in new windows
 windowObserver.on('open', domWindow => {
--- a/addon-sdk/source/test/addons/l10n-properties/app-extension/bootstrap.js
+++ b/addon-sdk/source/test/addons/l10n-properties/app-extension/bootstrap.js
@@ -21,42 +21,36 @@ const scriptLoader = Cc['@mozilla.org/mo
 const prefService = Cc['@mozilla.org/preferences-service;1'].
                     getService(Ci.nsIPrefService).
                     QueryInterface(Ci.nsIPrefBranch);
 const appInfo = Cc["@mozilla.org/xre/app-info;1"].
                 getService(Ci.nsIXULAppInfo);
 const vc = Cc["@mozilla.org/xpcom/version-comparator;1"].
            getService(Ci.nsIVersionComparator);
 
-const { Services } = Cu.import("resource://gre/modules/Services.jsm");
+const { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm");
 
 const REASON = [ 'unknown', 'startup', 'shutdown', 'enable', 'disable',
                  'install', 'uninstall', 'upgrade', 'downgrade' ];
 
 const bind = Function.call.bind(Function.bind);
 
 var loader = null;
 var unload = null;
 var cuddlefishSandbox = null;
 var nukeTimer = null;
 
 // Utility function that synchronously reads local resource from the given
 // `uri` and returns content string.
 function readURI(uri) {
-  let ioservice = Cc['@mozilla.org/network/io-service;1'].
-    getService(Ci.nsIIOService);
-  let channel = ioservice.newChannel2(uri,
-                                      'UTF-8',
-                                      null,
-                                      null,      // aLoadingNode
-                                      Services.scriptSecurityManager.getSystemPrincipal(),
-                                      null,      // aTriggeringPrincipal
-                                      Ci.nsILoadInfo.SEC_NORMAL,
-                                      Ci.nsIContentPolicy.TYPE_OTHER);
-  let stream = channel.open();
+  let channel = NetUtil.newChannel({
+    uri: NetUtil.newURI(uri, "UTF-8"),
+    loadUsingSystemPrincipal: true
+  });
+  let stream = channel.open2();
 
   let cstream = Cc['@mozilla.org/intl/converter-input-stream;1'].
     createInstance(Ci.nsIConverterInputStream);
   cstream.init(stream, 'UTF-8', 0, 0);
 
   let str = {};
   let data = '';
   let read = 0;
--- a/addon-sdk/source/test/addons/simple-prefs-regression/app-extension/bootstrap.js
+++ b/addon-sdk/source/test/addons/simple-prefs-regression/app-extension/bootstrap.js
@@ -21,42 +21,36 @@ const scriptLoader = Cc['@mozilla.org/mo
 const prefService = Cc['@mozilla.org/preferences-service;1'].
                     getService(Ci.nsIPrefService).
                     QueryInterface(Ci.nsIPrefBranch);
 const appInfo = Cc["@mozilla.org/xre/app-info;1"].
                 getService(Ci.nsIXULAppInfo);
 const vc = Cc["@mozilla.org/xpcom/version-comparator;1"].
            getService(Ci.nsIVersionComparator);
 
-const { Services } = Cu.import("resource://gre/modules/Services.jsm");
+const { NetUtil } = Cu.import("resource://gre/modules/NetUtil.jsm");
 
 const REASON = [ 'unknown', 'startup', 'shutdown', 'enable', 'disable',
                  'install', 'uninstall', 'upgrade', 'downgrade' ];
 
 const bind = Function.call.bind(Function.bind);
 
 var loader = null;
 var unload = null;
 var cuddlefishSandbox = null;
 var nukeTimer = null;
 
 // Utility function that synchronously reads local resource from the given
 // `uri` and returns content string.
 function readURI(uri) {
-  let ioservice = Cc['@mozilla.org/network/io-service;1'].
-    getService(Ci.nsIIOService);
-  let channel = ioservice.newChannel2(uri,
-                                      'UTF-8',
-                                      null,
-                                      null,      // aLoadingNode
-                                      Services.scriptSecurityManager.getSystemPrincipal(),
-                                      null,      // aTriggeringPrincipal
-                                      Ci.nsILoadInfo.SEC_NORMAL,
-                                      Ci.nsIContentPolicy.TYPE_OTHER);
-  let stream = channel.open();
+  let channel = NetUtil.newChannel({
+    uri: NetUtil.newURI(uri, "UTF-8"),
+    loadUsingSystemPrincipal: true
+  });
+  let stream = channel.open2();
 
   let cstream = Cc['@mozilla.org/intl/converter-input-stream;1'].
     createInstance(Ci.nsIConverterInputStream);
   cstream.init(stream, 'UTF-8', 0, 0);
 
   let str = {};
   let data = '';
   let read = 0;
--- a/addon-sdk/source/test/tabs/test-firefox-tabs.js
+++ b/addon-sdk/source/test/tabs/test-firefox-tabs.js
@@ -1236,16 +1236,31 @@ exports["test ready event after window.o
 
   tabs.activeTab.attach({
     contentScript: "window.open('about:blank');" +
                    "window.open('about:blank', '', " +
                    "'width=800,height=600,resizable=no,status=no,location=no');"
   });
 }
 
+// related to bug #939496
+exports["test tab open event for new window"] = function(assert, done) {
+  // ensure popups open in a new window and disable popup blocker
+  setPref(OPEN_IN_NEW_WINDOW_PREF, 2);
+  setPref(DISABLE_POPUP_PREF, false);
+
+  tabs.once('open', function onOpen(window) {
+    assert.pass("tab open has occured");
+    window.close(done);
+  });
+
+  // open window to trigger observers
+  browserWindows.open("about:logo");
+};
+
 after(exports, function*(name, assert) {
   resetPopupPrefs();
   yield cleanUI();
 });
 
 const resetPopupPrefs = () => {
   resetPref(OPEN_IN_NEW_WINDOW_PREF);
   resetPref(DISABLE_POPUP_PREF);
--- a/addon-sdk/source/test/test-xpcom.js
+++ b/addon-sdk/source/test/test-xpcom.js
@@ -2,17 +2,17 @@
  * 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/. */
 
 const xpcom = require("sdk/platform/xpcom");
 const { Cc, Ci, Cm, Cr } = require("chrome");
 const { isCIDRegistered } = Cm.QueryInterface(Ci.nsIComponentRegistrar);
 const { Class } = require("sdk/core/heritage");
 const { Loader } = require("sdk/test/loader");
-const { Services } = require("resource://gre/modules/Services.jsm");
+const { NetUtil } = require("resource://gre/modules/NetUtil.jsm");
 
 exports['test Unknown implements nsISupports'] = function(assert) {
   let actual = xpcom.Unknown();
   assert.equal(actual.QueryInterface(Ci.nsISupports),
                actual,
                'component implements nsISupports');
 };
 
@@ -163,24 +163,21 @@ function testRegister(assert, text) {
 
   var ios = Cc["@mozilla.org/network/io-service;1"].
             getService(Ci.nsIIOService);
   assert.equal(
     about.getURIFlags(ios.newURI("http://foo.com", null, null)),
     Ci.nsIAboutModule.ALLOW_SCRIPT
   );
 
-  var aboutURI = ios.newURI("about:boop", null, null);
-  var channel = ios.newChannelFromURI2(aboutURI,
-                                       null,      // aLoadingNode
-                                       Services.scriptSecurityManager.getSystemPrincipal(),
-                                       null,      // aTriggeringPrincipal
-                                       Ci.nsILoadInfo.SEC_NORMAL,
-                                       Ci.nsIContentPolicy.TYPE_OTHER);
-  var iStream = channel.open();
+  var channel = NetUtil.newChannel({
+    uri: "about:boop",
+    loadUsingSystemPrincipal: true
+  });
+  var iStream = channel.open2();
   var siStream = Cc['@mozilla.org/scriptableinputstream;1']
                  .createInstance(Ci.nsIScriptableInputStream);
   siStream.init(iStream);
   var data = new String();
   data += siStream.read(-1);
   siStream.close();
   iStream.close();
   assert.equal(data, text);
--- a/b2g/app/B2GLoader.cpp
+++ b/b2g/app/B2GLoader.cpp
@@ -18,16 +18,17 @@
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/types.h>
 #include <sys/socket.h>
 
 #include <dlfcn.h>
 
 #include "nsXPCOMPrivate.h" // for MAXPATHLEN and XPCOM_DLL
+#include "mozilla/UniquePtr.h"
 
 #define ASSERT(x) if (!(x)) { MOZ_CRASH(); }
 
 // Functions being loaded by XPCOMGlue
 XRE_ProcLoaderServiceRunType XRE_ProcLoaderServiceRun;
 XRE_ProcLoaderClientInitType XRE_ProcLoaderClientInit;
 XRE_ProcLoaderPreloadType XRE_ProcLoaderPreload;
 extern XRE_CreateAppDataType XRE_CreateAppData;
@@ -60,21 +61,21 @@ GetDirnameSlash(const char *aPath, char 
   strncpy(aOutDir, aPath, cpsz);
   aOutDir[cpsz] = 0;
   return cpsz;
 }
 
 static bool
 GetXPCOMPath(const char *aProgram, char *aOutPath, int aMaxLen)
 {
-  nsAutoArrayPtr<char> progBuf(new char[aMaxLen]);
-  nsresult rv = mozilla::BinaryPath::Get(aProgram, progBuf);
+  auto progBuf = mozilla::MakeUnique<char[]>(aMaxLen);
+  nsresult rv = mozilla::BinaryPath::Get(aProgram, progBuf.get());
   NS_ENSURE_SUCCESS(rv, false);
 
-  int len = GetDirnameSlash(progBuf, aOutPath, aMaxLen);
+  int len = GetDirnameSlash(progBuf.get(), aOutPath, aMaxLen);
   NS_ENSURE_TRUE(!!len, false);
 
   NS_ENSURE_TRUE((len + sizeof(XPCOM_DLL)) < (unsigned)aMaxLen, false);
   char *afterSlash = aOutPath + len;
   strcpy(afterSlash, XPCOM_DLL);
   return true;
 }
 
@@ -246,17 +247,19 @@ ReserveFileDescriptors(FdArray& aReserve
       MOZ_CRASH("ProcLoader error: a magic file descriptor is occupied.");
     }
 
     int fd = open("/dev/null", O_RDWR);
     if (fd == -1) {
       MOZ_CRASH("ProcLoader error: failed to reserve a magic file descriptor.");
     }
 
-    aReservedFds.append(target);
+    if (!aReservedFds.append(target)) {
+      MOZ_CRASH("Failed to append to aReservedFds");
+    }
 
     if (fd == target) {
       // No need to call dup2(). We already occupy the desired file descriptor.
       continue;
     }
 
     if (dup2(fd, target)) {
       MOZ_CRASH("ProcLoader error: failed to reserve a magic file descriptor.");
--- a/b2g/app/b2g.js
+++ b/b2g/app/b2g.js
@@ -355,21 +355,21 @@ pref("browser.safebrowsing.downloads.ena
 pref("browser.safebrowsing.downloads.remote.enabled", true);
 pref("browser.safebrowsing.downloads.remote.timeout_ms", 10000);
 pref("browser.safebrowsing.debug", false);
 
 pref("browser.safebrowsing.provider.google.lists", "goog-badbinurl-shavar,goog-downloadwhite-digest256,goog-phish-shavar,goog-malware-shavar,goog-unwanted-shavar");
 pref("browser.safebrowsing.provider.google.updateURL", "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2&key=%GOOGLE_API_KEY%");
 pref("browser.safebrowsing.provider.google.gethashURL", "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%VERSION%&pver=2.2");
 pref("browser.safebrowsing.provider.google.reportURL", "https://safebrowsing.google.com/safebrowsing/diagnostic?client=%NAME%&hl=%LOCALE%&site=");
-pref("browser.safebrowsing.provider.google.appRepURL", "https://sb-ssl.google.com/safebrowsing/clientreport/download?key=%GOOGLE_API_KEY%");
 
 pref("browser.safebrowsing.reportPhishMistakeURL", "https://%LOCALE%.phish-error.mozilla.com/?hl=%LOCALE%&url=");
 pref("browser.safebrowsing.reportPhishURL", "https://%LOCALE%.phish-report.mozilla.com/?hl=%LOCALE%&url=");
 pref("browser.safebrowsing.reportMalwareMistakeURL", "https://%LOCALE%.malware-error.mozilla.com/?hl=%LOCALE%&url=");
+pref("browser.safebrowsing.appRepURL", "https://sb-ssl.google.com/safebrowsing/clientreport/download?key=%GOOGLE_API_KEY%");
 
 pref("browser.safebrowsing.id", "Firefox");
 
 // Tables for application reputation.
 pref("urlclassifier.downloadBlockTable", "goog-badbinurl-shavar");
 
 // The number of random entries to send with a gethash request.
 pref("urlclassifier.gethashnoise", 4);
@@ -687,17 +687,16 @@ pref("layout.css.scroll-snap.enabled", t
 
 // Enable the ProcessPriorityManager, and give processes with no visible
 // documents a 1s grace period before they're eligible to be marked as
 // background. Background processes that are perceivable due to playing
 // media are given a longer grace period to accomodate changing tracks, etc.
 pref("dom.ipc.processPriorityManager.enabled", true);
 pref("dom.ipc.processPriorityManager.backgroundGracePeriodMS", 1000);
 pref("dom.ipc.processPriorityManager.backgroundPerceivableGracePeriodMS", 5000);
-pref("dom.ipc.processPriorityManager.memoryPressureGracePeriodMS", 3000);
 pref("dom.ipc.processPriorityManager.temporaryPriorityLockMS", 5000);
 
 // Number of different background/foreground levels for background/foreground
 // processes.  We use these different levels to force the low-memory killer to
 // kill processes in a LRU order.
 pref("dom.ipc.processPriorityManager.BACKGROUND.LRUPoolLevels", 5);
 pref("dom.ipc.processPriorityManager.BACKGROUND_PERCEIVABLE.LRUPoolLevels", 4);
 
@@ -775,17 +774,22 @@ pref("hal.gonk.COMPOSITOR.nice", -4);
 
 // Fire a memory pressure event when the system has less than Xmb of memory
 // remaining.  You should probably set this just above Y.KillUnderKB for
 // the highest priority class Y that you want to make an effort to keep alive.
 // (For example, we want BACKGROUND_PERCEIVABLE to stay alive.)  If you set
 // this too high, then we'll send out a memory pressure event every Z seconds
 // (see below), even while we have processes that we would happily kill in
 // order to free up memory.
-pref("hal.processPriorityManager.gonk.notifyLowMemUnderKB", 14336);
+pref("gonk.notifyHardLowMemUnderKB", 14336);
+
+// Fire a memory pressure event when the system has less than Xmb of memory
+// remaining and then switch to the hard trigger, see above.  This should be
+// placed above the BACKGROUND priority class.
+pref("gonk.notifySoftLowMemUnderKB", 43008);
 
 // We wait this long before polling the memory-pressure fd after seeing one
 // memory pressure event.  (When we're not under memory pressure, we sit
 // blocked on a poll(), and this pref has no effect.)
 pref("gonk.systemMemoryPressureRecoveryPollMS", 5000);
 
 // Enable pre-launching content processes for improved startup time
 // (hiding latency).
--- a/b2g/chrome/content/shell.css
+++ b/b2g/chrome/content/shell.css
@@ -57,16 +57,21 @@ body.content-loaded > #installing {
   border-radius: 100px;
   background-color: #FFF;
   animation-name: throbber;
   animation-duration: 1500ms;
   animation-iteration-count: infinite;
   animation-timing-function: linear;
 }
 
+#titlebar-buttonbox {
+  margin: 6px 7px;
+  -moz-appearance: -moz-window-button-box;
+}
+
 @keyframes throbber{
   from {
     transform: scale(0);
     opacity: 0.4;
   }
   to {
     transform: scale(400);
     opacity: 0;
--- a/b2g/chrome/content/shell.html
+++ b/b2g/chrome/content/shell.html
@@ -53,16 +53,17 @@
 #ifdef MOZ_WIDGET_COCOA
     <!--
      If the document is empty at startup, we don't display the window
      at all on Mac OS...
     -->
     <h1 id="placeholder">wtf mac os!</h1>
 #endif
 #else
+    <div id="titlebar-buttonbox"></div>
     <div id="installing">
       <div class="throbber"></div>
       <div class="message"></div>
     </div>
 #endif
     <!-- The html:iframe containing the UI is created here. -->
   </body>
 </html>
--- a/b2g/chrome/content/shell.js
+++ b/b2g/chrome/content/shell.js
@@ -839,19 +839,16 @@ var CustomEventManager = {
 
     switch(detail.type) {
       case 'webapps-install-granted':
       case 'webapps-install-denied':
       case 'webapps-uninstall-granted':
       case 'webapps-uninstall-denied':
         WebappsHelper.handleEvent(detail);
         break;
-      case 'select-choicechange':
-        FormsHelper.handleEvent(detail);
-        break;
       case 'system-message-listener-ready':
         Services.obs.notifyObservers(null, 'system-message-listener-ready', null);
         break;
       case 'captive-portal-login-cancel':
         CaptivePortalLoginHelper.handleEvent(detail);
         break;
       case 'inputmethod-update-layouts':
       case 'inputregistry-add':
--- a/b2g/components/AlertsService.js
+++ b/b2g/components/AlertsService.js
@@ -61,33 +61,46 @@ AlertsService.prototype = {
       case "xpcom-shutdown":
         Services.obs.removeObserver(this, "xpcom-shutdown");
         cpmm.removeMessageListener(kMessageAppNotificationReturn, this);
         break;
     }
   },
 
   // nsIAlertsService
+  showAlert: function(aAlert, aAlertListener) {
+    if (!aAlert) {
+      return;
+    }
+    cpmm.sendAsyncMessage(kMessageAlertNotificationSend, {
+      imageURL: aAlert.imageURL,
+      title: aAlert.title,
+      text: aAlert.text,
+      clickable: aAlert.textClickable,
+      cookie: aAlert.cookie,
+      listener: aAlertListener,
+      id: aAlert.name,
+      dir: aAlert.dir,
+      lang: aAlert.lang,
+      dataStr: aAlert.data,
+      inPrivateBrowsing: aAlert.inPrivateBrowsing
+    });
+  },
+
   showAlertNotification: function(aImageUrl, aTitle, aText, aTextClickable,
                                   aCookie, aAlertListener, aName, aBidi,
                                   aLang, aDataStr, aPrincipal,
                                   aInPrivateBrowsing) {
-    cpmm.sendAsyncMessage(kMessageAlertNotificationSend, {
-      imageURL: aImageUrl,
-      title: aTitle,
-      text: aText,
-      clickable: aTextClickable,
-      cookie: aCookie,
-      listener: aAlertListener,
-      id: aName,
-      dir: aBidi,
-      lang: aLang,
-      dataStr: aDataStr,
-      inPrivateBrowsing: aInPrivateBrowsing
-    });
+    let alert = Cc["@mozilla.org/alert-notification;1"].
+      createInstance(Ci.nsIAlertNotification);
+
+    alert.init(aName, aImageUrl, aTitle, aText, aTextClickable, aCookie,
+               aBidi, aLang, aDataStr, aPrincipal, aInPrivateBrowsing);
+
+    this.showAlert(alert, aAlertListener);
   },
 
   closeAlert: function(aName) {
     cpmm.sendAsyncMessage(kMessageAlertNotificationClose, {
       name: aName
     });
   },
 
--- a/b2g/components/FilePicker.js
+++ b/b2g/components/FilePicker.js
@@ -66,21 +66,22 @@ FilePicker.prototype = {
       throw Cr.NS_ERROR_NOT_IMPLEMENTED;
     }
   },
 
   /* readonly attribute nsILocalFile file - not implemented; */
   /* readonly attribute nsISimpleEnumerator files - not implemented; */
   /* readonly attribute nsIURI fileURL - not implemented; */
 
-  get domfiles() {
+  get domFileOrDirectoryEnumerator() {
     return this.mFilesEnumerator;
   },
 
-  get domfile() {
+  // We don't support directory selection yet.
+  get domFileOrDirectory() {
     return this.mFilesEnumerator ? this.mFilesEnumerator.mFiles[0] : null;
   },
 
   get mode() {
     return this.mMode;
   },
 
   appendFilters: function(filterMask) {
--- a/b2g/components/PersistentDataBlock.jsm
+++ b/b2g/components/PersistentDataBlock.jsm
@@ -35,16 +35,17 @@ const XPCOM_SHUTDOWN_OBSERVER_TOPIC = "x
 const PERSISTENT_DATA_BLOCK_PROPERTY = "ro.frp.pst";
 const OEM_UNLOCK_PROPERTY = "sys.oem_unlock_allowed";
 
 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
 Cu.import("resource://gre/modules/Services.jsm");
 
 XPCOMUtils.defineLazyModuleGetter(this, "OS", "resource://gre/modules/osfile.jsm");
 XPCOMUtils.defineLazyModuleGetter(this, "Promise", "resource://gre/modules/Promise.jsm");
+XPCOMUtils.defineLazyModuleGetter(this, "AppConstants", "resource://gre/modules/AppConstants.jsm");
 
 XPCOMUtils.defineLazyGetter(this, "libcutils", function () {
   Cu.import("resource://gre/modules/systemlibs.js");
   return libcutils;
 });
 
 var inParent = Cc["@mozilla.org/xre/app-info;1"]
                  .getService(Ci.nsIXULRuntime)
@@ -59,19 +60,19 @@ function debug(str) {
 }
 
 function toHexString(data) {
   function toHexChar(charCode) {
     return ("0" + charCode.toString(16).slice(-2));
   }
   let hexString = "";
   if (typeof data === "string") {
-    hexString = [toHexChar(data.charCodeAt(i)) for (i in data)].join("");
+    hexString = Array.from(data, (c, i) => toHexChar(data.charCodeAt(i))).join("");
   } else if (typeof data === "array") {
-    hexString = [toHexChar(data[i]) for (i in data)].join("");
+    hexString = data.map(toHexChar).join("");
   }
   return hexString;
 }
 
 function arr2bstr(arr) {
   let bstr = "";
   for (let i = 0; i < arr.length; i++) {
     bstr += String.fromCharCode(arr[i]);
@@ -141,17 +142,21 @@ this.PersistentDataBlock = {
       this._libcutils = libcutils;
     }
 
     if (!this.ctypes) {
       Cu.import("resource://gre/modules/ctypes.jsm", this);
     }
 
     if (this._libc.handler === null) {
-#ifdef MOZ_WIDGET_GONK
+      if (AppConstants.platform != "gonk") {
+        log("This component requires Gonk!");
+        throw Cr.NS_ERROR_ABORT;
+      }
+
       try {
         this._libc.handler = this.ctypes.open(this.ctypes.libraryName("c"));
         this._libc.close = this._libc.handler.declare("close",
                                                       this.ctypes.default_abi,
                                                       this.ctypes.int,
                                                       this.ctypes.int
                                                      );
         this._libc.open = this._libc.handler.declare("open",
@@ -166,20 +171,16 @@ this.PersistentDataBlock = {
                                                       this.ctypes.int,
                                                       this.ctypes.unsigned_long,
                                                       this.ctypes.unsigned_long.ptr);
 
       } catch(ex) {
         log("Unable to open libc.so: ex = " + ex);
         throw Cr.NS_ERROR_FAILURE;
       }
-#else
-      log("This component requires Gonk!");
-      throw Cr.NS_ERROR_ABORT;
-#endif
     }
 
     this._dataBlockFile = this._libcutils.property_get(PERSISTENT_DATA_BLOCK_PROPERTY);
     if (this._dataBlockFile === null) {
       log("init: ERROR: property " +  PERSISTENT_DATA_BLOCK_PROPERTY + " doesn't exist!");
       throw Cr.NS_ERROR_FAILURE;
     }
 
@@ -287,17 +288,21 @@ this.PersistentDataBlock = {
     debug("_getBlockDeviceSize()");
 
     // See _testing property
     if (this._testing === true) {
       debug("_getBlockDeviceSize: No real block device size in testing mode!. Returning 1024.");
       return 1024;
     }
 
-#ifdef MOZ_WIDGET_GONK
+    if (AppConstants.platform != "gonk") {
+      log("_getBlockDeviceSize: ERROR: This feature is only supported in Gonk!");
+      return -1;
+    }
+
     const O_READONLY = 0;
     const O_NONBLOCK = 1 << 11;
     /* Getting the correct values for ioctl() operations by reading the headers is not a trivial task, so
      * the better way to get the values below is by writting a simple test aplication in C that will
      * print the values to the output.
      * 32bits and 64bits value for ioctl() BLKGETSIZE64 operation is different. So we will fallback in
      * case ioctl() returns ENOTTY (22). */
     const BLKGETSIZE64_32_BITS = 0x80041272;
@@ -327,20 +332,16 @@ this.PersistentDataBlock = {
         this._libc.close(fd);
         log("_getBlockDeviceSize: couldn't get block device size!: errno = " + this.ctypes.errno);
         throw Cr.NS_ERROR_FAILURE;
       }
     }
     this._libc.close(fd);
     debug("_getBlockDeviceSize: size =" + size.value);
     return size.value;
-#else
-    log("_getBlockDeviceSize: ERROR: This feature is only supported in Gonk!");
-    return -1;
-#endif
   },
 
   /**
    * Sets the byte into the partition which represents the OEM Unlock Enabled feature.
    * A value of "1" means that the user doesn't want to enable KillSwitch.
    * The byte is the last one byte into the device block.
    *
    * @param isSetOemUnlockEnabled {bool} If true, sets the OEM Unlock Enabled byte to 1.
@@ -382,17 +383,17 @@ this.PersistentDataBlock = {
     let partition;
     return this._computeDigest().then(_digest => {
       digest = _digest;
       return OS.File.open(this._dataBlockFile, {write:true, existing:true, append:false});
     }).then(_partition => {
       partition = _partition;
       return partition.setPosition(DIGEST_OFFSET, OS.File.POS_START);
     }).then(() => {
-      return partition.write(new Uint8Array([digest.calculated.charCodeAt(i) for (i in digest.calculated)]));
+      return partition.write(new Uint8Array(Array.from(digest.calculated, (c, i) => digest.calculated.charCodeAt(i))));
     }).then(bytesWrittenLength => {
       if (bytesWrittenLength != DIGEST_SIZE_BYTES) {
         log("_computeAndWriteDigest: Error writting digest to partition!. Expected: " + DIGEST_SIZE_BYTES + " Written: " + bytesWrittenLength);
         return Promise.reject();
       }
       return partition.close();
     }).then(() => {
       debug("_computeAndWriteDigest: digest written to partition");
@@ -599,17 +600,21 @@ this.PersistentDataBlock = {
   wipe: function() {
     debug("wipe()");
 
     if (this._testing === true) {
       log("wipe: No wipe() funcionality in testing mode");
       return Promise.resolve();
     }
 
-#ifdef MOZ_WIDGET_GONK
+    if (AppConstants.platform != "gonk") {
+      log("wipe: ERROR: This feature is only supported in Gonk!");
+      return Promise.reject();
+    }
+
     const O_READONLY = 0;
     const O_RDWR = 2;
     const O_NONBLOCK = 1 << 11;
     // This constant value is the same under 32 and 64 bits arch.
     const BLKSECDISCARD = 0x127D;
     // This constant value is the same under 32 and 64 bits arch.
     const BLKDISCARD = 0x1277;
 
@@ -641,20 +646,16 @@ this.PersistentDataBlock = {
           log("wipe: non-secure discard used and succeed");
           return resolve();
         }
       }
       this._libc.close(fd);
       log("wipe: secure discard succeed");
       return resolve();
     });
-#else
-    log("wipe: ERROR: This feature is only supported in Gonk!");
-    return Promise.reject();
-#endif
   },
 
   /**
    * Set the OEM Unlock Enabled field (one byte at the end of the partition), to 1 or 0 depending on
    * the input parameter.
    *
    * @param enabled {bool} If enabled, we write a 1 in the last byte of the partition.
    *
--- a/b2g/components/moz.build
+++ b/b2g/components/moz.build
@@ -65,24 +65,21 @@ EXTRA_JS_MODULES += [
     'Frames.jsm',
     'FxAccountsMgmtService.jsm',
     'KillSwitchMain.jsm',
     'LogCapture.jsm',
     'LogParser.jsm',
     'LogShake.jsm',
     'MultiscreenHandler.jsm',
     'OrientationChangeHandler.jsm',
+    'PersistentDataBlock.jsm',
     'SafeMode.jsm',
     'Screenshot.jsm',
     'SignInToWebsite.jsm',
     'SystemAppProxy.jsm',
     'TelURIParser.jsm',
     'WebappsUpdater.jsm',
 ]
 
-EXTRA_PP_JS_MODULES += [
-    'PersistentDataBlock.jsm'
-]
-
 if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gonk':
     EXTRA_JS_MODULES += [
       'GlobalSimulatorScreen.jsm'
     ]
--- a/b2g/components/test/unit/file_persistentdatablock.js
+++ b/b2g/components/test/unit/file_persistentdatablock.js
@@ -27,19 +27,19 @@ function log(str) {
 }
 
 function toHexString(data) {
   function toHexChar(charCode) {
     return ("0" + charCode.toString(16).slice(-2));
   }
   let hexString = "";
   if (typeof data === "string") {
-    hexString = [toHexChar(data.charCodeAt(i)) for (i in data)].join("");
+    hexString = Array.from(data, (c, i) => toHexChar(data.charCodeAt(i))).join("");
   } else if (typeof data === "array") {
-    hexString = [toHexChar(data[i]) for (i in data)].join("");
+    hexString = data.map(toHexChar).join("");
   }
   return hexString;
 }
 
 function _prepareConfig(_args) {
   let args = _args || {};
   // This digest has been previously calculated given the data to be written later, and setting the OEM Unlocked Enabled byte
   // to 1. If we need different values, some tests will fail because this precalculated digest won't be valid then.
--- a/b2g/components/test/unit/xpcshell.ini
+++ b/b2g/components/test/unit/xpcshell.ini
@@ -13,24 +13,30 @@ support-files =
 [test_signintowebsite.js]
 head = head_identity.js
 tail =
 
 # testing non gonk-specific stuff
 [test_logcapture.js]
 
 [test_logcapture_gonk.js]
+# can be slow because of what the test does, so let's give it some more time
+# to avoid intermittents: bug 1212395
+requesttimeoutfactor = 2
 # only run on b2g builds due to requiring b2g-specific log files to exist
 skip-if = toolkit != "gonk"
 
 [test_logparser.js]
 
 [test_logshake.js]
 
 [test_logshake_gonk.js]
+# can be slow because of what the test does, so let's give it some more time
+# to avoid intermittents: bug 1144499
+requesttimeoutfactor = 2
 head = head_logshake_gonk.js
 # only run on b2g builds due to requiring b2g-specific log files to exist
 skip-if = (toolkit != "gonk")
 
 [test_logshake_gonk_compression.js]
 head = head_logshake_gonk.js
 # only run on b2g builds due to requiring b2g-specific log files to exist
 skip-if = (toolkit != "gonk")
@@ -47,12 +53,15 @@ head = file_killswitch.js
 skip-if = (toolkit == "gonk")
 
 [test_killswitch_gonk.js]
 head = file_killswitch.js
 # Bug 1193677: disable on B2G ICS Emulator for intermittent failures with IndexedDB
 skip-if = ((toolkit != "gonk") || (toolkit == "gonk" && debug))
 
 [test_persistentdatablock_gonk.js]
+# can be slow because of what the test does, so let's give it some more time
+# to avoid intermittents: bug 1235290
+requesttimeoutfactor = 2
 head = file_persistentdatablock.js
 skip-if = (toolkit != "gonk")
 
 
new file mode 100644
--- /dev/null
+++ b/b2g/config/aries-l/sources.xml
@@ -0,0 +1,193 @@
+<?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="6164cd7af92ec2a3422d48f17f9577fc9b3f7ff4"/>
+  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="35dccb3127db8f39f20b985ad312d2cd44780669"/>
+  <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
+  <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
+  <!-- B2G specific things. -->
+  <project name="platform_build" path="build" remote="b2g" revision="be4b291a90b371b41b62ade68c31ad173bb87baa">
+    <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="9eb1475f0ec4b6512cf43206845b504d61c989b2"/>
+  <!-- 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 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 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="bb356d6505f914347690c8143dbd03af427dd07e"/>
+  <project name="platform/system/extras" path="system/extras" revision="7eb50bad98466762626ae1dd31df2acd77202c06"/>
+  <project name="platform_system_libfdio" path="system/libfdio" remote="b2g" revision="34adfb400e031f3dd3353d92413572db5e3a7376"/>
+  <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="f4f1a6f3260d88f11671d57b4b759c0831a5c764"/>
+  <project name="device-qcom-sepolicy" path="device/qcom/sepolicy" remote="b2g" revision="e0a1cce6a8559ccc88e15da148531d36e18ae5f7"/>
+  <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="e7ee149283eaec32a525ee39b2ecdca46d502e77"/>
+  <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="4cbb0abc00681f116f043584661307b5c4855a31"/>
+  <project name="sony-camera-hal" path="hardware/qcom/camera" remote="b2g" revision="22805439075263b20b0aee1298e003187a9c180b"/>
+  <!-- Shinano platform specific things -->
+  <project groups="device" name="device-sony-shinano" path="device/sony/shinano" remote="b2g" revision="b9b4ecf084414c1e6b5951a95ebcb24522fa74e3"/>
+  <project groups="device" name="device-sony-aries" path="device/sony/aries" remote="b2g" revision="56f665a19e35623d923949014bc15013d292fa37"/>
+  <project groups="device" name="device-sony-leo" path="device/sony/leo" remote="b2g" revision="3fdec3f02117be6b57d2f9c5946119f179119a51"/>
+  <project groups="device" name="device-sony-scorpion" path="device/sony/scorpion" remote="b2g" revision="b0cd32cb805637d2afda61b67d0421e2c39b2ffa"/>
+  <project groups="device" name="device-sony-sirius" path="device/sony/sirius" remote="b2g" revision="5e5c19c6cd7c042bcac41a2b30b3ad3eeb66e7ab"/>
+  <!-- Rhine platform specific things -->
+  <project groups="device" name="device-sony-rhine" path="device/sony/rhine" remote="b2g" revision="4a9cd1f110d83b035cfea2e337504af9104cb67c"/>
+  <project groups="device" name="device-sony-honami" path="device/sony/honami" remote="b2g" revision="f8a9d6d3a2ce73d336453b71db591a82f72a2120"/>
+  <project groups="device" name="device-sony-amami" path="device/sony/amami" remote="b2g" revision="9f05cdc34e60df19fcd9189ff8a14f752dcf07b9"/>
+  <!-- Yukon platform specific things -->
+  <project name="device-sony-yukon" path="device/sony/yukon" remote="b2g" revision="1e8e253c7e9b7b72118b4c7c15b9498014fc7c0e"/>
+  <project name="device-sony-tianchi" path="device/sony/tianchi" remote="b2g" revision="571afbafe2abf52e031c2484f38ca5f6f81a114a"/>
+  <project name="device-sony-eagle" path="device/sony/eagle" remote="b2g" revision="b253fa75f0eeea10a1fa747fd98deb80ec71a654"/>
+  <project name="device-sony-flamingo" path="device/sony/flamingo" remote="b2g" revision="44fb20f16a9b1a44af6109dbfad2a975ca29fece"/>
+  <project name="device-sony-seagull" path="device/sony/seagull" remote="b2g" revision="666810a3b77df8cd7a5e68e3d041052b6dd8cd22"/>
+</manifest>
--- a/b2g/config/aries/sources.xml
+++ b/b2g/config/aries/sources.xml
@@ -16,31 +16,31 @@
   <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="1899109c9fd9b9e2244155c4b9e966c0a48368fc"/>
-  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="4a962bdab532e18f53e9d2d114c349983262c6b7"/>
+  <project name="gaia" path="gaia" remote="mozillaorg" revision="6164cd7af92ec2a3422d48f17f9577fc9b3f7ff4"/>
+  <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="35dccb3127db8f39f20b985ad312d2cd44780669"/>
   <project name="moztt" path="external/moztt" remote="b2g" revision="99c333dab00ed79baff9e1cf76b320aee8e1c123"/>
   <project name="platform_hardware_libhardware_moz" path="hardware/libhardware_moz" remote="b2g" revision="fdf3a143dc777e5f9d33a88373af7ea161d3b440"/>
   <!-- B2G specific things. -->
   <project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
     <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="b516c3e0f6770d8acb6b4dff18b39e19cb4e4731"/>
+  <project name="apitrace" path="external/apitrace" remote="apitrace" revision="9eb1475f0ec4b6512cf43206845b504d61c989b2"/>
   <!-- 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/