зеркало из https://github.com/mozilla/gecko-dev.git
Merge b2ginbound to m-c a=merge CLOSED TREE
This commit is contained in:
Коммит
e974133aa5
|
@ -15,6 +15,7 @@ const UPDATE_ARCHIVE_DIR = "UpdArchD"
|
|||
const LOCAL_DIR = "/data/local";
|
||||
const UPDATES_DIR = "updates/0";
|
||||
const FOTA_DIR = "updates/fota";
|
||||
const COREAPPSDIR_PREF = "b2g.coreappsdir"
|
||||
|
||||
XPCOMUtils.defineLazyServiceGetter(Services, "env",
|
||||
"@mozilla.org/process/environment;1",
|
||||
|
@ -97,12 +98,27 @@ DirectoryProvider.prototype = {
|
|||
return this.getUpdateDir(persistent, FOTA_DIR, 1.1);
|
||||
}
|
||||
#else
|
||||
// In desktop builds, coreAppsDir is the same as the profile directory.
|
||||
// We just need to get the path from the parent, and it is then used to
|
||||
// build jar:remoteopenfile:// uris.
|
||||
// In desktop builds, coreAppsDir is the same as the profile
|
||||
// directory unless otherwise specified. We just need to get the
|
||||
// path from the parent, and it is then used to build
|
||||
// jar:remoteopenfile:// uris.
|
||||
if (prop == "coreAppsDir") {
|
||||
let appsDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
|
||||
appsDir.append("webapps");
|
||||
let coreAppsDirPref;
|
||||
try {
|
||||
coreAppsDirPref = Services.prefs.getCharPref(COREAPPSDIR_PREF);
|
||||
} catch (e) {
|
||||
// coreAppsDirPref may not exist if we're on an older version
|
||||
// of gaia, so just fail silently.
|
||||
}
|
||||
let appsDir;
|
||||
// If pref doesn't exist or isn't set, default to old value
|
||||
if (!coreAppsDirPref || coreAppsDirPref == "") {
|
||||
appsDir = Services.dirsvc.get("ProfD", Ci.nsIFile);
|
||||
appsDir.append("webapps");
|
||||
} else {
|
||||
appsDir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile)
|
||||
appsDir.initWithPath(coreAppsDirPref);
|
||||
}
|
||||
persistent.value = true;
|
||||
return appsDir;
|
||||
} else if (prop == "ProfD") {
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="ef937d1aca7c4cf89ecb5cc43ae8c21c2000a9db">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<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="40f5ce12859076b63307480ff2f0bbdf42bbf258"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="acca7d20b79978cff975e755e5e0bac9f731a6f7"/>
|
||||
<!-- 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"/>
|
||||
|
@ -138,7 +138,7 @@
|
|||
<project name="platform/system/core" path="system/core" revision="a626f6c0ef9e88586569331bd7387b569eaa5ed2"/>
|
||||
<project name="u-boot" path="u-boot" revision="f1502910977ac88f43da7bf9277c3523ad4b0b2f"/>
|
||||
<project name="vendor/sprd/gps" path="vendor/sprd/gps" revision="4c59900937dc2e978b7b14b7f1ea617e3d5d550e"/>
|
||||
<project name="vendor/sprd/open-source" path="vendor/sprd/open-source" revision="1344e9e5b9d0b6c8f7909731f9d14fabeb1bdc8f"/>
|
||||
<project name="vendor/sprd/open-source" path="vendor/sprd/open-source" revision="8a81f598126f4153b80c1a2425343174b6cffd79"/>
|
||||
<project name="vendor/sprd/partner" path="vendor/sprd/partner" revision="8649c7145972251af11b0639997edfecabfc7c2e"/>
|
||||
<project name="vendor/sprd/proprietories" path="vendor/sprd/proprietories" revision="d2466593022f7078aaaf69026adf3367c2adb7bb"/>
|
||||
</manifest>
|
||||
|
|
|
@ -19,7 +19,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="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="93f9ba577f68d772093987c2f1c0a4ae293e1802"/>
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="40f5ce12859076b63307480ff2f0bbdf42bbf258"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="acca7d20b79978cff975e755e5e0bac9f731a6f7"/>
|
||||
<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="ef937d1aca7c4cf89ecb5cc43ae8c21c2000a9db">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<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="40f5ce12859076b63307480ff2f0bbdf42bbf258"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="acca7d20b79978cff975e755e5e0bac9f731a6f7"/>
|
||||
<!-- 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"/>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="52775e03a2d8532429dff579cb2cd56718e488c3">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<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="40f5ce12859076b63307480ff2f0bbdf42bbf258"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="acca7d20b79978cff975e755e5e0bac9f731a6f7"/>
|
||||
<!-- 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="50d1ca4ab8add54523b7bc692860d57e8ee4c0d1"/>
|
||||
<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="fb3845864573857677f9b500040a8f011eaf5078"/>
|
||||
|
|
|
@ -19,7 +19,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="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="93f9ba577f68d772093987c2f1c0a4ae293e1802"/>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<project name="platform_build" path="build" remote="b2g" revision="ef937d1aca7c4cf89ecb5cc43ae8c21c2000a9db">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<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="40f5ce12859076b63307480ff2f0bbdf42bbf258"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="acca7d20b79978cff975e755e5e0bac9f731a6f7"/>
|
||||
<!-- 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="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="40f5ce12859076b63307480ff2f0bbdf42bbf258"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="acca7d20b79978cff975e755e5e0bac9f731a6f7"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<!-- Stock Android things -->
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"git": {
|
||||
"git_revision": "c39e15f631de80c69467fda0d4ea0bcda9e194ca",
|
||||
"git_revision": "8837f94418d69a0b06c1f4843b0779e2bb72165a",
|
||||
"remote": "https://git.mozilla.org/releases/gaia.git",
|
||||
"branch": ""
|
||||
},
|
||||
"revision": "a7732a117f9499b15cc27c022a11cd75ef71f477",
|
||||
"revision": "e034a24fa2dcff4623dce2d91f7828d582abf50d",
|
||||
"repo_path": "integration/gaia-central"
|
||||
}
|
||||
|
|
|
@ -17,10 +17,10 @@
|
|||
</project>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="40f5ce12859076b63307480ff2f0bbdf42bbf258"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="acca7d20b79978cff975e755e5e0bac9f731a6f7"/>
|
||||
<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="52775e03a2d8532429dff579cb2cd56718e488c3">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="c39e15f631de80c69467fda0d4ea0bcda9e194ca"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="8837f94418d69a0b06c1f4843b0779e2bb72165a"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="86cd7486d8e50eaac8ef6fe2f51f09d25194577b"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<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="40f5ce12859076b63307480ff2f0bbdf42bbf258"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="acca7d20b79978cff975e755e5e0bac9f731a6f7"/>
|
||||
<!-- 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="50d1ca4ab8add54523b7bc692860d57e8ee4c0d1"/>
|
||||
<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="fb3845864573857677f9b500040a8f011eaf5078"/>
|
||||
|
@ -142,7 +142,6 @@
|
|||
<!-- Nexus 5 specific things -->
|
||||
<project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="ba62cc8b78c30d36181b8060a2016cc8da166236"/>
|
||||
<project name="device-hammerhead" path="device/lge/hammerhead" remote="b2g" revision="c37663f828891cf7a49451a04f3f1ce7f7e5c054"/>
|
||||
<project name="device/qcom/common" path="device/qcom/common" remote="caf" revision="3697e5acf25629b82658334e3f8ee3b6df5becab"/>
|
||||
<project name="device_lge_hammerhead-kernel" path="device/lge/hammerhead-kernel" remote="b2g" revision="1268f640184df5ef759ada669f101a613451673a"/>
|
||||
<project name="platform/external/libnfc-nci" path="external/libnfc-nci" revision="0cb8574d338bf9f15b45ace7c08ad6deae9673ee"/>
|
||||
<project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="16abda2258c9aa1ed78f00bb0a9b2b43b4cb919e"/>
|
||||
|
|
|
@ -925,6 +925,10 @@ ManifestHelper.prototype = {
|
|||
// If no start point is specified, we use the root launch path.
|
||||
// In all error cases, we just return null.
|
||||
if ((aStartPoint || "") === "") {
|
||||
// W3C start_url takes precedence over mozApps launch_path
|
||||
if (this._localeProp("start_url")) {
|
||||
return this._baseURI.resolve(this._localeProp("start_url") || "/");
|
||||
}
|
||||
return this._baseURI.resolve(this._localeProp("launch_path") || "/");
|
||||
}
|
||||
|
||||
|
|
|
@ -779,7 +779,7 @@ this.DOMApplicationRegistry = {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MOZ_WIDGET_GONK
|
||||
#ifdef MOZ_B2G
|
||||
yield this.installSystemApps();
|
||||
#endif
|
||||
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
// Test that W3C start_url takes precedence over mozApps launch_path
|
||||
function run_test() {
|
||||
Components.utils.import("resource:///modules/AppsUtils.jsm");
|
||||
|
||||
let manifest1 = {
|
||||
launch_path: "other.html"
|
||||
};
|
||||
|
||||
let manifest2 = {
|
||||
start_url: "start.html",
|
||||
launch_path: "other.html"
|
||||
};
|
||||
|
||||
var helper = new ManifestHelper(manifest1, "http://foo.com",
|
||||
"http://foo.com/manifest.json");
|
||||
var path = helper.fullLaunchPath();
|
||||
do_check_true(path == "http://foo.com/other.html");
|
||||
|
||||
helper = new ManifestHelper(manifest2, "http://foo.com",
|
||||
"http://foo.com/manifest.json");
|
||||
path = helper.fullLaunchPath();
|
||||
do_check_true(path == "http://foo.com/start.html");
|
||||
}
|
|
@ -5,3 +5,4 @@ tail =
|
|||
[test_has_widget_criterion.js]
|
||||
[test_inter_app_comm_service.js]
|
||||
[test_manifestSanitizer.js]
|
||||
[test_manifestHelper.js]
|
||||
|
|
|
@ -1,407 +1,182 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
MARIONETTE_TIMEOUT = 40000;
|
||||
MARIONETTE_TIMEOUT = 90000;
|
||||
MARIONETTE_HEAD_JS = 'head.js';
|
||||
|
||||
SpecialPowers.addPermission("sms", true, document);
|
||||
SpecialPowers.setBoolPref("dom.sms.enabled", true);
|
||||
|
||||
let manager = window.navigator.mozMobileMessage;
|
||||
ok(manager instanceof MozMobileMessageManager,
|
||||
"manager is instance of " + manager.constructor);
|
||||
|
||||
let pendingEmulatorCmdCount = 0;
|
||||
function sendSmsToEmulator(from, text, callback) {
|
||||
++pendingEmulatorCmdCount;
|
||||
|
||||
let cmd = "sms send " + from + " " + text;
|
||||
runEmulatorCmd(cmd, function(result) {
|
||||
--pendingEmulatorCmdCount;
|
||||
|
||||
callback(result[0] == "OK");
|
||||
/**
|
||||
* Create messages to be tested.
|
||||
*
|
||||
* @param aMessages
|
||||
* An array of
|
||||
* { 'incoming': [false|true],
|
||||
* 'address': [Phone Number]
|
||||
* 'text': [Text Body] };
|
||||
*
|
||||
* @return A deferred promise.
|
||||
*/
|
||||
function createMessages(aMessages) {
|
||||
let promise = Promise.resolve();
|
||||
aMessages.forEach((aMessage) => {
|
||||
promise = promise.then((aMessage.incoming) ?
|
||||
() => sendTextSmsToEmulatorAndWait(aMessage.address, aMessage.text) :
|
||||
() => sendSmsWithSuccess(aMessage.address, aMessage.text));
|
||||
});
|
||||
|
||||
return promise;
|
||||
}
|
||||
|
||||
let tasks = {
|
||||
// List of test fuctions. Each of them should call |tasks.next()| when
|
||||
// completed or |tasks.finish()| to jump to the last one.
|
||||
_tasks: [],
|
||||
_nextTaskIndex: 0,
|
||||
function checkThreads(aMessages, aNotMerged) {
|
||||
return getAllThreads().then((aThreads) => {
|
||||
let threadCount = aThreads.length;
|
||||
|
||||
push: function(func) {
|
||||
this._tasks.push(func);
|
||||
},
|
||||
|
||||
next: function() {
|
||||
let index = this._nextTaskIndex++;
|
||||
let task = this._tasks[index];
|
||||
try {
|
||||
task.apply(null, Array.slice(arguments));
|
||||
} catch (ex) {
|
||||
ok(false, "test task[" + index + "] throws: " + ex);
|
||||
// Run last task as clean up if possible.
|
||||
if (index != this._tasks.length - 1) {
|
||||
this.finish();
|
||||
if (aNotMerged) {
|
||||
// Threads are retrieved in reversed order of 'lastTimestamp'.
|
||||
aThreads.reverse();
|
||||
is(threadCount, aMessages.length, "Number of Threads.");
|
||||
for (let i = 0; i < threadCount; i++) {
|
||||
let thread = aThreads[i];
|
||||
let message = aMessages[i];
|
||||
is(thread.unreadCount, message.incoming ? 1 : 0, "Unread Count.");
|
||||
is(thread.participants.length, 1, "Number of Participants.");
|
||||
is(thread.participants[0], message.address, "Participants.");
|
||||
is(thread.body, message.text, "Thread Body.");
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
finish: function() {
|
||||
this._tasks[this._tasks.length - 1]();
|
||||
},
|
||||
|
||||
run: function() {
|
||||
this.next();
|
||||
}
|
||||
};
|
||||
|
||||
function getAllMessages(callback, filter, reverse) {
|
||||
let messages = [];
|
||||
let request = manager.getMessages(filter, reverse || false);
|
||||
request.onsuccess = function(event) {
|
||||
if (!request.done) {
|
||||
messages.push(request.result);
|
||||
request.continue();
|
||||
return;
|
||||
}
|
||||
|
||||
window.setTimeout(callback.bind(null, messages), 0);
|
||||
}
|
||||
}
|
||||
|
||||
function deleteAllMessages() {
|
||||
getAllMessages(function deleteAll(messages) {
|
||||
let message = messages.shift();
|
||||
if (!message) {
|
||||
ok(true, "all messages deleted");
|
||||
tasks.next();
|
||||
return;
|
||||
}
|
||||
|
||||
let request = manager.delete(message.id);
|
||||
request.onsuccess = deleteAll.bind(null, messages);
|
||||
request.onerror = function(event) {
|
||||
ok(false, "failed to delete all messages");
|
||||
tasks.finish();
|
||||
}
|
||||
let lastBody = aMessages[aMessages.length - 1].text;
|
||||
let unreadCount = 0;
|
||||
let mergedThread = aThreads[0];
|
||||
aMessages.forEach((aMessage) => {
|
||||
if (aMessage.incoming) {
|
||||
unreadCount++;
|
||||
}
|
||||
});
|
||||
is(threadCount, 1, "Number of Threads.");
|
||||
is(mergedThread.unreadCount, unreadCount, "Unread Count.");
|
||||
is(mergedThread.participants.length, 1, "Number of Participants.");
|
||||
is(mergedThread.participants[0], aMessages[0].address, "Participants.");
|
||||
// Thread is updated according to the device 'timestamp' of the message record
|
||||
// instead of the one from SMSC, so 'mergedThread.body' is expected to be the
|
||||
// same to the body for the last saved SMS.
|
||||
// See https://hg.mozilla.org/mozilla-central/annotate/436686833af0/dom/mobilemessage/gonk/MobileMessageDB.jsm#l2247
|
||||
is(mergedThread.body, lastBody, "Thread Body.");
|
||||
});
|
||||
}
|
||||
|
||||
function sendMessage(to, body) {
|
||||
manager.onsent = function() {
|
||||
manager.onsent = null;
|
||||
tasks.next();
|
||||
};
|
||||
let request = manager.send(to, body);
|
||||
request.onerror = tasks.finish.bind(tasks);
|
||||
function testGetThreads(aMessages, aNotMerged) {
|
||||
aNotMerged = !!aNotMerged;
|
||||
log("aMessages: " + JSON.stringify(aMessages));
|
||||
log("aNotMerged: " + aNotMerged);
|
||||
return createMessages(aMessages)
|
||||
.then(() => checkThreads(aMessages, aNotMerged))
|
||||
.then(() => deleteAllMessages());
|
||||
}
|
||||
|
||||
function receiveMessage(from, body) {
|
||||
manager.onreceived = function() {
|
||||
manager.onreceived = null;
|
||||
tasks.next();
|
||||
};
|
||||
sendSmsToEmulator(from, body, function(success) {
|
||||
if (!success) {
|
||||
tasks.finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function getAllThreads(callback) {
|
||||
let threads = [];
|
||||
|
||||
let cursor = manager.getThreads();
|
||||
ok(cursor instanceof DOMCursor,
|
||||
"cursor is instanceof " + cursor.constructor);
|
||||
|
||||
cursor.onsuccess = function(event) {
|
||||
if (!cursor.done) {
|
||||
threads.push(cursor.result);
|
||||
cursor.continue();
|
||||
return;
|
||||
}
|
||||
|
||||
window.setTimeout(callback.bind(null, threads), 0);
|
||||
};
|
||||
}
|
||||
|
||||
function checkThread(bodies, lastBody, unreadCount, participants,
|
||||
thread, callback) {
|
||||
log("Validating MozMobileMessageThread attributes " +
|
||||
JSON.stringify([bodies, lastBody, unreadCount, participants]));
|
||||
|
||||
ok(thread, "current thread should be valid.");
|
||||
|
||||
ok(thread.id, "thread id", "thread.id");
|
||||
log("Got thread " + thread.id);
|
||||
|
||||
if (lastBody != null) {
|
||||
is(thread.body, lastBody, "thread.body");
|
||||
}
|
||||
|
||||
is(thread.unreadCount, unreadCount, "thread.unreadCount");
|
||||
|
||||
ok(Array.isArray(thread.participants), "thread.participants is array");
|
||||
is(thread.participants.length, participants.length,
|
||||
"thread.participants.length");
|
||||
for (let i = 0; i < participants.length; i++) {
|
||||
is(thread.participants[i], participants[i],
|
||||
"thread.participants[" + i + "]");
|
||||
}
|
||||
|
||||
// Check whether the thread does contain all the messages it supposed to have.
|
||||
let filter = { threadId: thread.id };
|
||||
getAllMessages(function(messages) {
|
||||
is(messages.length, bodies.length, "messages.length and bodies.length");
|
||||
|
||||
for (let message of messages) {
|
||||
let index = bodies.indexOf(message.body);
|
||||
ok(index >= 0, "message.body '" + message.body +
|
||||
"' should be found in bodies array.");
|
||||
bodies.splice(index, 1);
|
||||
}
|
||||
|
||||
is(bodies.length, 0, "bodies array length");
|
||||
|
||||
window.setTimeout(callback, 0);
|
||||
}, filter, false);
|
||||
}
|
||||
|
||||
tasks.push(deleteAllMessages);
|
||||
|
||||
tasks.push(getAllThreads.bind(null, function(threads) {
|
||||
is(threads.length, 0, "Empty thread list at beginning.");
|
||||
tasks.next();
|
||||
}));
|
||||
|
||||
// Populate MobileMessageDB with messages.
|
||||
let checkFuncs = [];
|
||||
|
||||
// [Thread 1]
|
||||
// One message only, body = "thread 1";
|
||||
// All sent message, unreadCount = 0;
|
||||
// One participant only, participants = ["5555211001"].
|
||||
tasks.push(sendMessage.bind(null, "5555211001", "thread 1"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 1"],
|
||||
"thread 1", 0, ["5555211001"]));
|
||||
|
||||
// [Thread 2]
|
||||
// Two messages, body = "thread 2-2";
|
||||
// All sent message, unreadCount = 0;
|
||||
// One participant with two aliased addresses, participants = ["5555211002"].
|
||||
tasks.push(sendMessage.bind(null, "5555211002", "thread 2-1"));
|
||||
tasks.push(sendMessage.bind(null, "+15555211002", "thread 2-2"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 2-1", "thread 2-2"],
|
||||
"thread 2-2", 0, ["5555211002"]));
|
||||
|
||||
// [Thread 3]
|
||||
// Two messages, body = "thread 3-2";
|
||||
// All sent message, unreadCount = 0;
|
||||
// One participant with two aliased addresses, participants = ["+15555211003"].
|
||||
tasks.push(sendMessage.bind(null, "+15555211003", "thread 3-1"));
|
||||
tasks.push(sendMessage.bind(null, "5555211003", "thread 3-2"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 3-1", "thread 3-2"],
|
||||
"thread 3-2", 0, ["+15555211003"]));
|
||||
|
||||
// [Thread 4]
|
||||
// One message only, body = "thread 4";
|
||||
// All received message, unreadCount = 1;
|
||||
// One participant only, participants = ["5555211004"].
|
||||
tasks.push(receiveMessage.bind(null, "5555211004", "thread 4"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 4"],
|
||||
"thread 4", 1, ["5555211004"]));
|
||||
|
||||
// [Thread 5]
|
||||
//
|
||||
// Thread body should be set to text body of the last message in this
|
||||
// thread. However due to BUG 840051, we're having SMSC time as message
|
||||
// timestamp and SMSC time resolution is 1 second. So it's likely that the two
|
||||
// messages have the same timestamp and we just can't tell which is the later
|
||||
// one.
|
||||
//
|
||||
// All received message, unreadCount = 2;
|
||||
// One participant with two aliased addresses, participants = ["5555211005"].
|
||||
tasks.push(receiveMessage.bind(null, "5555211005", "thread 5-1"));
|
||||
tasks.push(receiveMessage.bind(null, "+15555211005", "thread 5-2"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 5-1", "thread 5-2"],
|
||||
null, 2, ["5555211005"]));
|
||||
|
||||
// [Thread 6]
|
||||
//
|
||||
// Thread body should be set to text body of the last message in this
|
||||
// thread. However due to BUG 840051, we're having SMSC time as message
|
||||
// timestamp and SMSC time resolution is 1 second. So it's likely that the two
|
||||
// messages have the same timestamp and we just can't tell which is the later
|
||||
// one.
|
||||
//
|
||||
// All received message, unreadCount = 2;
|
||||
// One participant with two aliased addresses, participants = ["+15555211006"].
|
||||
tasks.push(receiveMessage.bind(null, "+15555211006", "thread 6-1"));
|
||||
tasks.push(receiveMessage.bind(null, "5555211006", "thread 6-2"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 6-1", "thread 6-2"],
|
||||
null, 2, ["+15555211006"]));
|
||||
|
||||
// [Thread 7]
|
||||
//
|
||||
// Thread body should be set to text body of the last message in this
|
||||
// thread. However due to BUG 840051, there might be time difference between
|
||||
// SMSC and device time. So the result of comparing the timestamps of sent and
|
||||
// received message may not follow the order of requests and may result in
|
||||
// UNEXPECTED-FAIL in following tests.
|
||||
//
|
||||
// Two received message, unreadCount = 2;
|
||||
// One participant with two aliased addresses, participants = ["5555211007"].
|
||||
tasks.push(sendMessage.bind(null, "5555211007", "thread 7-1"));
|
||||
tasks.push(sendMessage.bind(null, "+15555211007", "thread 7-2"));
|
||||
tasks.push(receiveMessage.bind(null, "5555211007", "thread 7-3"));
|
||||
tasks.push(receiveMessage.bind(null, "+15555211007", "thread 7-4"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 7-1", "thread 7-2",
|
||||
"thread 7-3", "thread 7-4"],
|
||||
null, 2, ["5555211007"]));
|
||||
|
||||
// [Thread 8]
|
||||
//
|
||||
// Thread body should be set to text body of the last message in this
|
||||
// thread. However due to BUG 840051, there might be time difference between
|
||||
// SMSC and device time. So the result of comparing the timestamps of sent and
|
||||
// received message may not follow the order of requests and may result in
|
||||
// UNEXPECTED-FAIL in following tests.
|
||||
//
|
||||
// Two received message, unreadCount = 2;
|
||||
// One participant with two aliased addresses, participants = ["5555211008"].
|
||||
tasks.push(receiveMessage.bind(null, "5555211008", "thread 8-1"));
|
||||
tasks.push(receiveMessage.bind(null, "+15555211008", "thread 8-2"));
|
||||
tasks.push(sendMessage.bind(null, "5555211008", "thread 8-3"));
|
||||
tasks.push(sendMessage.bind(null, "+15555211008", "thread 8-4"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 8-1", "thread 8-2",
|
||||
"thread 8-3", "thread 8-4"],
|
||||
null, 2, ["5555211008"]));
|
||||
|
||||
// [Thread 9]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["+15555211009"].
|
||||
tasks.push(sendMessage.bind(null, "+15555211009", "thread 9-1"));
|
||||
tasks.push(sendMessage.bind(null, "01115555211009", "thread 9-2"));
|
||||
tasks.push(sendMessage.bind(null, "5555211009", "thread 9-3"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 9-1", "thread 9-2",
|
||||
"thread 9-3"],
|
||||
"thread 9-3", 0, ["+15555211009"]));
|
||||
|
||||
// [Thread 10]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["+15555211010"].
|
||||
tasks.push(sendMessage.bind(null, "+15555211010", "thread 10-1"));
|
||||
tasks.push(sendMessage.bind(null, "5555211010", "thread 10-2"));
|
||||
tasks.push(sendMessage.bind(null, "01115555211010", "thread 10-3"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 10-1", "thread 10-2",
|
||||
"thread 10-3"],
|
||||
"thread 10-3", 0, ["+15555211010"]));
|
||||
|
||||
// [Thread 11]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["01115555211011"].
|
||||
tasks.push(sendMessage.bind(null, "01115555211011", "thread 11-1"));
|
||||
tasks.push(sendMessage.bind(null, "5555211011", "thread 11-2"));
|
||||
tasks.push(sendMessage.bind(null, "+15555211011", "thread 11-3"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 11-1", "thread 11-2",
|
||||
"thread 11-3"],
|
||||
"thread 11-3", 0, ["01115555211011"]));
|
||||
|
||||
// [Thread 12]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["01115555211012"].
|
||||
tasks.push(sendMessage.bind(null, "01115555211012", "thread 12-1"));
|
||||
tasks.push(sendMessage.bind(null, "+15555211012", "thread 12-2"));
|
||||
tasks.push(sendMessage.bind(null, "5555211012", "thread 12-3"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 12-1", "thread 12-2",
|
||||
"thread 12-3"],
|
||||
"thread 12-3", 0, ["01115555211012"]));
|
||||
|
||||
// [Thread 13]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["5555211013"].
|
||||
tasks.push(sendMessage.bind(null, "5555211013", "thread 13-1"));
|
||||
tasks.push(sendMessage.bind(null, "+15555211013", "thread 13-2"));
|
||||
tasks.push(sendMessage.bind(null, "01115555211013", "thread 13-3"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 13-1", "thread 13-2",
|
||||
"thread 13-3"],
|
||||
"thread 13-3", 0, ["5555211013"]));
|
||||
|
||||
// [Thread 14]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["5555211014"].
|
||||
tasks.push(sendMessage.bind(null, "5555211014", "thread 14-1"));
|
||||
tasks.push(sendMessage.bind(null, "01115555211014", "thread 14-2"));
|
||||
tasks.push(sendMessage.bind(null, "+15555211014", "thread 14-3"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 14-1", "thread 14-2",
|
||||
"thread 14-3"],
|
||||
"thread 14-3", 0, ["5555211014"]));
|
||||
|
||||
//[Thread 15]
|
||||
//Three sent message, unreadCount = 0;
|
||||
//One participant but might be merged to 555211015, participants = ["5555211015"].
|
||||
tasks.push(sendMessage.bind(null, "5555211015", "thread 15-1"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 15-1"],
|
||||
"thread 15-1", 0, ["5555211015"]));
|
||||
|
||||
//[Thread 16]
|
||||
//Three sent message, unreadCount = 0;
|
||||
//One participant but might be merged to 5555211015, participants = ["555211015"].
|
||||
tasks.push(sendMessage.bind(null, "555211015", "thread 16-1"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 16-1"],
|
||||
"thread 16-1", 0, ["555211015"]));
|
||||
|
||||
//[Thread 17]
|
||||
//Three sent message, unreadCount = 0;
|
||||
//One participant with two aliased addresses, participants = ["555211017"].
|
||||
tasks.push(sendMessage.bind(null, "+5511555211017", "thread 17-1"));
|
||||
tasks.push(sendMessage.bind(null, "555211017", "thread 17-2"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 17-1", "thread 17-2"],
|
||||
"thread 17-2", 0, ["+5511555211017"]));
|
||||
|
||||
//[Thread 18]
|
||||
//Three sent message, unreadCount = 0;
|
||||
//One participant with two aliased addresses, participants = ["555211018"].
|
||||
tasks.push(sendMessage.bind(null, "555211018", "thread 18-1"));
|
||||
tasks.push(sendMessage.bind(null, "+5511555211018", "thread 18-2"));
|
||||
checkFuncs.push(checkThread.bind(null, ["thread 18-1", "thread 18-2"],
|
||||
"thread 18-2", 0, ["555211018"]));
|
||||
|
||||
// Check threads.
|
||||
tasks.push(getAllThreads.bind(null, function(threads) {
|
||||
is(threads.length, checkFuncs.length, "number of threads got");
|
||||
|
||||
// Reverse threads as we iterate over them in reverse order
|
||||
threads.reverse();
|
||||
|
||||
(function callback() {
|
||||
if (!threads.length) {
|
||||
tasks.next();
|
||||
return;
|
||||
}
|
||||
|
||||
checkFuncs.shift()(threads.shift(), callback);
|
||||
})();
|
||||
}));
|
||||
|
||||
tasks.push(deleteAllMessages);
|
||||
|
||||
tasks.push(getAllThreads.bind(null, function(threads) {
|
||||
is(threads.length, 0, "Empty thread list at the end.");
|
||||
tasks.next();
|
||||
}));
|
||||
|
||||
// WARNING: All tasks should be pushed before this!!!
|
||||
tasks.push(function cleanUp() {
|
||||
if (pendingEmulatorCmdCount) {
|
||||
window.setTimeout(cleanUp, 100);
|
||||
return;
|
||||
}
|
||||
|
||||
SpecialPowers.removePermission("sms", document);
|
||||
SpecialPowers.clearUserPref("dom.sms.enabled");
|
||||
finish();
|
||||
startTestCommon(function testCaseMain() {
|
||||
// [Thread 1]
|
||||
// One message only, body = "thread 1";
|
||||
// All sent message, unreadCount = 0;
|
||||
// One participant only, participants = ["5555211001"].
|
||||
return testGetThreads([{ incoming: false, address: "5555211001", text: "thread 1" }])
|
||||
// [Thread 2]
|
||||
// Two messages, body = "thread 2-2";
|
||||
// All sent message, unreadCount = 0;
|
||||
// One participant with two aliased addresses, participants = ["5555211002"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "5555211002", text: "thread 2-1" },
|
||||
{ incoming: false, address: "+15555211002", text: "thread 2-2" }]))
|
||||
// [Thread 3]
|
||||
// Two messages, body = "thread 3-2";
|
||||
// All sent message, unreadCount = 0;
|
||||
// One participant with two aliased addresses, participants = ["+15555211003"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "+15555211003", text: "thread 3-1" },
|
||||
{ incoming: false, address: "5555211003", text: "thread 3-2" }]))
|
||||
// [Thread 4]
|
||||
// One message only, body = "thread 4";
|
||||
// All received message, unreadCount = 1;
|
||||
// One participant only, participants = ["5555211004"].
|
||||
.then(() => testGetThreads([{ incoming: true, address: "5555211004", text: "thread 4" }]))
|
||||
// [Thread 5]
|
||||
// All received messages, unreadCount = 2;
|
||||
// One participant with two aliased addresses, participants = ["5555211005"].
|
||||
.then(() => testGetThreads([{ incoming: true, address: "5555211005", text: "thread 5-1" },
|
||||
{ incoming: true, address: "+15555211005", text: "thread 5-2" },]))
|
||||
// [Thread 6]
|
||||
// All received messages, unreadCount = 2;
|
||||
// One participant with two aliased addresses, participants = ["+15555211006"].
|
||||
.then(() => testGetThreads([{ incoming: true, address: "+15555211006", text: "thread 6-1" },
|
||||
{ incoming: true, address: "5555211006", text: "thread 6-2" }]))
|
||||
// [Thread 7]
|
||||
// 2 sent and then 2 received messages, unreadCount = 2;
|
||||
// One participant with two aliased addresses, participants = ["5555211007"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "5555211007", text: "thread 7-1" },
|
||||
{ incoming: false, address: "+15555211007", text: "thread 7-2" },
|
||||
{ incoming: true, address: "5555211007", text: "thread 7-3" },
|
||||
{ incoming: true, address: "+15555211007", text: "thread 7-4" }]))
|
||||
// [Thread 8]
|
||||
// 2 received and then 2 sent messages, unreadCount = 2;
|
||||
// One participant with two aliased addresses, participants = ["5555211008"].
|
||||
.then(() => testGetThreads([{ incoming: true, address: "5555211008", text: "thread 8-1" },
|
||||
{ incoming: true, address: "+15555211008", text: "thread 8-2" },
|
||||
{ incoming: false, address: "5555211008", text: "thread 8-3" },
|
||||
{ incoming: false, address: "+15555211008", text: "thread 8-4" }]))
|
||||
// [Thread 9]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["+15555211009"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "+15555211009", text: "thread 9-1" },
|
||||
{ incoming: false, address: "01115555211009", text: "thread 9-2" },
|
||||
{ incoming: false, address: "5555211009", text: "thread 9-3" }]))
|
||||
// [Thread 10]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["+15555211010"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "+15555211010", text: "thread 10-1" },
|
||||
{ incoming: false, address: "5555211010", text: "thread 10-2" },
|
||||
{ incoming: false, address: "01115555211010", text: "thread 10-3" }]))
|
||||
// [Thread 11]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["01115555211011"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "01115555211011", text: "thread 11-1" },
|
||||
{ incoming: false, address: "5555211011", text: "thread 11-2" },
|
||||
{ incoming: false, address: "+15555211011", text: "thread 11-3" }]))
|
||||
// [Thread 12]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["01115555211012"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "01115555211012", text: "thread 12-1" },
|
||||
{ incoming: false, address: "+15555211012", text: "thread 12-2" },
|
||||
{ incoming: false, address: "5555211012", text: "thread 12-3" }]))
|
||||
// [Thread 13]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["5555211013"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "5555211013", text: "thread 13-1" },
|
||||
{ incoming: false, address: "+15555211013", text: "thread 13-2" },
|
||||
{ incoming: false, address: "01115555211013", text: "thread 13-3" }]))
|
||||
// [Thread 14]
|
||||
// Three sent message, unreadCount = 0;
|
||||
// One participant with three aliased addresses, participants = ["5555211014"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "5555211014", text: "thread 14-1" },
|
||||
{ incoming: false, address: "01115555211014", text: "thread 14-2" },
|
||||
{ incoming: false, address: "+15555211014", text: "thread 14-3" }]))
|
||||
// [Thread 15]
|
||||
// One sent message, unreadCount = 0;
|
||||
// One participant but might be merged to 555211015, participants = ["5555211015"].
|
||||
// [Thread 16]
|
||||
// One sent message, unreadCount = 0;
|
||||
// One participant but might be merged to 5555211015, participants = ["555211015"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "5555211015", text: "thread 15-1" },
|
||||
{ incoming: false, address: "555211015", text: "thread 16-1" }],
|
||||
true))
|
||||
// [Thread 17]
|
||||
// Brazil number format: +55-aa-nnnnnnnn. (2-digit area code and 8-digit number)
|
||||
// Two sent messages, unreadCount = 0;
|
||||
// One participant with two aliased addresses, participants = ["+551155211017"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "+551155211017", text: "thread 17-1" },
|
||||
{ incoming: false, address: "1155211017", text: "thread 17-2" }]))
|
||||
// [Thread 18]
|
||||
// Brazil number format: +55-aa-nnnnnnnn. (2-digit area code and 8-digit number)
|
||||
// All sent messages, unreadCount = 0;
|
||||
// One participant with two aliased addresses, participants = ["1155211018"].
|
||||
.then(() => testGetThreads([{ incoming: false, address: "1155211018", text: "thread 18-1" },
|
||||
{ incoming: false, address: "+551155211018", text: "thread 18-2" }]));
|
||||
});
|
||||
|
||||
tasks.run();
|
||||
|
|
|
@ -5,19 +5,20 @@ MAINTAINER Jonas Finnemann Jensen <jopsen@gmail.com>
|
|||
COPY b2g-desktop-config.py /home/worker/b2g-desktop-config.py
|
||||
COPY dot-config /home/worker/.config
|
||||
COPY dot-pulse /home/worker/.pulse
|
||||
COPY hgrc /home/worker/.hgrc
|
||||
COPY bin /home/worker/bin
|
||||
COPY mozharness_configs /home/worker/mozharness_configs
|
||||
COPY buildprops.json /home/worker/buildprops.json
|
||||
ADD https://s3-us-west-2.amazonaws.com/test-caching/packages/linux64-stackwalk /usr/local/bin/linux64-minidump_stackwalk
|
||||
ADD https://raw.githubusercontent.com/taskcluster/buildbot-step/master/buildbot_step /home/worker/bin/buildbot_step
|
||||
|
||||
|
||||
# Run test setup script
|
||||
RUN chmod u+x /home/worker/bin/buildbot_step
|
||||
RUN chmod u+x /usr/local/bin/linux64-minidump_stackwalk
|
||||
RUN apt-get install -y python-pip && pip install virtualenv;
|
||||
RUN mkdir Documents; mkdir Pictures; mkdir Music; mkdir Videos; mkdir artifacts
|
||||
RUN chown -R worker:worker /home/worker/* /home/worker/.*
|
||||
RUN npm install -g taskcluster-vcs@2.3.1
|
||||
RUN npm install -g taskcluster-vcs@2.3.4
|
||||
ENV PATH $PATH:/home/worker/bin
|
||||
|
||||
# TODO Re-enable worker when bug 1093833 lands
|
||||
|
|
|
@ -1 +1 @@
|
|||
0.2.6
|
||||
0.2.8
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[extensions]
|
||||
share =
|
|
@ -1,3 +1,6 @@
|
|||
config = {
|
||||
# We bake this directly into the tester image now...
|
||||
"download_minidump_stackwalk": False,
|
||||
"minidump_stackwalk_path": "/usr/local/bin/linux64-minidump_stackwalk",
|
||||
"exes": {}
|
||||
}
|
||||
|
|
|
@ -16,14 +16,12 @@ task:
|
|||
- 'queue:define-task:aws-provisioner/test-c4-2xlarge'
|
||||
- 'queue:create-task:aws-provisioner/test-c4-2xlarge'
|
||||
- 'docker-worker:cache:tc-vcs'
|
||||
- 'docker-worker:cache:buildshare'
|
||||
|
||||
payload:
|
||||
image: '{{#docker_image}}tester{{/docker_image}}'
|
||||
maxRunTime: 3600
|
||||
cache:
|
||||
tc-vcs: '/home/worker/.tc-vcs'
|
||||
buildshare: '/builds/'
|
||||
env:
|
||||
GAIA_HEAD_REPOSITORY: '{{{gaia_head_repository}}}'
|
||||
GAIA_BASE_REPOSITORY: '{{{gaia_base_repository}}}'
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file ./mozharness/configs/b2g/gaia_integration_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
--download-symbols ondemand
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file ./mozharness/configs/b2g/gaia_integration_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
|
|
|
@ -14,6 +14,7 @@ task:
|
|||
python ./mozharness/scripts/b2g_emulator_unittest.py
|
||||
--config-file ./mozharness/configs/b2g/emulator_automation_config.py
|
||||
--config-file ./mozharness_configs/emulator_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--test-suite cppunittest
|
||||
--installer-url {{build_url}}
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
python ./mozharness/scripts/b2g_emulator_unittest.py
|
||||
--config-file ./mozharness/configs/b2g/emulator_automation_config.py
|
||||
--config-file ./mozharness_configs/emulator_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--test-suite crashtest
|
||||
--installer-url {{build_url}}
|
||||
|
|
|
@ -14,6 +14,7 @@ task:
|
|||
python ./mozharness/scripts/b2g_emulator_unittest.py
|
||||
--config-file ./mozharness/configs/b2g/emulator_automation_config.py
|
||||
--config-file ./mozharness_configs/emulator_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--test-suite jsreftest
|
||||
--installer-url {{build_url}}
|
||||
|
|
|
@ -16,6 +16,7 @@ task:
|
|||
--config-file ./mozharness/configs/b2g/emulator_automation_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/emulator_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--test-suite mochitest
|
||||
--installer-url {{build_url}}
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--config-file ./mozharness/configs/b2g/emulator_automation_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/emulator_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--test-suite mochitest
|
||||
--test-path dom/media/tests/
|
||||
|
|
|
@ -14,6 +14,7 @@ task:
|
|||
python ./mozharness/scripts/b2g_emulator_unittest.py
|
||||
--config-file ./mozharness/configs/b2g/emulator_automation_config.py
|
||||
--config-file ./mozharness_configs/emulator_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--test-suite reftest
|
||||
--installer-url {{build_url}}
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
python ./mozharness/scripts/b2g_emulator_unittest.py
|
||||
--config-file ./mozharness/configs/b2g/emulator_automation_config.py
|
||||
--config-file ./mozharness_configs/emulator_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--test-suite xpcshell
|
||||
--installer-url {{build_url}}
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
python ./mozharness/scripts/b2g_emulator_unittest.py
|
||||
--config-file ./mozharness/configs/b2g/emulator_automation_config.py
|
||||
--config-file ./mozharness_configs/emulator_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--test-suite xpcshell
|
||||
--installer-url {{build_url}}
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file b2g/gaia_integration_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
--download-symbols ondemand
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file marionette/gaia_ui_test_prod_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
--download-symbols ondemand
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file marionette/gaia_ui_test_prod_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
--download-symbols ondemand
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file marionette/gaia_ui_test_prod_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
--download-symbols ondemand
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file ./mozharness/configs/b2g/gaia_unit_production_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--download-symbols ondemand
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file ./mozharness/configs/b2g/gaia_unit_production_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--browser-arg -oop
|
||||
--download-symbols ondemand
|
||||
--installer-url {{build_url}}
|
||||
|
|
|
@ -15,6 +15,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file marionette/gaia_ui_test_prod_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--app-arg -oop
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
|
|
|
@ -13,6 +13,7 @@ task:
|
|||
python ./mozharness/scripts/b2g_desktop_unittest.py
|
||||
--no-read-buildbot-config
|
||||
--config-file /home/worker/b2g-desktop-config.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
--download-symbols ondemand
|
||||
|
|
|
@ -16,6 +16,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file b2g/gaia_integration_config.py
|
||||
--config-file ./mozharness_configs/gaia_integration_override.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
--download-symbols ondemand
|
||||
|
|
|
@ -14,6 +14,7 @@ task:
|
|||
--no-read-buildbot-config
|
||||
--config-file ./mozharness/configs/unittests/linux_unittest.py
|
||||
--config-file ./mozharness_configs/linux_mulet_config.py
|
||||
--config-file ./mozharness_configs/remove_executables.py
|
||||
--installer-url {{build_url}}
|
||||
--test-url {{tests_url}}
|
||||
--download-symbols ondemand
|
||||
|
|
Загрузка…
Ссылка в новой задаче