mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-25 22:01:30 +00:00
Merge b2ginbound to central, a=merge CLOSED TREE
This commit is contained in:
commit
ebdcf9fc9e
@ -15,7 +15,7 @@
|
||||
<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"/>
|
||||
@ -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="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"/>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<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"/>
|
||||
@ -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="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"/>
|
||||
|
@ -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="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"/>
|
||||
|
@ -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="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 -->
|
||||
|
@ -15,7 +15,7 @@
|
||||
<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"/>
|
||||
@ -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="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"/>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<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"/>
|
||||
@ -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="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"/>
|
||||
|
@ -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="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"/>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<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"/>
|
||||
@ -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="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"/>
|
||||
|
@ -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"
|
||||
}
|
||||
|
@ -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="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 -->
|
||||
|
@ -15,7 +15,7 @@
|
||||
<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"/>
|
||||
@ -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="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"/>
|
||||
|
@ -5,7 +5,6 @@
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "BluetoothDaemonA2dpInterface.h"
|
||||
#include "BluetoothDaemonSetupInterface.h"
|
||||
#include "mozilla/unused.h"
|
||||
|
||||
BEGIN_BLUETOOTH_NAMESPACE
|
||||
|
@ -17,8 +17,6 @@ using mozilla::ipc::DaemonSocketPDU;
|
||||
using mozilla::ipc::DaemonSocketPDUHeader;
|
||||
using mozilla::ipc::DaemonSocketResultHandler;
|
||||
|
||||
class BluetoothSetupResultHandler;
|
||||
|
||||
class BluetoothDaemonA2dpModule
|
||||
{
|
||||
public:
|
||||
|
@ -5,7 +5,6 @@
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "BluetoothDaemonAvrcpInterface.h"
|
||||
#include "BluetoothDaemonSetupInterface.h"
|
||||
#include "mozilla/unused.h"
|
||||
|
||||
BEGIN_BLUETOOTH_NAMESPACE
|
||||
|
@ -17,8 +17,6 @@ using mozilla::ipc::DaemonSocketPDU;
|
||||
using mozilla::ipc::DaemonSocketPDUHeader;
|
||||
using mozilla::ipc::DaemonSocketResultHandler;
|
||||
|
||||
class BluetoothSetupResultHandler;
|
||||
|
||||
class BluetoothDaemonAvrcpModule
|
||||
{
|
||||
public:
|
||||
|
@ -5,7 +5,6 @@
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "BluetoothDaemonGattInterface.h"
|
||||
#include "BluetoothDaemonSetupInterface.h"
|
||||
#include "mozilla/unused.h"
|
||||
|
||||
BEGIN_BLUETOOTH_NAMESPACE
|
||||
|
@ -17,8 +17,6 @@ using mozilla::ipc::DaemonSocketPDU;
|
||||
using mozilla::ipc::DaemonSocketPDUHeader;
|
||||
using mozilla::ipc::DaemonSocketResultHandler;
|
||||
|
||||
class BluetoothSetupResultHandler;
|
||||
|
||||
class BluetoothDaemonGattModule
|
||||
{
|
||||
public:
|
||||
|
@ -5,7 +5,6 @@
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "BluetoothDaemonHandsfreeInterface.h"
|
||||
#include "BluetoothDaemonSetupInterface.h"
|
||||
#include "mozilla/unused.h"
|
||||
|
||||
BEGIN_BLUETOOTH_NAMESPACE
|
||||
|
@ -17,8 +17,6 @@ using mozilla::ipc::DaemonSocketPDU;
|
||||
using mozilla::ipc::DaemonSocketPDUHeader;
|
||||
using mozilla::ipc::DaemonSocketResultHandler;
|
||||
|
||||
class BluetoothSetupResultHandler;
|
||||
|
||||
class BluetoothDaemonHandsfreeModule
|
||||
{
|
||||
public:
|
||||
|
@ -27,167 +27,6 @@ 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
|
||||
//
|
||||
@ -1580,7 +1419,8 @@ 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
|
||||
|
@ -5,28 +5,166 @@
|
||||
* 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
|
||||
|
@ -7,22 +7,83 @@
|
||||
#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
|
||||
|
@ -14,6 +14,31 @@
|
||||
|
||||
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
|
||||
//
|
||||
|
@ -13,6 +13,23 @@
|
||||
|
||||
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
|
||||
//
|
||||
|
@ -5366,6 +5366,17 @@ ContentParent::RecvEndDriverCrashGuard(const uint32_t& aGuardType)
|
||||
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
|
||||
|
||||
|
@ -898,6 +898,8 @@ private:
|
||||
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.
|
||||
|
@ -1086,6 +1086,9 @@ parent:
|
||||
sync GetGraphicsDeviceInitData()
|
||||
returns (DeviceInitData aData);
|
||||
|
||||
sync GetDeviceStorageLocation(nsString type)
|
||||
returns (nsString path);
|
||||
|
||||
both:
|
||||
AsyncMessage(nsString aMessage, ClonedMessageData aData,
|
||||
CpowEntry[] aCpows, Principal aPrincipal);
|
||||
|
@ -1198,11 +1198,17 @@ InitSystemMetrics()
|
||||
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(
|
||||
|
@ -1022,3 +1022,5 @@ pref("dom.ipc.systemMessageCPULockTimeoutSec", 30);
|
||||
pref("dom.wakelock.enabled", true);
|
||||
|
||||
pref("dom.webcomponents.enabled", true);
|
||||
|
||||
pref("layout.css.scroll-snap.enabled", true);
|
||||
|
@ -17,6 +17,7 @@ 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;
|
||||
@ -129,20 +130,30 @@ public class Launcher extends Activity
|
||||
}
|
||||
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);
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,6 +48,10 @@ this.MessagesBridge = {
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -304,10 +304,10 @@
|
||||
@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
|
||||
|
@ -45,6 +45,12 @@ contract @mozilla.org/content-permission/prompt;1 {C6E8C44D-9F39-4AF7-BCC0-76E38
|
||||
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
|
||||
@ -55,12 +61,6 @@ contract @mozilla.org/addons/web-install-prompt;1 {c1242012-27d8-477e-a0f1-0b098
|
||||
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}
|
||||
|
@ -23,7 +23,6 @@ EXTRA_COMPONENTS += [
|
||||
'HelperAppDialog.js',
|
||||
'LoginManagerPrompter.js',
|
||||
'NSSDialogService.js',
|
||||
'PromptService.js',
|
||||
'SiteSpecificUserAgent.js',
|
||||
'Snippets.js',
|
||||
'TabSource.js',
|
||||
@ -33,6 +32,7 @@ EXTRA_COMPONENTS += [
|
||||
if not CONFIG['MOZ_B2GDROID']:
|
||||
EXTRA_COMPONENTS += [
|
||||
'ContentPermissionPrompt.js',
|
||||
'PromptService.js',
|
||||
'SessionStore.js',
|
||||
'WebappsUpdateTimer.js',
|
||||
]
|
||||
|
@ -1,4 +1,4 @@
|
||||
{
|
||||
"repo": "https://hg.mozilla.org/build/mozharness",
|
||||
"revision": "9e3b69e89620"
|
||||
"revision": "e218c0e82735"
|
||||
}
|
||||
|
@ -37,6 +37,7 @@ 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,
|
||||
@ -1130,6 +1131,13 @@ class B2GBuild(LocalesMixin, PurgeMixin,
|
||||
|
||||
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()
|
||||
|
@ -7,6 +7,9 @@
|
||||
|
||||
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]))
|
||||
@ -41,13 +44,48 @@ class GaiaUnitTest(GaiaTest):
|
||||
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)
|
||||
|
@ -142,6 +142,12 @@ tests:
|
||||
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:
|
||||
|
@ -241,6 +241,12 @@ tests:
|
||||
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:
|
||||
|
44
testing/taskcluster/tasks/tests/mulet_gaia_unit.yml
Normal file
44
testing/taskcluster/tasks/tests/mulet_gaia_unit.yml
Normal file
@ -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}}
|
44
testing/taskcluster/tasks/tests/mulet_gaia_unit_oop.yml
Normal file
44
testing/taskcluster/tasks/tests/mulet_gaia_unit_oop.yml
Normal file
@ -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}}
|
@ -47,6 +47,8 @@
|
||||
#include "SurfaceTexture.h"
|
||||
#include "GLContextProvider.h"
|
||||
|
||||
#include "mozilla/dom/ContentChild.h"
|
||||
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::gfx;
|
||||
using namespace mozilla::jni;
|
||||
@ -55,6 +57,7 @@ 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 {
|
||||
@ -2121,6 +2124,30 @@ nsresult AndroidBridge::InputStreamRead(Object::Param obj, char *aBuf, uint32_t
|
||||
}
|
||||
|
||||
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;
|
||||
|
@ -309,6 +309,8 @@ public:
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user