This commit is contained in:
Wes Kocher 2014-09-05 19:13:59 -07:00
Родитель a5dce4941f ca62a34614
Коммит 36598de845
18 изменённых файлов: 201 добавлений и 81 удалений

Просмотреть файл

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="fe92ddd450e03b38edb2d465de7897971d68ac68">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
@ -23,7 +23,7 @@
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<!-- 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"/>
@ -120,7 +120,7 @@
<project name="platform/system/media" path="system/media" revision="7ff72c2ea2496fa50b5e8a915e56e901c3ccd240"/>
<project name="platform/system/netd" path="system/netd" revision="3ae56364946d4a5bf5a5f83f12f9a45a30398e33"/>
<project name="platform/system/security" path="system/security" revision="ee8068b9e7bfb2770635062fc9c2035be2142bd8"/>
<project name="platform/system/vold" path="system/vold" revision="118dec582647895a863dbbce8ec26bc7af457bbe"/>
<project name="platform/system/vold" path="system/vold" revision="2e43efe1b30d0b98574d293059556aebd2f46454"/>
<!--original fetch url was http://sprdsource.spreadtrum.com:8085/b2g/android-->
<remote fetch="https://git.mozilla.org/external/sprd-aosp" name="sprd-aosp"/>
<default remote="sprd-aosp" revision="sprdb2g_gonk4.4" sync-j="4"/>

Просмотреть файл

@ -19,13 +19,13 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="c058843242068d0df7c107e09da31b53d2e08fa6"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
<project name="platform/bionic" path="bionic" revision="c72b8f6359de7ed17c11ddc9dfdde3f615d188a9"/>

Просмотреть файл

@ -17,10 +17,10 @@
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<!-- Stock Android things -->

Просмотреть файл

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="fe92ddd450e03b38edb2d465de7897971d68ac68">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
@ -23,7 +23,7 @@
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<!-- Stock Android things -->
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="f92a936f2aa97526d4593386754bdbf02db07a12"/>
<project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="6e47ff2790f5656b5b074407829ceecf3e6188c4"/>

Просмотреть файл

@ -19,13 +19,13 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/>
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="c058843242068d0df7c107e09da31b53d2e08fa6"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
<project name="platform/bionic" path="bionic" revision="c72b8f6359de7ed17c11ddc9dfdde3f615d188a9"/>

Просмотреть файл

@ -15,7 +15,7 @@
<project name="platform_build" path="build" remote="b2g" revision="fe92ddd450e03b38edb2d465de7897971d68ac68">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
@ -23,7 +23,7 @@
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<!-- 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"/>

Просмотреть файл

@ -17,10 +17,10 @@
</project>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<!-- Stock Android things -->

Просмотреть файл

@ -4,6 +4,6 @@
"remote": "",
"branch": ""
},
"revision": "4a65d170154483d723a976506190db72ca5d6e6d",
"revision": "e7a7c126f48f4ea3bded1f2e9ee5e4f79ae1be9e",
"repo_path": "/integration/gaia-central"
}

Просмотреть файл

@ -17,12 +17,12 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
<project name="platform/bionic" path="bionic" revision="d2eb6c7b6e1bc7643c17df2d9d9bcb1704d0b9ab"/>

Просмотреть файл

@ -15,7 +15,7 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>

Просмотреть файл

@ -17,10 +17,10 @@
</project>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
<!-- Stock Android things -->

Просмотреть файл

@ -17,12 +17,12 @@
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="0de5fcdc11a15abdf8d64f28bed2abb30041ea4d"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="c7de02ef1e0ad97d86e5bbef2d19828a236aea27"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="6969df171e5295f855f12d12db0382048e6892e7"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="2d42429985b77df4bb001dbdd2802518aa86b713"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="facdb3593e63dcbb740709303a5b2527113c50a0"/>
<project name="gonk-patches" path="patches" remote="b2g" revision="223a2421006e8f5da33f516f6891c87cae86b0f6"/>
<!-- Stock Android things -->
<project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>

Просмотреть файл

