author | Wes Kocher <wkocher@mozilla.com> |
Wed, 16 Sep 2015 11:00:55 -0700 | |
changeset 262830 | e7d613b3bcfe1e865378bfac37de64560d1234ec |
parent 262829 | 3618c94059d846c4285bf187924aad4da93edb40 (current diff) |
parent 262809 | 53980fd5b658b107e581bfefb9e6d4d29a35b6fc (diff) |
child 262831 | 6cb745339f3c6426a2ecf0b70c7c4654d508967d |
child 263024 | 73b2b90407f53d07b4d20a892f6b01fc474dd831 |
child 263042 | 1ab7fb448f605b6b4fabec673efc4ad890412834 |
push id | 65123 |
push user | kwierso@gmail.com |
push date | Wed, 16 Sep 2015 18:02:50 +0000 |
treeherder | mozilla-inbound@e7d613b3bcfe [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | merge |
milestone | 43.0a1 |
first release with | nightly linux32
e7d613b3bcfe
/
43.0a1
/
20150917030229
/
files
nightly linux64
e7d613b3bcfe
/
43.0a1
/
20150917030229
/
files
nightly mac
e7d613b3bcfe
/
43.0a1
/
20150917030229
/
files
nightly win32
e7d613b3bcfe
/
43.0a1
/
20150917030229
/
files
nightly win64
e7d613b3bcfe
/
43.0a1
/
20150917030229
/
files
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
releases | nightly linux32
43.0a1
/
20150917030229
/
pushlog to previous
nightly linux64
43.0a1
/
20150917030229
/
pushlog to previous
nightly mac
43.0a1
/
20150917030229
/
pushlog to previous
nightly win32
43.0a1
/
20150917030229
/
pushlog to previous
nightly win64
43.0a1
/
20150917030229
/
pushlog to previous
|
layout/style/nsCSSRuleProcessor.cpp | file | annotate | diff | comparison | revisions | |
mobile/android/b2gdroid/app/b2gdroid.js | file | annotate | diff | comparison | revisions |
--- a/b2g/config/aries/sources.xml +++ b/b2g/config/aries/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> <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="fb28def18ceb2516c460c4bd5825d2dc656c7818"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="a1f9532e4157df2dc8d3e9c8100120f80117dcd4"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/> <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/> <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="a32003194f707f66a2d8cdb913ed1869f1926c5d"/> <project name="device/common" path="device/common" revision="96d4d2006c4fcb2f19a3fa47ab10cb409faa017b"/>
--- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> <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="fb28def18ceb2516c460c4bd5825d2dc656c7818"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="a1f9532e4157df2dc8d3e9c8100120f80117dcd4"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/> <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/> <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="83760d213fb3bec7b4117d266fcfbf6fe2ba14ab"/> <project name="device/common" path="device/common" revision="6a2995683de147791e516aae2ccb31fdfbe2ad30"/>
--- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -14,17 +14,17 @@ <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <default remote="caf" revision="refs/tags/android-4.0.4_r2.1" sync-j="4"/> <!-- Gonk specific things and forks --> <project name="platform_build" path="build" remote="b2g" revision="1b0db93fb6b870b03467aff50d6419771ba0d88c"> <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/> - <project name="gaia.git" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="27eb2f04e149fc2c9976d881b1b5984bbe7ee089"/> <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="067c08fb3e5744b42b68d1f861245f7d507109bc"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="34ea6163f9f0e0122fb0bb03607eccdca31ced7a"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
--- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -12,20 +12,20 @@ <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="660169a3d7e034a892359e39135e8c2785a6ad6f"> <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> - <project name="gaia" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="fb28def18ceb2516c460c4bd5825d2dc656c7818"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="a1f9532e4157df2dc8d3e9c8100120f80117dcd4"/> <project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/> <project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="5c45f43419d5582949284eee9cef0c43d866e03b"/> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="3748b4168e7bd8d46457d4b6786003bc6a5223ce"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="9025e50b9d29b3cabbbb21e1dd94d0d13121a17e"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="b89fda71fcd0fa0cf969310e75be3ea33e048b44"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="2e7d5348f35575870b3c7e567a9a9f6d66f8d6c5"/>
--- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> <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="fb28def18ceb2516c460c4bd5825d2dc656c7818"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="a1f9532e4157df2dc8d3e9c8100120f80117dcd4"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="f92a936f2aa97526d4593386754bdbf02db07a12"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="6e47ff2790f5656b5b074407829ceecf3e6188c4"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="1950e4760fa14688b83cdbb5acaa1af9f82ef434"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="ac6eb97a37035c09fb5ede0852f0881e9aadf9ad"/> <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="737f591c5f95477148d26602c7be56cbea0cdeb9"/> <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="51da9b1981be481b92a59a826d4d78dc73d0989a"/> <project name="device/common" path="device/common" revision="798a3664597e6041985feab9aef42e98d458bc3d"/>
--- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="c9d4fe680662ee44a4bdea42ae00366f5df399cf"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> <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="fb28def18ceb2516c460c4bd5825d2dc656c7818"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="a1f9532e4157df2dc8d3e9c8100120f80117dcd4"/> <!-- Stock Android things --> <project groups="pdk,linux" name="platform/prebuilts/clang/linux-x86/host/3.5" path="prebuilts/clang/linux-x86/host/3.5" revision="ffc05a232799fe8fcb3e47b7440b52b1fb4244c0"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" revision="337e0ef5e40f02a1ae59b90db0548976c70a7226"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" revision="8af5ff6f5dced9eb5a8127459df6c75d24342204"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="30915518fa7ea07166efedc191a4f40aef516fe7"/> <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" revision="96eee58e3389fb05a835310d6a06a6ba4486097a"/> <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" revision="7c8a46698171aa2e0be09edb43d15a6acf832770"/> <project groups="pdk,linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" revision="24b2038be8a636fd4a5d21f0abae1e466b07bcf7"/>
--- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -14,17 +14,17 @@ <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <default remote="caf" revision="refs/tags/android-4.0.4_r2.1" sync-j="4"/> <!-- Gonk specific things and forks --> <project name="platform_build" path="build" remote="b2g" revision="1b0db93fb6b870b03467aff50d6419771ba0d88c"> <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/> - <project name="gaia.git" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="27eb2f04e149fc2c9976d881b1b5984bbe7ee089"/> <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="067c08fb3e5744b42b68d1f861245f7d507109bc"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="34ea6163f9f0e0122fb0bb03607eccdca31ced7a"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
--- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> <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="fb28def18ceb2516c460c4bd5825d2dc656c7818"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="a1f9532e4157df2dc8d3e9c8100120f80117dcd4"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/> <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/> <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="a32003194f707f66a2d8cdb913ed1869f1926c5d"/> <project name="device/common" path="device/common" revision="96d4d2006c4fcb2f19a3fa47ab10cb409faa017b"/>
--- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "994ff1537c2d7ca4d1658806c50f3ceba1053f9b", + "git_revision": "db6664f0e07e9966283d30cfc7006151fe7103ff", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "9090c80639ae3689dddbefb8a76ba82c1268b63a", + "revision": "0adc27703a6e0c05155b37b3f79f199bee447193", "repo_path": "integration/gaia-central" }
--- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -12,20 +12,20 @@ <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="660169a3d7e034a892359e39135e8c2785a6ad6f"> <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> - <project name="gaia" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="fb28def18ceb2516c460c4bd5825d2dc656c7818"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="a1f9532e4157df2dc8d3e9c8100120f80117dcd4"/> <project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/> <project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="5c45f43419d5582949284eee9cef0c43d866e03b"/> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="3748b4168e7bd8d46457d4b6786003bc6a5223ce"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="9025e50b9d29b3cabbbb21e1dd94d0d13121a17e"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="b89fda71fcd0fa0cf969310e75be3ea33e048b44"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="2e7d5348f35575870b3c7e567a9a9f6d66f8d6c5"/>
--- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="c9d4fe680662ee44a4bdea42ae00366f5df399cf"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="994ff1537c2d7ca4d1658806c50f3ceba1053f9b"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="db6664f0e07e9966283d30cfc7006151fe7103ff"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="e9e2923fd6cab93cf88b4b9ada82225e44fe6635"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="f5d65f5b17d9766d7925aefd0486a1e526ae9bf0"/> <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="fb28def18ceb2516c460c4bd5825d2dc656c7818"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="a1f9532e4157df2dc8d3e9c8100120f80117dcd4"/> <!-- Stock Android things --> <project groups="pdk,linux" name="platform/prebuilts/clang/linux-x86/host/3.5" path="prebuilts/clang/linux-x86/host/3.5" revision="ffc05a232799fe8fcb3e47b7440b52b1fb4244c0"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" revision="337e0ef5e40f02a1ae59b90db0548976c70a7226"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" revision="8af5ff6f5dced9eb5a8127459df6c75d24342204"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="30915518fa7ea07166efedc191a4f40aef516fe7"/> <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" revision="96eee58e3389fb05a835310d6a06a6ba4486097a"/> <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" revision="7c8a46698171aa2e0be09edb43d15a6acf832770"/> <project groups="pdk,linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" revision="24b2038be8a636fd4a5d21f0abae1e466b07bcf7"/>
--- a/dom/bluetooth/bluedroid/BluetoothDaemonA2dpInterface.cpp +++ b/dom/bluetooth/bluedroid/BluetoothDaemonA2dpInterface.cpp @@ -1,16 +1,15 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "BluetoothDaemonA2dpInterface.h" -#include "BluetoothDaemonSetupInterface.h" #include "mozilla/unused.h" BEGIN_BLUETOOTH_NAMESPACE using namespace mozilla::ipc; // // A2DP module
--- a/dom/bluetooth/bluedroid/BluetoothDaemonA2dpInterface.h +++ b/dom/bluetooth/bluedroid/BluetoothDaemonA2dpInterface.h @@ -12,18 +12,16 @@ #include "mozilla/ipc/DaemonRunnables.h" BEGIN_BLUETOOTH_NAMESPACE using mozilla::ipc::DaemonSocketPDU; using mozilla::ipc::DaemonSocketPDUHeader; using mozilla::ipc::DaemonSocketResultHandler; -class BluetoothSetupResultHandler; - class BluetoothDaemonA2dpModule { public: enum { SERVICE_ID = 0x06 }; enum {
--- a/dom/bluetooth/bluedroid/BluetoothDaemonAvrcpInterface.cpp +++ b/dom/bluetooth/bluedroid/BluetoothDaemonAvrcpInterface.cpp @@ -1,16 +1,15 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "BluetoothDaemonAvrcpInterface.h" -#include "BluetoothDaemonSetupInterface.h" #include "mozilla/unused.h" BEGIN_BLUETOOTH_NAMESPACE using namespace mozilla::ipc; // // AVRCP module
--- a/dom/bluetooth/bluedroid/BluetoothDaemonAvrcpInterface.h +++ b/dom/bluetooth/bluedroid/BluetoothDaemonAvrcpInterface.h @@ -12,18 +12,16 @@ #include "mozilla/ipc/DaemonRunnables.h" BEGIN_BLUETOOTH_NAMESPACE using mozilla::ipc::DaemonSocketPDU; using mozilla::ipc::DaemonSocketPDUHeader; using mozilla::ipc::DaemonSocketResultHandler; -class BluetoothSetupResultHandler; - class BluetoothDaemonAvrcpModule { public: enum { SERVICE_ID = 0x08 }; enum {
--- a/dom/bluetooth/bluedroid/BluetoothDaemonGattInterface.cpp +++ b/dom/bluetooth/bluedroid/BluetoothDaemonGattInterface.cpp @@ -1,16 +1,15 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "BluetoothDaemonGattInterface.h" -#include "BluetoothDaemonSetupInterface.h" #include "mozilla/unused.h" BEGIN_BLUETOOTH_NAMESPACE using namespace mozilla::ipc; // // GATT module
--- a/dom/bluetooth/bluedroid/BluetoothDaemonGattInterface.h +++ b/dom/bluetooth/bluedroid/BluetoothDaemonGattInterface.h @@ -12,18 +12,16 @@ #include "mozilla/ipc/DaemonRunnables.h" BEGIN_BLUETOOTH_NAMESPACE using mozilla::ipc::DaemonSocketPDU; using mozilla::ipc::DaemonSocketPDUHeader; using mozilla::ipc::DaemonSocketResultHandler; -class BluetoothSetupResultHandler; - class BluetoothDaemonGattModule { public: enum { SERVICE_ID = 0x09 }; enum {
--- a/dom/bluetooth/bluedroid/BluetoothDaemonHandsfreeInterface.cpp +++ b/dom/bluetooth/bluedroid/BluetoothDaemonHandsfreeInterface.cpp @@ -1,16 +1,15 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "BluetoothDaemonHandsfreeInterface.h" -#include "BluetoothDaemonSetupInterface.h" #include "mozilla/unused.h" BEGIN_BLUETOOTH_NAMESPACE using namespace mozilla::ipc; // // Handsfree module
--- a/dom/bluetooth/bluedroid/BluetoothDaemonHandsfreeInterface.h +++ b/dom/bluetooth/bluedroid/BluetoothDaemonHandsfreeInterface.h @@ -12,18 +12,16 @@ #include "mozilla/ipc/DaemonRunnables.h" BEGIN_BLUETOOTH_NAMESPACE using mozilla::ipc::DaemonSocketPDU; using mozilla::ipc::DaemonSocketPDUHeader; using mozilla::ipc::DaemonSocketResultHandler; -class BluetoothSetupResultHandler; - class BluetoothDaemonHandsfreeModule { public: enum { SERVICE_ID = 0x05 }; enum {
--- a/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp +++ b/dom/bluetooth/bluedroid/BluetoothDaemonInterface.cpp @@ -23,177 +23,16 @@ BEGIN_BLUETOOTH_NAMESPACE using namespace mozilla::ipc; static const int sRetryInterval = 100; // ms // -// Protocol initialization and setup -// - -class BluetoothDaemonSetupModule -{ -public: - virtual nsresult Send(DaemonSocketPDU* aPDU, - DaemonSocketResultHandler* aRes) = 0; - - // Commands - // - - nsresult RegisterModuleCmd(uint8_t aId, uint8_t aMode, - uint32_t aMaxNumClients, - BluetoothSetupResultHandler* aRes) - { - MOZ_ASSERT(NS_IsMainThread()); - - nsAutoPtr<DaemonSocketPDU> pdu(new DaemonSocketPDU(0x00, 0x01, 0)); - -#if ANDROID_VERSION >= 21 - nsresult rv = PackPDU(aId, aMode, aMaxNumClients, *pdu); -#else - nsresult rv = PackPDU(aId, aMode, *pdu); -#endif - if (NS_FAILED(rv)) { - return rv; - } - rv = Send(pdu, aRes); - if (NS_FAILED(rv)) { - return rv; - } - unused << pdu.forget(); - return rv; - } - - nsresult UnregisterModuleCmd(uint8_t aId, - BluetoothSetupResultHandler* aRes) - { - MOZ_ASSERT(NS_IsMainThread()); - - nsAutoPtr<DaemonSocketPDU> pdu(new DaemonSocketPDU(0x00, 0x02, 0)); - - nsresult rv = PackPDU(aId, *pdu); - if (NS_FAILED(rv)) { - return rv; - } - rv = Send(pdu, aRes); - if (NS_FAILED(rv)) { - return rv; - } - unused << pdu.forget(); - return rv; - } - - nsresult ConfigurationCmd(const BluetoothConfigurationParameter* aParam, - uint8_t aLen, BluetoothSetupResultHandler* aRes) - { - MOZ_ASSERT(NS_IsMainThread()); - - nsAutoPtr<DaemonSocketPDU> pdu(new DaemonSocketPDU(0x00, 0x03, 0)); - - nsresult rv = PackPDU( - aLen, PackArray<BluetoothConfigurationParameter>(aParam, aLen), *pdu); - if (NS_FAILED(rv)) { - return rv; - } - rv = Send(pdu, aRes); - if (NS_FAILED(rv)) { - return rv; - } - unused << pdu.forget(); - return rv; - } - -protected: - - // Called to handle PDUs with Service field equal to 0x00, which - // contains internal operations for setup and configuration. - void HandleSvc(const DaemonSocketPDUHeader& aHeader, - DaemonSocketPDU& aPDU, DaemonSocketResultHandler* aRes) - { - static void (BluetoothDaemonSetupModule::* const HandleRsp[])( - const DaemonSocketPDUHeader&, - DaemonSocketPDU&, - BluetoothSetupResultHandler*) = { - [0x00] = &BluetoothDaemonSetupModule::ErrorRsp, - [0x01] = &BluetoothDaemonSetupModule::RegisterModuleRsp, - [0x02] = &BluetoothDaemonSetupModule::UnregisterModuleRsp, - [0x03] = &BluetoothDaemonSetupModule::ConfigurationRsp - }; - - if (NS_WARN_IF(aHeader.mOpcode >= MOZ_ARRAY_LENGTH(HandleRsp)) || - NS_WARN_IF(!HandleRsp[aHeader.mOpcode])) { - return; - } - - nsRefPtr<BluetoothSetupResultHandler> res = - static_cast<BluetoothSetupResultHandler*>(aRes); - - if (!aRes) { - return; // Return early if no result handler has been set - } - - (this->*(HandleRsp[aHeader.mOpcode]))(aHeader, aPDU, res); - } - -private: - - // Responses - // - - typedef mozilla::ipc::DaemonResultRunnable0< - BluetoothSetupResultHandler, void> - ResultRunnable; - - typedef mozilla::ipc::DaemonResultRunnable1< - BluetoothSetupResultHandler, void, BluetoothStatus, BluetoothStatus> - ErrorRunnable; - - void - ErrorRsp(const DaemonSocketPDUHeader& aHeader, - DaemonSocketPDU& aPDU, - BluetoothSetupResultHandler* aRes) - { - ErrorRunnable::Dispatch( - aRes, &BluetoothSetupResultHandler::OnError, UnpackPDUInitOp(aPDU)); - } - - void - RegisterModuleRsp(const DaemonSocketPDUHeader& aHeader, - DaemonSocketPDU& aPDU, - BluetoothSetupResultHandler* aRes) - { - ResultRunnable::Dispatch( - aRes, &BluetoothSetupResultHandler::RegisterModule, - UnpackPDUInitOp(aPDU)); - } - - void - UnregisterModuleRsp(const DaemonSocketPDUHeader& aHeader, - DaemonSocketPDU& aPDU, - BluetoothSetupResultHandler* aRes) - { - ResultRunnable::Dispatch( - aRes, &BluetoothSetupResultHandler::UnregisterModule, - UnpackPDUInitOp(aPDU)); - } - - void - ConfigurationRsp(const DaemonSocketPDUHeader& aHeader, - DaemonSocketPDU& aPDU, - BluetoothSetupResultHandler* aRes) - { - ResultRunnable::Dispatch( - aRes, &BluetoothSetupResultHandler::Configuration, - UnpackPDUInitOp(aPDU)); - } -}; - -// // Core module // static BluetoothNotificationHandler* sNotificationHandler; class BluetoothDaemonCoreModule { public: @@ -1575,17 +1414,18 @@ BluetoothDaemonProtocol::HandleGattSvc( } void BluetoothDaemonProtocol::Handle(DaemonSocketPDU& aPDU) { static void (BluetoothDaemonProtocol::* const HandleSvc[])( const DaemonSocketPDUHeader&, DaemonSocketPDU&, DaemonSocketResultHandler*) = { - [0x00] = &BluetoothDaemonProtocol::HandleSetupSvc, + [BluetoothDaemonSetupModule::SERVICE_ID] = + &BluetoothDaemonProtocol::HandleSetupSvc, [0x01] = &BluetoothDaemonProtocol::HandleCoreSvc, [0x02] = &BluetoothDaemonProtocol::HandleSocketSvc, [0x03] = nullptr, // HID host [0x04] = nullptr, // PAN [BluetoothDaemonHandsfreeModule::SERVICE_ID] = &BluetoothDaemonProtocol::HandleHandsfreeSvc, [BluetoothDaemonA2dpModule::SERVICE_ID] = &BluetoothDaemonProtocol::HandleA2dpSvc,
--- a/dom/bluetooth/bluedroid/BluetoothDaemonSetupInterface.cpp +++ b/dom/bluetooth/bluedroid/BluetoothDaemonSetupInterface.cpp @@ -1,32 +1,170 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #include "BluetoothDaemonSetupInterface.h" +#include "mozilla/unused.h" BEGIN_BLUETOOTH_NAMESPACE -BluetoothSetupResultHandler::~BluetoothSetupResultHandler() -{ } +// +// Setup module +// + +// Called to handle PDUs with Service field equal to 0x00, which +// contains internal operations for setup and configuration. +void +BluetoothDaemonSetupModule::HandleSvc(const DaemonSocketPDUHeader& aHeader, + DaemonSocketPDU& aPDU, + DaemonSocketResultHandler* aRes) +{ + static void (BluetoothDaemonSetupModule::* const HandleRsp[])( + const DaemonSocketPDUHeader&, + DaemonSocketPDU&, + BluetoothSetupResultHandler*) = { + [OPCODE_ERROR] = + &BluetoothDaemonSetupModule::ErrorRsp, + [OPCODE_REGISTER_MODULE] = + &BluetoothDaemonSetupModule::RegisterModuleRsp, + [OPCODE_UNREGISTER_MODULE] = + &BluetoothDaemonSetupModule::UnregisterModuleRsp, + [OPCODE_CONFIGURATION] = + &BluetoothDaemonSetupModule::ConfigurationRsp + }; + + if (NS_WARN_IF(aHeader.mOpcode >= MOZ_ARRAY_LENGTH(HandleRsp)) || + NS_WARN_IF(!HandleRsp[aHeader.mOpcode])) { + return; + } + + nsRefPtr<BluetoothSetupResultHandler> res = + static_cast<BluetoothSetupResultHandler*>(aRes); + + if (!aRes) { + return; // Return early if no result handler has been set + } + + (this->*(HandleRsp[aHeader.mOpcode]))(aHeader, aPDU, res); +} + +// Commands +// + +nsresult +BluetoothDaemonSetupModule::RegisterModuleCmd( + uint8_t aId, uint8_t aMode, uint32_t aMaxNumClients, + BluetoothSetupResultHandler* aRes) +{ + MOZ_ASSERT(NS_IsMainThread()); + + nsAutoPtr<DaemonSocketPDU> pdu( + new DaemonSocketPDU(SERVICE_ID, OPCODE_REGISTER_MODULE, + 0)); + +#if ANDROID_VERSION >= 21 + nsresult rv = PackPDU(aId, aMode, aMaxNumClients, *pdu); +#else + nsresult rv = PackPDU(aId, aMode, *pdu); +#endif + if (NS_FAILED(rv)) { + return rv; + } + rv = Send(pdu, aRes); + if (NS_FAILED(rv)) { + return rv; + } + unused << pdu.forget(); + return rv; +} + +nsresult +BluetoothDaemonSetupModule::UnregisterModuleCmd( + uint8_t aId, BluetoothSetupResultHandler* aRes) +{ + MOZ_ASSERT(NS_IsMainThread()); + + nsAutoPtr<DaemonSocketPDU> pdu( + new DaemonSocketPDU(SERVICE_ID, OPCODE_UNREGISTER_MODULE, + 0)); + + nsresult rv = PackPDU(aId, *pdu); + if (NS_FAILED(rv)) { + return rv; + } + rv = Send(pdu, aRes); + if (NS_FAILED(rv)) { + return rv; + } + unused << pdu.forget(); + return rv; +} + +nsresult +BluetoothDaemonSetupModule::ConfigurationCmd( + const BluetoothConfigurationParameter* aParam, uint8_t aLen, + BluetoothSetupResultHandler* aRes) +{ + MOZ_ASSERT(NS_IsMainThread()); + + nsAutoPtr<DaemonSocketPDU> pdu( + new DaemonSocketPDU(SERVICE_ID, OPCODE_CONFIGURATION, + 0)); + + nsresult rv = PackPDU( + aLen, PackArray<BluetoothConfigurationParameter>(aParam, aLen), *pdu); + if (NS_FAILED(rv)) { + return rv; + } + rv = Send(pdu, aRes); + if (NS_FAILED(rv)) { + return rv; + } + unused << pdu.forget(); + return rv; +} + +// Responses +// void -BluetoothSetupResultHandler::OnError(BluetoothStatus aStatus) +BluetoothDaemonSetupModule::ErrorRsp(const DaemonSocketPDUHeader& aHeader, + DaemonSocketPDU& aPDU, + BluetoothSetupResultHandler* aRes) { - BT_WARNING("Received error code %d", (int)aStatus); + ErrorRunnable::Dispatch( + aRes, &BluetoothSetupResultHandler::OnError, UnpackPDUInitOp(aPDU)); } void -BluetoothSetupResultHandler::RegisterModule() -{ } +BluetoothDaemonSetupModule::RegisterModuleRsp( + const DaemonSocketPDUHeader& aHeader, DaemonSocketPDU& aPDU, + BluetoothSetupResultHandler* aRes) +{ + ResultRunnable::Dispatch( + aRes, &BluetoothSetupResultHandler::RegisterModule, + UnpackPDUInitOp(aPDU)); +} void -BluetoothSetupResultHandler::UnregisterModule() -{ } +BluetoothDaemonSetupModule::UnregisterModuleRsp( + const DaemonSocketPDUHeader& aHeader, DaemonSocketPDU& aPDU, + BluetoothSetupResultHandler* aRes) +{ + ResultRunnable::Dispatch( + aRes, &BluetoothSetupResultHandler::UnregisterModule, + UnpackPDUInitOp(aPDU)); +} void -BluetoothSetupResultHandler::Configuration() -{ } +BluetoothDaemonSetupModule::ConfigurationRsp( + const DaemonSocketPDUHeader& aHeader, DaemonSocketPDU& aPDU, + BluetoothSetupResultHandler* aRes) +{ + ResultRunnable::Dispatch( + aRes, &BluetoothSetupResultHandler::Configuration, + UnpackPDUInitOp(aPDU)); +} END_BLUETOOTH_NAMESPACE
--- a/dom/bluetooth/bluedroid/BluetoothDaemonSetupInterface.h +++ b/dom/bluetooth/bluedroid/BluetoothDaemonSetupInterface.h @@ -2,29 +2,90 @@ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef mozilla_dom_bluetooth_bluedroid_BluetoothDaemonSetupInterface_h #define mozilla_dom_bluetooth_bluedroid_BluetoothDaemonSetupInterface_h -#include "BluetoothCommon.h" -#include "mozilla/ipc/DaemonSocketMessageHandlers.h" +#include "BluetoothDaemonHelpers.h" +#include "BluetoothInterface.h" +#include "mozilla/ipc/DaemonRunnables.h" BEGIN_BLUETOOTH_NAMESPACE -class BluetoothSetupResultHandler - : public mozilla::ipc::DaemonSocketResultHandler +using mozilla::ipc::DaemonSocketPDU; +using mozilla::ipc::DaemonSocketPDUHeader; +using mozilla::ipc::DaemonSocketResultHandler; + +class BluetoothDaemonSetupModule { public: - virtual void OnError(BluetoothStatus aStatus); - virtual void RegisterModule(); - virtual void UnregisterModule(); - virtual void Configuration(); + enum { + SERVICE_ID = 0x00 + }; + + enum { + OPCODE_ERROR = 0x00, + OPCODE_REGISTER_MODULE = 0x01, + OPCODE_UNREGISTER_MODULE = 0x02, + OPCODE_CONFIGURATION = 0x03 + }; + + virtual nsresult Send(DaemonSocketPDU* aPDU, + DaemonSocketResultHandler* aRes) = 0; + + // Commands + // + + nsresult RegisterModuleCmd(uint8_t aId, uint8_t aMode, + uint32_t aMaxNumClients, + BluetoothSetupResultHandler* aRes); + + nsresult UnregisterModuleCmd(uint8_t aId, + BluetoothSetupResultHandler* aRes); + + nsresult ConfigurationCmd(const BluetoothConfigurationParameter* aParam, + uint8_t aLen, BluetoothSetupResultHandler* aRes); protected: - virtual ~BluetoothSetupResultHandler(); + + void HandleSvc(const DaemonSocketPDUHeader& aHeader, + DaemonSocketPDU& aPDU, DaemonSocketResultHandler* aRes); + +private: + + // Responses + // + + typedef mozilla::ipc::DaemonResultRunnable0< + BluetoothSetupResultHandler, void> + ResultRunnable; + + typedef mozilla::ipc::DaemonResultRunnable1< + BluetoothSetupResultHandler, void, BluetoothStatus, BluetoothStatus> + ErrorRunnable; + + void + ErrorRsp(const DaemonSocketPDUHeader& aHeader, + DaemonSocketPDU& aPDU, + BluetoothSetupResultHandler* aRes); + + void + RegisterModuleRsp(const DaemonSocketPDUHeader& aHeader, + DaemonSocketPDU& aPDU, + BluetoothSetupResultHandler* aRes); + + void + UnregisterModuleRsp(const DaemonSocketPDUHeader& aHeader, + DaemonSocketPDU& aPDU, + BluetoothSetupResultHandler* aRes); + + void + ConfigurationRsp(const DaemonSocketPDUHeader& aHeader, + DaemonSocketPDU& aPDU, + BluetoothSetupResultHandler* aRes); }; END_BLUETOOTH_NAMESPACE #endif // mozilla_dom_bluetooth_bluedroid_BluetoothDaemonSetupInterface_h
--- a/dom/bluetooth/common/BluetoothInterface.cpp +++ b/dom/bluetooth/common/BluetoothInterface.cpp @@ -10,16 +10,41 @@ #endif #ifdef MOZ_B2G_BT_DAEMON #include "BluetoothDaemonInterface.h" #endif BEGIN_BLUETOOTH_NAMESPACE // +// Setup Interface +// + +BluetoothSetupResultHandler::~BluetoothSetupResultHandler() +{ } + +void +BluetoothSetupResultHandler::OnError(BluetoothStatus aStatus) +{ + BT_WARNING("Received error code %d", (int)aStatus); +} + +void +BluetoothSetupResultHandler::RegisterModule() +{ } + +void +BluetoothSetupResultHandler::UnregisterModule() +{ } + +void +BluetoothSetupResultHandler::Configuration() +{ } + +// // Socket Interface // BluetoothSocketInterface::~BluetoothSocketInterface() { } // // Handsfree Interface
--- a/dom/bluetooth/common/BluetoothInterface.h +++ b/dom/bluetooth/common/BluetoothInterface.h @@ -9,16 +9,33 @@ #include "BluetoothCommon.h" #include "mozilla/dom/bluetooth/BluetoothTypes.h" #include "mozilla/ipc/DaemonSocketMessageHandlers.h" BEGIN_BLUETOOTH_NAMESPACE // +// Setup Interface +// + +class BluetoothSetupResultHandler + : public mozilla::ipc::DaemonSocketResultHandler +{ +public: + virtual void OnError(BluetoothStatus aStatus); + virtual void RegisterModule(); + virtual void UnregisterModule(); + virtual void Configuration(); + +protected: + virtual ~BluetoothSetupResultHandler(); +}; + +// // Socket Interface // class BluetoothSocketResultHandler : public mozilla::ipc::DaemonSocketResultHandler { public: virtual void OnError(BluetoothStatus aStatus)
--- a/dom/ipc/ContentParent.cpp +++ b/dom/ipc/ContentParent.cpp @@ -5361,16 +5361,27 @@ ContentParent::RecvBeginDriverCrashGuard bool ContentParent::RecvEndDriverCrashGuard(const uint32_t& aGuardType) { mDriverCrashGuard = nullptr; return true; } +bool +ContentParent::RecvGetDeviceStorageLocation(const nsString& aType, + nsString* aPath) { +#ifdef MOZ_WIDGET_ANDROID + mozilla::AndroidBridge::GetExternalPublicDirectory(aType, *aPath); + return true; +#else + return false; +#endif +} + } // namespace dom } // namespace mozilla NS_IMPL_ISUPPORTS(ParentIdleListener, nsIObserver) NS_IMETHODIMP ParentIdleListener::Observe(nsISupports*, const char* aTopic, const char16_t* aData) { mozilla::unused << mParent->SendNotifyIdleObserver(mObserver,
--- a/dom/ipc/ContentParent.h +++ b/dom/ipc/ContentParent.h @@ -893,16 +893,18 @@ private: virtual bool RecvGetBrowserConfiguration(const nsCString& aURI, BrowserConfiguration* aConfig) override; virtual bool RecvGamepadListenerAdded() override; virtual bool RecvGamepadListenerRemoved() override; virtual bool RecvProfile(const nsCString& aProfile) override; virtual bool RecvGetGraphicsDeviceInitData(DeviceInitData* aOut) override; + virtual bool RecvGetDeviceStorageLocation(const nsString& aType, + nsString* aPath) override; // If you add strong pointers to cycle collected objects here, be sure to // release these objects in ShutDownProcess. See the comment there for more // details. GeckoChildProcessHost* mSubprocess; ContentParent* mOpener; ContentParentId mChildID;
--- a/dom/ipc/PContent.ipdl +++ b/dom/ipc/PContent.ipdl @@ -1081,15 +1081,18 @@ parent: async Profile(nsCString aProfile); /** * Request graphics initialization information from the parent. */ sync GetGraphicsDeviceInitData() returns (DeviceInitData aData); + sync GetDeviceStorageLocation(nsString type) + returns (nsString path); + both: AsyncMessage(nsString aMessage, ClonedMessageData aData, CpowEntry[] aCpows, Principal aPrincipal); }; } }
--- a/layout/style/nsCSSRuleProcessor.cpp +++ b/layout/style/nsCSSRuleProcessor.cpp @@ -1193,21 +1193,27 @@ InitSystemMetrics() } rv = LookAndFeel::GetInt(LookAndFeel::eIntID_SwipeAnimationEnabled, &metricResult); if (NS_SUCCEEDED(rv) && metricResult) { sSystemMetrics->AppendElement(nsGkAtoms::swipe_animation_enabled); } +// On b2gdroid, make it so that we always have a physical home button from +// gecko's point of view, event if it's just the Android home button remapped. +#ifdef MOZ_B2GDROID + sSystemMetrics->AppendElement(nsGkAtoms::physical_home_button); +#else rv = LookAndFeel::GetInt(LookAndFeel::eIntID_PhysicalHomeButton, &metricResult); if (NS_SUCCEEDED(rv) && metricResult) { sSystemMetrics->AppendElement(nsGkAtoms::physical_home_button); } +#endif #ifdef XP_WIN if (NS_SUCCEEDED( LookAndFeel::GetInt(LookAndFeel::eIntID_WindowsThemeIdentifier, &metricResult))) { nsCSSRuleProcessor::SetWindowsThemeIdentifier(static_cast<uint8_t>(metricResult)); switch(metricResult) { case LookAndFeel::eWindowsTheme_Aero:
--- a/mobile/android/b2gdroid/app/b2gdroid.js +++ b/mobile/android/b2gdroid/app/b2gdroid.js @@ -1017,8 +1017,10 @@ pref("dom.ipc.reuse_parent_app", false); // When a process receives a system message, we hold a CPU wake lock on its // behalf for this many seconds, or until it handles the system message, // whichever comes first. pref("dom.ipc.systemMessageCPULockTimeoutSec", 30); pref("dom.wakelock.enabled", true); pref("dom.webcomponents.enabled", true); + +pref("layout.css.scroll-snap.enabled", true);
--- a/mobile/android/b2gdroid/app/src/main/java/org/mozilla/b2gdroid/Launcher.java +++ b/mobile/android/b2gdroid/app/src/main/java/org/mozilla/b2gdroid/Launcher.java @@ -12,16 +12,17 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.view.View; import org.json.JSONObject; +import org.json.JSONException; import org.mozilla.gecko.BaseGeckoInterface; import org.mozilla.gecko.ContactService; import org.mozilla.gecko.ContextGetter; import org.mozilla.gecko.EventDispatcher; import org.mozilla.gecko.GeckoAppShell; import org.mozilla.gecko.GeckoBatteryManager; import org.mozilla.gecko.GeckoEvent; @@ -124,30 +125,40 @@ public class Launcher extends Activity try { obj.put("action", "view"); obj.put("url", intent.getDataString()); } catch(Exception ex) { Log.wtf(LOGTAG, "Error building Android:Launcher view message", ex); } GeckoEvent e = GeckoEvent.createBroadcastEvent("Android:Launcher", obj.toString()); GeckoAppShell.sendEventToGecko(e); + } else if (Intent.ACTION_MAIN.equals(action)) { + Log.d(LOGTAG, "Let's dispatch a 'home' key event"); + JSONObject obj = new JSONObject(); + try { + obj.put("action", "home-key"); + } catch(JSONException ex) { + Log.wtf(LOGTAG, "Error building Android:Launcher message", ex); + } + GeckoEvent e = GeckoEvent.createBroadcastEvent("Android:Launcher", obj.toString()); + GeckoAppShell.sendEventToGecko(e); } } @Override public void onWindowFocusChanged(boolean hasFocus) { + Log.d(LOGTAG, "onWindowFocusChanged hasFocus=" + hasFocus); + super.onWindowFocusChanged(hasFocus); if (hasFocus) { findViewById(R.id.main_layout).setSystemUiVisibility( - View.SYSTEM_UI_FLAG_LAYOUT_STABLE - | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN - | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN - | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); + ); } } public void handleMessage(String event, JSONObject message) { Log.w(LOGTAG, "Launcher received " + event); if ("Launcher:Ready".equals(event)) { hideSplashScreen();
--- a/mobile/android/b2gdroid/components/MessagesBridge.jsm +++ b/mobile/android/b2gdroid/components/MessagesBridge.jsm @@ -43,13 +43,17 @@ this.MessagesBridge = { window.dispatchEvent(new window.KeyboardEvent("keydown", { key: "Power" })); window.dispatchEvent(new window.KeyboardEvent("keyup", { key: "Power" })); break; case "view": let a = new window.MozActivity({ name: "view", data: { type: "url", url: data.url } }); break; + case "home-key": + window.dispatchEvent(new window.KeyboardEvent("keydown", { key: "Home" })); + window.dispatchEvent(new window.KeyboardEvent("keyup", { key: "Home" })); + break; } } } this.MessagesBridge.init();
--- a/mobile/android/b2gdroid/installer/package-manifest.in +++ b/mobile/android/b2gdroid/installer/package-manifest.in @@ -299,20 +299,20 @@ @BINPATH@/components/ContactManager.js @BINPATH@/components/ContactManager.manifest @BINPATH@/components/PhoneNumberService.js @BINPATH@/components/PhoneNumberService.manifest @BINPATH@/components/NotificationStorage.js @BINPATH@/components/NotificationStorage.manifest @BINPATH@/components/SettingsManager.js @BINPATH@/components/SettingsManager.manifest +@BINPATH@/components/SettingsService.js +@BINPATH@/components/SettingsService.manifest @BINPATH@/components/BrowserElementParent.manifest @BINPATH@/components/BrowserElementParent.js -@BINPATH@/components/FeedProcessor.manifest -@BINPATH@/components/FeedProcessor.js @BINPATH@/components/BrowserFeeds.manifest @BINPATH@/components/FeedConverter.js @BINPATH@/components/FeedWriter.js @BINPATH@/components/PermissionSettings.js @BINPATH@/components/PermissionSettings.manifest @BINPATH@/components/PermissionPromptService.js @BINPATH@/components/PermissionPromptService.manifest @BINPATH@/components/fuelApplication.manifest
--- a/mobile/android/components/MobileComponents.manifest +++ b/mobile/android/components/MobileComponents.manifest @@ -40,32 +40,32 @@ category app-startup SessionStore servic # ContentPermissionPrompt.js component {C6E8C44D-9F39-4AF7-BCC0-76E38A8310F5} ContentPermissionPrompt.js contract @mozilla.org/content-permission/prompt;1 {C6E8C44D-9F39-4AF7-BCC0-76E38A8310F5} # WebappsUpdateTimer.js component {8f7002cb-e959-4f0a-a2e8-563232564385} WebappsUpdateTimer.js contract @mozilla.org/webapps-update-timer;1 {8f7002cb-e959-4f0a-a2e8-563232564385} category update-timer WebappsUpdateTimer @mozilla.org/webapps-update-timer;1,getService,webapp-background-update-timer,browser.webapps.updateInterval,86400 + +# PromptService.js +component {9a61149b-2276-4a0a-b79c-be994ad106cf} PromptService.js +contract @mozilla.org/prompter;1 {9a61149b-2276-4a0a-b79c-be994ad106cf} +contract @mozilla.org/embedcomp/prompt-service;1 {9a61149b-2276-4a0a-b79c-be994ad106cf} +category wakeup-request PromptService @mozilla.org/embedcomp/prompt-service;1,nsIPromptService,getService,Prompt:Call #endif # XPIDialogService.js component {c1242012-27d8-477e-a0f1-0b098ffc329b} XPIDialogService.js contract @mozilla.org/addons/web-install-prompt;1 {c1242012-27d8-477e-a0f1-0b098ffc329b} # HelperAppDialog.js component {e9d277a0-268a-4ec2-bb8c-10fdf3e44611} HelperAppDialog.js contract @mozilla.org/helperapplauncherdialog;1 {e9d277a0-268a-4ec2-bb8c-10fdf3e44611} -# PromptService.js -component {9a61149b-2276-4a0a-b79c-be994ad106cf} PromptService.js -contract @mozilla.org/prompter;1 {9a61149b-2276-4a0a-b79c-be994ad106cf} -contract @mozilla.org/embedcomp/prompt-service;1 {9a61149b-2276-4a0a-b79c-be994ad106cf} -category wakeup-request PromptService @mozilla.org/embedcomp/prompt-service;1,nsIPromptService,getService,Prompt:Call - # BrowserCLH.js component {be623d20-d305-11de-8a39-0800200c9a66} BrowserCLH.js application={aa3c5121-dab2-40e2-81ca-7ea25febc110} contract @mozilla.org/browser/browser-clh;1 {be623d20-d305-11de-8a39-0800200c9a66} category command-line-handler x-browser @mozilla.org/browser/browser-clh;1 category app-startup BrowserCLH @mozilla.org/browser/browser-clh;1 # ContentDispatchChooser.js component {5a072a22-1e66-4100-afc1-07aed8b62fc5} ContentDispatchChooser.js
--- a/mobile/android/components/moz.build +++ b/mobile/android/components/moz.build @@ -18,26 +18,26 @@ EXTRA_COMPONENTS += [ 'BrowserCLH.js', 'ColorPicker.js', 'ContentDispatchChooser.js', 'DirectoryProvider.js', 'FilePicker.js', 'HelperAppDialog.js', 'LoginManagerPrompter.js', 'NSSDialogService.js', - 'PromptService.js', 'SiteSpecificUserAgent.js', 'Snippets.js', 'TabSource.js', 'XPIDialogService.js', ] if not CONFIG['MOZ_B2GDROID']: EXTRA_COMPONENTS += [ 'ContentPermissionPrompt.js', + 'PromptService.js', 'SessionStore.js', 'WebappsUpdateTimer.js', ] if CONFIG['MOZ_PAY']: EXTRA_COMPONENTS += [ 'PaymentProviderStrategy.js', 'PaymentsUI.js'
--- a/testing/mozharness/mozharness.json +++ b/testing/mozharness/mozharness.json @@ -1,4 +1,4 @@ { "repo": "https://hg.mozilla.org/build/mozharness", - "revision": "9e3b69e89620" + "revision": "e218c0e82735" }
--- a/testing/mozharness/scripts/b2g_build.py +++ b/testing/mozharness/scripts/b2g_build.py @@ -32,16 +32,17 @@ from mozharness.mozilla.purge import Pur from mozharness.mozilla.signing import SigningMixin from mozharness.mozilla.repo_manifest import add_project from mozharness.mozilla.mapper import MapperMixin from mozharness.mozilla.updates.balrog import BalrogMixin from mozharness.base.python import VirtualenvMixin from mozharness.base.python import InfluxRecordingMixin from mozharness.mozilla.building.buildbase import MakeUploadOutputParser from mozharness.mozilla.building.buildb2gbase import B2GBuildBaseScript, B2GMakefileErrorList +from mozharness.base.script import PostScriptRun class B2GBuild(LocalesMixin, PurgeMixin, B2GBuildBaseScript, GaiaLocalesMixin, SigningMixin, MapperMixin, BalrogMixin, VirtualenvMixin, InfluxRecordingMixin): all_actions = [ 'clobber', @@ -1125,12 +1126,19 @@ class B2GBuild(LocalesMixin, PurgeMixin, self.set_buildbot_property("hashType", "sha512") self.set_buildbot_property("completeMarSize", self.query_filesize(marfile)) self.set_buildbot_property("completeMarHash", self.query_sha512sum(marfile)) self.set_buildbot_property("completeMarUrl", mar_url) self.set_buildbot_property("isOSUpdate", self.isOSUpdate) self.submit_balrog_updates(product='b2g') + @PostScriptRun + def _remove_userconfig(self): + self.info("Cleanup .userconfig file.") + dirs = self.query_abs_dirs() + userconfig_path = os.path.join(dirs["work_dir"], ".userconfig") + os.remove(userconfig_path) + # main {{{1 if __name__ == '__main__': myScript = B2GBuild() myScript.run_and_exit()
--- a/testing/mozharness/scripts/gaia_unit.py +++ b/testing/mozharness/scripts/gaia_unit.py @@ -2,16 +2,19 @@ # ***** BEGIN LICENSE BLOCK ***** # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this file, # You can obtain one at http://mozilla.org/MPL/2.0/. # ***** END LICENSE BLOCK ***** import os import sys +import glob +import subprocess +import json # load modules from parent dir sys.path.insert(1, os.path.dirname(sys.path[0])) from mozharness.mozilla.testing.gaia_test import GaiaTest from mozharness.mozilla.testing.unittest import TestSummaryOutputParserHelper @@ -36,23 +39,58 @@ class GaiaUnitTest(GaiaTest): xre_url=self.config.get('xre_url'), debug=True) # build the testrunner command arguments python = self.query_python_path('python') cmd = [python, '-u', os.path.join(dirs['abs_runner_dir'], 'gaia_unit_test', 'main.py')] - binary = os.path.join(os.path.dirname(self.binary_path), 'b2g-bin') + executable = 'firefox' + if 'b2g' in self.binary_path: + executable = 'b2g-bin' + + profile = os.path.join(dirs['abs_gaia_dir'], 'profile-debug') + binary = os.path.join(os.path.dirname(self.binary_path), executable) cmd.extend(self._build_arg('--binary', binary)) - cmd.extend(self._build_arg('--profile', os.path.join(dirs['abs_gaia_dir'], - 'profile-debug'))) + cmd.extend(self._build_arg('--profile', profile)) cmd.extend(self._build_arg('--symbols-path', self.symbols_path)) cmd.extend(self._build_arg('--browser-arg', self.config.get('browser_arg'))) + # Add support for chunking + if self.config.get('total_chunks') and self.config.get('this_chunk'): + chunker = [ os.path.join(dirs['abs_gaia_dir'], 'bin', 'chunk'), + self.config.get('total_chunks'), self.config.get('this_chunk') ] + + disabled_tests = [] + disabled_manifest = os.path.join(dirs['abs_runner_dir'], + 'gaia_unit_test', + 'disabled.json') + with open(disabled_manifest, 'r') as m: + try: + disabled_tests = json.loads(m.read()) + except: + print "Error while decoding disabled.json; please make sure this file has valid JSON syntax." + sys.exit(1) + + # Construct a list of all tests + unit_tests = [] + for path in ('apps', 'tv_apps'): + test_root = os.path.join(dirs['abs_gaia_dir'], path) + full_paths = glob.glob(os.path.join(test_root, '*/test/unit/*_test.js')) + unit_tests += map(lambda x: os.path.relpath(x, test_root), full_paths) + + # Remove the tests that are disabled + active_unit_tests = filter(lambda x: x not in disabled_tests, unit_tests) + + # Chunk the list as requested + tests_to_run = subprocess.check_output(chunker + active_unit_tests).strip().split(' ') + + cmd.extend(tests_to_run) + output_parser = TestSummaryOutputParserHelper(config=self.config, log_obj=self.log_obj, error_list=self.error_list) upload_dir = self.query_abs_dirs()['abs_blob_upload_dir'] if not os.path.isdir(upload_dir): self.mkdir_p(upload_dir)
--- a/testing/taskcluster/tasks/branches/base_jobs.yml +++ b/testing/taskcluster/tasks/branches/base_jobs.yml @@ -137,16 +137,22 @@ tests: gaia-ui-test-unit: allowed_build_tasks: tasks/builds/b2g_flame_kk_eng.yml: task: tasks/tests/flame_kk_gaia_ui_test_unit.yml gaia-unit: allowed_build_tasks: tasks/builds/b2g_desktop_opt.yml: task: tasks/tests/b2g_gaia_unit.yml + tasks/builds/mulet_linux.yml: + task: tasks/tests/mulet_gaia_unit.yml + gaia-unit-oop: + allowed_build_tasks: + tasks/builds/mulet_linux.yml: + task: tasks/tests/mulet_gaia_unit_oop.yml marionette: allowed_build_tasks: tasks/builds/b2g_emulator_ics_opt.yml: task: tasks/tests/b2g_emulator_marionette.yml marionette-webapi: allowed_build_tasks: tasks/builds/b2g_emulator_ics_opt.yml: task: tasks/tests/b2g_emulator_marionette_webapi.yml
--- a/testing/taskcluster/tasks/branches/try/job_flags.yml +++ b/testing/taskcluster/tasks/branches/try/job_flags.yml @@ -236,16 +236,22 @@ tests: tasks/builds/b2g_desktop_opt.yml: task: tasks/tests/b2g_linter.yml tasks/builds/mulet_linux.yml: task: tasks/tests/mulet_linter.yml gaia-unit: allowed_build_tasks: tasks/builds/b2g_desktop_opt.yml: task: tasks/tests/b2g_gaia_unit.yml + tasks/builds/mulet_linux.yml: + task: tasks/tests/mulet_gaia_unit.yml + gaia-unit-oop: + allowed_build_tasks: + tasks/builds/mulet_linux.yml: + task: tasks/tests/mulet_gaia_unit_oop.yml marionette: allowed_build_tasks: tasks/builds/b2g_emulator_x86_kk_opt.yml: task: tasks/tests/b2g_emulator_marionette.yml tasks/builds/b2g_emulator_ics_opt.yml: task: tasks/tests/b2g_emulator_marionette.yml marionette-webapi: allowed_build_tasks:
new file mode 100644 --- /dev/null +++ b/testing/taskcluster/tasks/tests/mulet_gaia_unit.yml @@ -0,0 +1,44 @@ +--- +$inherits: + from: 'tasks/test.yml' +task: + metadata: + name: '[TC] Mulet Gaia Unit Test' + description: Mulet Gaia Unit Test + + payload: + command: + - entrypoint + - ./bin/pull_gaia.sh && + - > + python ./mozharness/scripts/gaia_unit.py + --application firefox + --no-read-buildbot-config + --config-file b2g/gaia_unit_production_config.py + --config-file ./mozharness_configs/gaia_integration_override.py + --config-file ./mozharness_configs/remove_executables.py + --no-pull + --installer-url {{build_url}} + --test-packages-url {{test_packages_url}} + --download-symbols ondemand + --gaia-repo {{gaia_head_repository}} + --gaia-dir /home/worker + --xre-url https://queue.taskcluster.net/v1/task/wXAHAaxDQpqxoWF1iljJjg/runs/0/artifacts/public/cache/xulrunner-sdk-40.zip + --total-chunk={{total_chunks}} + --this-chunk={{chunk}} + artifacts: + 'public/build': + type: directory + path: '/home/worker/artifacts/' + expires: '{{#from_now}}1 year{{/from_now}}' + + extra: + treeherderEnv: + - production + - staging + chunks: + total: 10 + treeherder: + groupSymbol: Gu + groupName: Mulet gaia unit tests + symbol: {{chunk}}
new file mode 100644 --- /dev/null +++ b/testing/taskcluster/tasks/tests/mulet_gaia_unit_oop.yml @@ -0,0 +1,44 @@ +--- +$inherits: + from: 'tasks/test.yml' +task: + metadata: + name: '[TC] Mulet Gaia Unit Test OOP' + description: Mulet Gaia Unit Test OOP + + payload: + command: + - entrypoint + - ./bin/pull_gaia.sh && + - > + python ./mozharness/scripts/gaia_unit.py + --application firefox + --no-read-buildbot-config + --config-file b2g/gaia_unit_production_config.py + --config-file ./mozharness_configs/gaia_integration_override.py + --config-file ./mozharness_configs/remove_executables.py + --no-pull + --browser-arg -oop + --installer-url {{build_url}} + --test-packages-url {{test_packages_url}} + --download-symbols ondemand + --gaia-repo {{gaia_head_repository}} + --gaia-dir /home/worker + --xre-url https://queue.taskcluster.net/v1/task/wXAHAaxDQpqxoWF1iljJjg/runs/0/artifacts/public/cache/xulrunner-sdk-40.zip + --total-chunk={{total_chunks}} + --this-chunk={{chunk}} + artifacts: + 'public/build': + type: directory + path: '/home/worker/artifacts/' + expires: '{{#from_now}}1 year{{/from_now}}' + + extra: + treeherderEnv: + - staging + chunks: + total: 10 + treeherder: + groupSymbol: Gu-oop + groupName: Mulet Gaia unit tests OOP + symbol: {{chunk}}
--- a/widget/android/AndroidBridge.cpp +++ b/widget/android/AndroidBridge.cpp @@ -42,24 +42,27 @@ #include "nsContentUtils.h" #include "nsIScriptError.h" #include "nsIHttpChannel.h" #include "MediaCodec.h" #include "SurfaceTexture.h" #include "GLContextProvider.h" +#include "mozilla/dom/ContentChild.h" + using namespace mozilla; using namespace mozilla::gfx; using namespace mozilla::jni; using namespace mozilla::widget; AndroidBridge* AndroidBridge::sBridge = nullptr; pthread_t AndroidBridge::sJavaUiThread; static jobject sGlobalContext = nullptr; +nsDataHashtable<nsStringHashKey, nsString> AndroidBridge::sStoragePaths; // This is a dummy class that can be used in the template for android::sp class AndroidRefable { void incStrong(void* thing) { } void decStrong(void* thing) { } }; // This isn't in AndroidBridge.h because including StrongPointer.h there is gross @@ -2116,15 +2119,39 @@ nsresult AndroidBridge::InputStreamRead( *aRead = 0; return NS_OK; } *aRead = read; return NS_OK; } nsresult AndroidBridge::GetExternalPublicDirectory(const nsAString& aType, nsAString& aPath) { + if (XRE_IsContentProcess()) { + nsString key(aType); + nsAutoString path; + if (AndroidBridge::sStoragePaths.Get(key, &path)) { + aPath = path; + return NS_OK; + } + + // Lazily get the value from the parent. + dom::ContentChild* child = dom::ContentChild::GetSingleton(); + if (child) { + nsAutoString type(aType); + child->SendGetDeviceStorageLocation(type, &path); + if (!path.IsEmpty()) { + AndroidBridge::sStoragePaths.Put(key, path); + return NS_OK; + } + } + + ALOG_BRIDGE("AndroidBridge::GetExternalPublicDirectory no cache for %s", + NS_ConvertUTF16toUTF8(aType).get()); + return NS_ERROR_NOT_AVAILABLE; + } + auto path = GeckoAppShell::GetExternalPublicDirectory(aType); if (!path) { return NS_ERROR_NOT_AVAILABLE; } aPath = nsString(path); return NS_OK; }
--- a/widget/android/AndroidBridge.h +++ b/widget/android/AndroidBridge.h @@ -304,16 +304,18 @@ public: static void InputStreamClose(jni::Object::Param obj); static uint32_t InputStreamAvailable(jni::Object::Param obj); static nsresult InputStreamRead(jni::Object::Param obj, char *aBuf, uint32_t aCount, uint32_t *aRead); static nsresult GetExternalPublicDirectory(const nsAString& aType, nsAString& aPath); protected: + static nsDataHashtable<nsStringHashKey, nsString> sStoragePaths; + static pthread_t sJavaUiThread; static AndroidBridge* sBridge; nsTArray<nsCOMPtr<nsIMobileMessageCallback> > mSmsRequests; widget::GeckoLayerClient::GlobalRef mLayerClient; // the android.telephony.SmsMessage class jclass mAndroidSmsMessageClass;