@ -67,6 +67,8 @@ window.busy-determined #action-busy-undetermined {
#project-panel-button {
-moz-box-pack: start;
width: 150px;
max-width: 150px;
}
#project-panel-button > .panel-button-image {
@ -86,6 +88,7 @@ window.busy-determined #action-busy-undetermined {
}
#project-panel-button > .panel-button-label {
width: 150px;
max-width: 150px;
}

Просмотреть файл

@ -79,6 +79,32 @@ public class BrowserLocaleManager implements LocaleManager {
return AppConstants.MOZ_LOCALE_SWITCHER;
}
/**
* Sometimes we want just the language for a locale, not the entire
* language tag. But Java's .getLanguage method is wrong.
*
* This method is equivalent to the first part of {@link #getLanguageTag(Locale)}.
*
* @return a language string, such as "he" for the Hebrew locales.
*/
public static String getLanguage(final Locale locale) {
final String language = locale.getLanguage(); // Can, but should never be, an empty string.
// Modernize certain language codes.
if (language.equals("iw")) {
return "he";
}
if (language.equals("in")) {
return "id";
}
if (language.equals("ji")) {
return "yi";
}
return language;
}
/**
* Gecko uses locale codes like "es-ES", whereas a Java {@link Locale}
* stringifies as "es_ES".
@ -91,17 +117,8 @@ public class BrowserLocaleManager implements LocaleManager {
// If this were Java 7:
// return locale.toLanguageTag();
String language = locale.getLanguage(); // Can, but should never be, an empty string.
// Modernize certain language codes.
if (language.equals("iw")) {
language = "he";
} else if (language.equals("in")) {
language = "id";
} else if (language.equals("ji")) {
language = "yi";
}
String country = locale.getCountry(); // Can be an empty string.
final String language = getLanguage(locale);
final String country = locale.getCountry(); // Can be an empty string.
if (country.equals("")) {
return language;
}

Просмотреть файл

@ -758,6 +758,36 @@ ActivePluginsMeasurement.prototype = Object.freeze({
},
});
function ActiveGMPluginsMeasurement() {
Metrics.Measurement.call(this);
this._serializers = {};
this._serializers[this.SERIALIZE_JSON] = {
singular: this._serializeJSONSingular.bind(this),
};
}
ActiveGMPluginsMeasurement.prototype = Object.freeze({
__proto__: Metrics.Measurement.prototype,
name: "gm-plugins",
version: 1,
fields: {
"gm-plugins": LAST_TEXT_FIELD,
},
_serializeJSONSingular: function (data) {
if (!data.has("gm-plugins")) {
this._log.warn("Don't have GM plugins info. Weird.");
return null;
}
let result = JSON.parse(data.get("gm-plugins")[1]);
result._v = this.version;
return result;
},
});
function AddonCountsMeasurement() {
Metrics.Measurement.call(this);
@ -834,6 +864,7 @@ AddonsProvider.prototype = Object.freeze({
measurementTypes: [
ActiveAddonsMeasurement,
ActivePluginsMeasurement,
ActiveGMPluginsMeasurement,
AddonCountsMeasurement1,
AddonCountsMeasurement,
],
@ -869,10 +900,12 @@ AddonsProvider.prototype = Object.freeze({
let data;
let addonsField;
let pluginsField;
let gmPluginsField;
try {
data = this._createDataStructure(allAddons);
addonsField = JSON.stringify(data.addons);
pluginsField = JSON.stringify(data.plugins);
gmPluginsField = JSON.stringify(data.gmPlugins);
} catch (ex) {
this._log.warn("Exception when populating add-ons data structure: " +
CommonUtils.exceptionStr(ex));
@ -883,6 +916,7 @@ AddonsProvider.prototype = Object.freeze({
let now = new Date();
let addons = this.getMeasurement("addons", 2);
let plugins = this.getMeasurement("plugins", 1);
let gmPlugins = this.getMeasurement("gm-plugins", 1);
let counts = this.getMeasurement(AddonCountsMeasurement.prototype.name,
AddonCountsMeasurement.prototype.version);
@ -901,7 +935,15 @@ AddonsProvider.prototype = Object.freeze({
return addons.setLastText("addons", addonsField).then(
function onSuccess() {
return plugins.setLastText("plugins", pluginsField).then(
function onSuccess() { deferred.resolve(); },
function onSuccess() {
return gmPlugins.setLastText("gm-plugins", gmPluginsField).then(
function onSuccess() {
deferred.resolve();
},
function onError(error) {
deferred.reject(error);
});
},
function onError(error) { deferred.reject(error); }
);
},
@ -938,6 +980,7 @@ AddonsProvider.prototype = Object.freeze({
let data = {
addons: {},
plugins: {},
gmPlugins: {},
counts: {}
};
@ -945,8 +988,16 @@ AddonsProvider.prototype = Object.freeze({
let type = addon.type;
// We count plugins separately below.
if (addon.type == "plugin")
if (addon.type == "plugin") {
if (addon.gmPlugin) {
data.gmPlugins[addon.id] = {
version: addon.version,
userDisabled: addon.userDisabled,
applyBackgroundUpdates: addon.applyBackgroundUpdates,
};
}
continue;
}
data.counts[type] = (data.counts[type] || 0) + 1;

Просмотреть файл

@ -116,6 +116,21 @@ add_task(function test_collect() {
updateDate: now,
description: "addon3 description"
},
{
// Should be excluded from the report completely
id: "pluginfake",
type: "plugin",
userDisabled: false,
appDisabled: false,
},
{
// Should be in gm-plugins
id: "gmp-testgmp",
type: "plugin",
userDisabled: false,
version: "7.2",
gmPlugin: true,
},
];
monkeypatchAddons(provider, testAddons);
@ -186,6 +201,8 @@ add_task(function test_collect() {
do_check_true(!("addon1" in value));
do_check_true(!("addon2" in value));
do_check_true("addon3" in value);
do_check_true(!("pluginfake" in value));
do_check_true(!("gmp-testgmp" in value));
let serializer = addons.serializer(addons.SERIALIZE_JSON);
let serialized = serializer.singular(data.singular);
@ -237,6 +254,30 @@ add_task(function test_collect() {
}
do_check_eq(serialized._v, 1);
// Test GMP plugins measurement.
let gmPlugins = provider.getMeasurement("gm-plugins", 1);
data = yield gmPlugins.getValues();
do_check_eq(data.days.size, 0);
do_check_eq(data.singular.size, 1);
do_check_true(data.singular.has("gm-plugins"));
json = data.singular.get("gm-plugins")[1];
value = JSON.parse(json);
do_print("value: " + json);
do_check_eq(typeof(value), "object");
do_check_eq(Object.keys(value).length, 1);
do_check_eq(value["gmp-testgmp"].version, "7.2");
do_check_eq(value["gmp-testgmp"].userDisabled, false);
serializer = gmPlugins.serializer(plugins.SERIALIZE_JSON);
serialized = serializer.singular(data.singular);
do_check_eq(typeof(serialized), "object");
do_check_eq(serialized["gmp-testgmp"].version, "7.2");
do_check_eq(serialized._v, 1);
// Test counts measurement.
let counts = provider.getMeasurement("counts", 2);

Просмотреть файл

@ -23,12 +23,12 @@ Cu.import("resource://gre/modules/devtools/dbg-server.jsm");
* # ConnectionManager
*
* Methods:
* Connection createConnection(host, port)
* void destroyConnection(connection)
* Number getFreeTCPPort()
* . Connection createConnection(host, port)
* . void destroyConnection(connection)
* . Number getFreeTCPPort()
*
* Properties:
* Array connections
* . Array connections
*
* # Connection
*
@ -38,33 +38,34 @@ Cu.import("resource://gre/modules/devtools/dbg-server.jsm");
* will re-create a debugger client.
*
* Methods:
* connect() Connect to host:port. Expect a "connecting" event. If
* host is not specified, a local pipe is used
* disconnect() Disconnect if connected. Expect a "disconnecting" event
* . connect() Connect to host:port. Expect a "connecting" event.
* If no host is not specified, a local pipe is used
* . connect(transport) Connect via transport. Expect a "connecting" event.
* . disconnect() Disconnect if connected. Expect a "disconnecting" event
*
* Properties:
* host IP address or hostname
* port Port
* logs Current logs. "newlog" event notifies new available logs
* store Reference to a local data store (see below)
* keepConnecting Should the connection keep trying connecting
* status Connection status:
* Connection.Status.CONNECTED
* Connection.Status.DISCONNECTED
* Connection.Status.CONNECTING
* Connection.Status.DISCONNECTING
* Connection.Status.DESTROYED
* . host IP address or hostname
* . port Port
* . logs Current logs. "newlog" event notifies new available logs
* . store Reference to a local data store (see below)
* . keepConnecting Should the connection keep trying connecting
* . status Connection status:
* Connection.Status.CONNECTED
* Connection.Status.DISCONNECTED
* Connection.Status.CONNECTING
* Connection.Status.DISCONNECTING
* Connection.Status.DESTROYED
*
* Events (as in event-emitter.js):
* Connection.Events.CONNECTING Trying to connect to host:port
* Connection.Events.CONNECTED Connection is successful
* Connection.Events.DISCONNECTING Trying to disconnect from server
* Connection.Events.DISCONNECTED Disconnected (at client request, or because of a timeout or connection error)
* Connection.Events.STATUS_CHANGED The connection status (connection.status) has changed
* Connection.Events.TIMEOUT Connection timeout
* Connection.Events.HOST_CHANGED Host has changed
* Connection.Events.PORT_CHANGED Port has changed
* Connection.Events.NEW_LOG A new log line is available
* . Connection.Events.CONNECTING Trying to connect to host:port
* . Connection.Events.CONNECTED Connection is successful
* . Connection.Events.DISCONNECTING Trying to disconnect from server
* . Connection.Events.DISCONNECTED Disconnected (at client request, or because of a timeout or connection error)
* . Connection.Events.STATUS_CHANGED The connection status (connection.status) has changed
* . Connection.Events.TIMEOUT Connection timeout
* . Connection.Events.HOST_CHANGED Host has changed
* . Connection.Events.PORT_CHANGED Port has changed
* . Connection.Events.NEW_LOG A new log line is available
*
*/
@ -187,16 +188,21 @@ Connection.prototype = {
}
},
connect: function() {
connect: function(transport) {
if (this.status == Connection.Status.DESTROYED) {
return;
}
if (!this._client) {
this.log("connecting to " + this.host + ":" + this.port);
this._transport = transport;
if (this._transport) {
this.log("connecting (custom transport)");
} else {
this.log("connecting to " + this.host + ":" + this.port);
}
this._setStatus(Connection.Status.CONNECTING);
let delay = Services.prefs.getIntPref("devtools.debugger.remote-timeout");
this._timeoutID = setTimeout(this._onTimeout, delay);
this._clientConnect();
} else {
let msg = "Can't connect. Client is not fully disconnected";
@ -217,23 +223,24 @@ Connection.prototype = {
},
_clientConnect: function () {
let transport;
if (!this.host) {
transport = DebuggerServer.connectPipe();
} else {
try {
transport = debuggerSocketConnect(this.host, this.port);
} catch (e) {
// In some cases, especially on Mac, the openOutputStream call in
// debuggerSocketConnect may throw NS_ERROR_NOT_INITIALIZED.
// It occurs when we connect agressively to the simulator,
// and keep trying to open a socket to the server being started in
// the simulator.
this._onDisconnected();
return;
if (!this._transport) {
if (!this.host) {
this._transport = DebuggerServer.connectPipe();
} else {
try {
this._transport = debuggerSocketConnect(this.host, this.port);
} catch (e) {
// In some cases, especially on Mac, the openOutputStream call in
// debuggerSocketConnect may throw NS_ERROR_NOT_INITIALIZED.
// It occurs when we connect agressively to the simulator,
// and keep trying to open a socket to the server being started in
// the simulator.
this._onDisconnected();
return;
}
}
}
this._client = new DebuggerClient(transport);
this._client = new DebuggerClient(this._transport);
this._client.addOneTimeListener("closed", this._onDisconnected);
this._client.connect(this._onConnected);
},

Просмотреть файл

@ -87,6 +87,7 @@ let OpenH264Wrapper = {
get id() { return OPENH264_PLUGIN_ID; },
get type() { return "plugin"; },
get isGMPlugin() { return true; },
get name() { return pluginsBundle.GetStringFromName("openH264_name"); },
get creator() { return null; },
get homepageURL() { return OPENH264_HOMEPAGE_URL; },