mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge m-c to inbound. a=merge
This commit is contained in:
commit
fdc5960eec
@ -15,15 +15,15 @@
|
||||
<project name="platform_build" path="build" remote="b2g" revision="ef937d1aca7c4cf89ecb5cc43ae8c21c2000a9db">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<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="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<!-- 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"/>
|
||||
@ -134,7 +134,7 @@
|
||||
<project name="platform/hardware/akm" path="hardware/akm" revision="6d3be412647b0eab0adff8a2768736cf4eb68039"/>
|
||||
<project groups="invensense" name="platform/hardware/invensense" path="hardware/invensense" revision="e6d9ab28b4f4e7684f6c07874ee819c9ea0002a2"/>
|
||||
<project name="platform/hardware/ril" path="hardware/ril" revision="865ce3b4a2ba0b3a31421ca671f4d6c5595f8690"/>
|
||||
<project name="kernel/common" path="kernel" revision="0b521c3d9b4a8d551848829af0cd656a487af2ee"/>
|
||||
<project name="kernel/common" path="kernel" revision="df636d2c31ad4434a7de2565359ad982b3767118"/>
|
||||
<project name="platform/system/core" path="system/core" revision="a626f6c0ef9e88586569331bd7387b569eaa5ed2"/>
|
||||
<project name="u-boot" path="u-boot" revision="f1502910977ac88f43da7bf9277c3523ad4b0b2f"/>
|
||||
<project name="vendor/sprd/gps" path="vendor/sprd/gps" revision="4c59900937dc2e978b7b14b7f1ea617e3d5d550e"/>
|
||||
|
@ -19,13 +19,13 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="93f9ba577f68d772093987c2f1c0a4ae293e1802"/>
|
||||
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="97c3d9b8b87774ca7a08c89145e95b55652459ef"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<!-- Stock Android things -->
|
||||
<project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
|
||||
<project name="platform_bionic" path="bionic" remote="b2g" revision="e2b3733ba3fa5e3f404e983d2e4142b1f6b1b846"/>
|
||||
|
@ -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="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<!-- Stock Android things -->
|
||||
@ -135,7 +135,7 @@
|
||||
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="c5f8d282efe4a4e8b1e31a37300944e338e60e4f"/>
|
||||
<project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="0e56e450367cd802241b27164a2979188242b95f"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="9f28c4faea3b2f01db227b2467b08aeba96d9bec"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="16836b56e16e89670b83735bda6d02c5608cc083"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="ab0e87a2be365b9c7470a9deca1eeaaa2f962b18"/>
|
||||
<project name="android-sdk" path="sdk" remote="b2g" revision="8b1365af38c9a653df97349ee53a3f5d64fd590a"/>
|
||||
<project name="darwinstreamingserver" path="system/darwinstreamingserver" remote="b2g" revision="cf85968c7f85e0ec36e72c87ceb4837a943b8af6"/>
|
||||
</manifest>
|
||||
|
@ -15,15 +15,15 @@
|
||||
<project name="platform_build" path="build" remote="b2g" revision="ef937d1aca7c4cf89ecb5cc43ae8c21c2000a9db">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<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="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<!-- 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,15 +15,15 @@
|
||||
<project name="platform_build" path="build" remote="b2g" revision="52775e03a2d8532429dff579cb2cd56718e488c3">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<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="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<!-- Stock Android things -->
|
||||
<project groups="pdk,linux" name="platform/prebuilts/clang/linux-x86/host/3.5" path="prebuilts/clang/linux-x86/host/3.5" revision="50d1ca4ab8add54523b7bc692860d57e8ee4c0d1"/>
|
||||
<project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" revision="fb3845864573857677f9b500040a8f011eaf5078"/>
|
||||
|
@ -19,13 +19,13 @@
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="fake-dalvik" path="dalvik" remote="b2g" revision="ca1f327d5acc198bb4be62fa51db2c039032c9ce"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
|
||||
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="93f9ba577f68d772093987c2f1c0a4ae293e1802"/>
|
||||
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="97c3d9b8b87774ca7a08c89145e95b55652459ef"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<!-- Stock Android things -->
|
||||
<project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
|
||||
<project name="platform_bionic" path="bionic" remote="b2g" revision="e2b3733ba3fa5e3f404e983d2e4142b1f6b1b846"/>
|
||||
|
@ -15,15 +15,15 @@
|
||||
<project name="platform_build" path="build" remote="b2g" revision="ef937d1aca7c4cf89ecb5cc43ae8c21c2000a9db">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<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="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<!-- 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"/>
|
||||
@ -125,7 +125,7 @@
|
||||
<!-- Flame specific things -->
|
||||
<project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="1bb28abbc215f45220620af5cd60a8ac1be93722"/>
|
||||
<project name="device/qcom/common" path="device/qcom/common" revision="2501e5940ba69ece7654ff85611c76ae5bda299c"/>
|
||||
<project name="device-flame" path="device/t2m/flame" remote="b2g" revision="ebad7da532429a6f5efadc00bf6ad8a41288a429"/>
|
||||
<project name="device-flame" path="device/t2m/flame" remote="b2g" revision="b83fc73de7b64594cd74b33e498bf08332b5d87b"/>
|
||||
<project name="codeaurora_kernel_msm" path="kernel" remote="b2g" revision="0865bc4134b67220df4058625fba29305d6b10c3"/>
|
||||
<project name="kernel_lk" path="bootable/bootloader/lk" remote="b2g" revision="fda40423ffa573dc6cafd3780515010cb2a086be"/>
|
||||
<project name="platform_bootable_recovery" path="bootable/recovery" remote="b2g" revision="26e78a979f3090dc196219e268467620b6c40ec5"/>
|
||||
@ -146,7 +146,7 @@
|
||||
<project name="platform/hardware/ril" path="hardware/ril" revision="12b1977cc704b35f2e9db2bb423fa405348bc2f3"/>
|
||||
<project name="platform/system/bluetooth" path="system/bluetooth" revision="985bf15264d865fe7b9c5b45f61c451cbaafa43d"/>
|
||||
<project name="platform/system/core" path="system/core" revision="42839aedcf70bf6bc92a3b7ea4a5cc9bf9aef3f9"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="16836b56e16e89670b83735bda6d02c5608cc083"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="ab0e87a2be365b9c7470a9deca1eeaaa2f962b18"/>
|
||||
<project name="platform/system/qcom" path="system/qcom" revision="63e3f6f176caad587d42bba4c16b66d953fb23c2"/>
|
||||
<project name="platform/vendor/qcom-opensource/wlan/prima" path="vendor/qcom/opensource/wlan/prima" revision="d8952a42771045fca73ec600e2b42a4c7129d723"/>
|
||||
<project name="platform/vendor/qcom/msm8610" path="device/qcom/msm8610" revision="4c187c1f3a0dffd8e51a961735474ea703535b99"/>
|
||||
|
@ -17,10 +17,10 @@
|
||||
</project>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<!-- Stock Android things -->
|
||||
@ -145,7 +145,7 @@
|
||||
<project name="platform/hardware/ril" path="hardware/ril" revision="c4e2ac95907a5519a0e09f01a0d8e27fec101af0"/>
|
||||
<project name="platform/system/bluetooth" path="system/bluetooth" revision="e1eb226fa3ad3874ea7b63c56a9dc7012d7ff3c2"/>
|
||||
<project name="platform/system/core" path="system/core" revision="adc485d8755af6a61641d197de7cfef667722580"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="16836b56e16e89670b83735bda6d02c5608cc083"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="ab0e87a2be365b9c7470a9deca1eeaaa2f962b18"/>
|
||||
<project name="platform/system/qcom" path="system/qcom" revision="1cdab258b15258b7f9657da70e6f06ebd5a2fc25"/>
|
||||
<project name="platform/vendor/qcom/msm8610" path="device/qcom/msm8610" revision="4ae5df252123591d5b941191790e7abed1bce5a4"/>
|
||||
<project name="platform/vendor/qcom-opensource/wlan/prima" path="vendor/qcom/opensource/wlan/prima" revision="ce18b47b4a4f93a581d672bbd5cb6d12fe796ca9"/>
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"git": {
|
||||
"git_revision": "10dcd335d588997fc12845e9197de89228664f95",
|
||||
"git_revision": "1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406",
|
||||
"remote": "https://git.mozilla.org/releases/gaia.git",
|
||||
"branch": ""
|
||||
},
|
||||
"revision": "f378c0a3ef97b44ddb7f71a7a65faddc391c4e0e",
|
||||
"revision": "2545ffc0126d415f296eb375afd68bc4f6224030",
|
||||
"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="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/>
|
||||
<project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/>
|
||||
<!-- Stock Android things -->
|
||||
@ -130,7 +130,7 @@
|
||||
<project name="device-mako" path="device/lge/mako" remote="b2g" revision="78d17f0c117f0c66dd55ee8d5c5dde8ccc93ecba"/>
|
||||
<project name="device/generic/armv7-a-neon" path="device/generic/armv7-a-neon" revision="3a9a17613cc685aa232432566ad6cc607eab4ec1"/>
|
||||
<project name="device/lge/mako-kernel" path="device/lge/mako-kernel" revision="d1729e53d71d711c8fde25eab8728ff2b9b4df0e"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="16836b56e16e89670b83735bda6d02c5608cc083"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="ab0e87a2be365b9c7470a9deca1eeaaa2f962b18"/>
|
||||
<project name="platform/external/libnfc-nci" path="external/libnfc-nci" revision="7d33aaf740bbf6c7c6e9c34a92b371eda311b66b"/>
|
||||
<project name="platform/external/wpa_supplicant_8" path="external/wpa_supplicant_8" revision="0e56e450367cd802241b27164a2979188242b95f"/>
|
||||
<project name="platform/hardware/broadcom/wlan" path="hardware/broadcom/wlan" revision="0e1929fa3aa38bf9d40e9e953d619fab8164c82e"/>
|
||||
|
@ -15,15 +15,15 @@
|
||||
<project name="platform_build" path="build" remote="b2g" revision="52775e03a2d8532429dff579cb2cd56718e488c3">
|
||||
<copyfile dest="Makefile" src="core/root.mk"/>
|
||||
</project>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="10dcd335d588997fc12845e9197de89228664f95"/>
|
||||
<project name="gaia" path="gaia" remote="mozillaorg" revision="1b2f0a20ff4ada05b7d1f84a393bf15bda0e8406"/>
|
||||
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c82a532ee1f14b9733214022b1e2d55a0b030be8"/>
|
||||
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2e9f0341416e97926d4cfdb1ff961ec4d4069b0a"/>
|
||||
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
|
||||
<project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/>
|
||||
<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="1a1e326a7804a62de8f61fab705f7e1974cad818"/>
|
||||
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="cc41a48baff8d13bcd10cd96879ffdcf29beb1f2"/>
|
||||
<!-- Stock Android things -->
|
||||
<project groups="pdk,linux" name="platform/prebuilts/clang/linux-x86/host/3.5" path="prebuilts/clang/linux-x86/host/3.5" revision="50d1ca4ab8add54523b7bc692860d57e8ee4c0d1"/>
|
||||
<project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" path="prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.8" revision="fb3845864573857677f9b500040a8f011eaf5078"/>
|
||||
@ -157,5 +157,5 @@
|
||||
<project name="platform/hardware/qcom/sensors" path="hardware/qcom/sensors" revision="3724fd91ef5183684d97e2bf1d7ff948faabe090"/>
|
||||
<project name="platform/hardware/qcom/wlan" path="hardware/qcom/wlan" revision="2e54754cc0529d26ccac37ed291600048adbf6c0"/>
|
||||
<project name="platform/hardware/ril" path="hardware/ril" revision="71dfa8228ad0d6cdf6bac0426ac59404ab74b7f3"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="16836b56e16e89670b83735bda6d02c5608cc083"/>
|
||||
<project name="platform_system_nfcd" path="system/nfcd" remote="b2g" revision="ab0e87a2be365b9c7470a9deca1eeaaa2f962b18"/>
|
||||
</manifest>
|
||||
|
2
dom/camera/DOMCameraControl.cpp
Normal file → Executable file
2
dom/camera/DOMCameraControl.cpp
Normal file → Executable file
@ -306,6 +306,8 @@ nsDOMCameraControl::nsDOMCameraControl(uint32_t aCameraId,
|
||||
nsDOMCameraControl::~nsDOMCameraControl()
|
||||
{
|
||||
DOM_CAMERA_LOGT("%s:%d : this=%p\n", __func__, __LINE__, this);
|
||||
/*invoke DOMMdediastream destroy*/
|
||||
Destroy();
|
||||
}
|
||||
|
||||
JSObject*
|
||||
|
@ -70,6 +70,10 @@ Icc::Icc(nsPIDOMWindow* aWindow, long aClientId, nsIIccInfo* aIccInfo)
|
||||
}
|
||||
}
|
||||
|
||||
Icc::~Icc()
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
Icc::Shutdown()
|
||||
{
|
||||
|
@ -111,7 +111,7 @@ public:
|
||||
IMPL_EVENT_HANDLER(stksessionend)
|
||||
|
||||
private:
|
||||
~Icc() {}
|
||||
~Icc();
|
||||
|
||||
bool mLive;
|
||||
uint32_t mClientId;
|
||||
|
@ -498,17 +498,6 @@ let SessionHelper = {
|
||||
};
|
||||
|
||||
function Nfc() {
|
||||
debug("Starting Nfc Service");
|
||||
|
||||
let nfcService = Cc["@mozilla.org/nfc/service;1"].getService(Ci.nsINfcService);
|
||||
if (!nfcService) {
|
||||
debug("No nfc service component available!");
|
||||
return;
|
||||
}
|
||||
|
||||
nfcService.start(this);
|
||||
this.nfcService = nfcService;
|
||||
|
||||
gMessageManager.init(this);
|
||||
|
||||
this.targetsByRequestId = {};
|
||||
@ -529,6 +518,39 @@ Nfc.prototype = {
|
||||
|
||||
targetsByRequestId: null,
|
||||
|
||||
// temporary variables while NFC initialization is pending
|
||||
pendingNfcService: null,
|
||||
pendingMessageQueue: [],
|
||||
|
||||
/**
|
||||
* Start NFC service
|
||||
*/
|
||||
startNfcService: function startNfcService() {
|
||||
debug("Starting Nfc Service");
|
||||
|
||||
let nfcService =
|
||||
Cc["@mozilla.org/nfc/service;1"].getService(Ci.nsINfcService);
|
||||
if (!nfcService) {
|
||||
debug("No nfc service component available!");
|
||||
return false;
|
||||
}
|
||||
|
||||
nfcService.start(this);
|
||||
this.pendingNfcService = nfcService;
|
||||
|
||||
return true;
|
||||
},
|
||||
|
||||
/**
|
||||
* Shutdown NFC service
|
||||
*/
|
||||
shutdownNfcService : function shutdownNfcService() {
|
||||
debug("Shutting down Nfc Service");
|
||||
|
||||
this.nfcService.shutdown();
|
||||
this.nfcService = null;
|
||||
},
|
||||
|
||||
/**
|
||||
* Send arbitrary message to Nfc service.
|
||||
*
|
||||
@ -573,27 +595,23 @@ Nfc.prototype = {
|
||||
},
|
||||
|
||||
/**
|
||||
* Send Error response to content. This is used only
|
||||
* in case of discovering an error in message received from
|
||||
* content process.
|
||||
* Send Error response to content process.
|
||||
*
|
||||
* @param message
|
||||
* An nsIMessageListener's message parameter.
|
||||
* @param errorMsg
|
||||
* A string with an error message.
|
||||
*/
|
||||
sendNfcErrorResponse: function sendNfcErrorResponse(message, errorCode) {
|
||||
sendNfcErrorResponse: function sendNfcErrorResponse(message, errorMsg) {
|
||||
if (!message.target) {
|
||||
return;
|
||||
}
|
||||
|
||||
let nfcMsgType = message.name + "Response";
|
||||
message.data.errorMsg = this.getErrorMessage(errorCode);
|
||||
message.data.errorMsg = errorMsg;
|
||||
message.target.sendAsyncMessage(nfcMsgType, message.data);
|
||||
},
|
||||
|
||||
getErrorMessage: function getErrorMessage(errorCode) {
|
||||
return NFC.NFC_ERROR_MSG[errorCode];
|
||||
},
|
||||
|
||||
/**
|
||||
* Process the incoming message from the NFC Service.
|
||||
*/
|
||||
@ -604,7 +622,14 @@ Nfc.prototype = {
|
||||
message.type = message.rspType || message.ntfType;
|
||||
switch (message.type) {
|
||||
case NfcNotificationType.INITIALIZED:
|
||||
// Do nothing.
|
||||
this.nfcService = this.pendingNfcService;
|
||||
// Send messages that have been queued up during initialization
|
||||
// TODO: Bug 1141007: send error responses if the message
|
||||
// indicates an error during initialization.
|
||||
while (this.pendingMessageQueue.length) {
|
||||
this.receiveMessage(this.pendingMessageQueue.shift());
|
||||
}
|
||||
this.pendingNfcService = null;
|
||||
break;
|
||||
case NfcNotificationType.TECH_DISCOVERED:
|
||||
// Update the upper layers with a session token (alias)
|
||||
@ -648,6 +673,9 @@ Nfc.prototype = {
|
||||
this.rfState = message.rfState;
|
||||
gMessageManager.onRFStateChanged(this.rfState);
|
||||
}
|
||||
if (this.rfState == NFC.NFC_RF_STATE_IDLE) {
|
||||
this.shutdownNfcService();
|
||||
}
|
||||
break;
|
||||
case NfcResponseType.READ_NDEF_RSP: // Fall through.
|
||||
case NfcResponseType.WRITE_NDEF_RSP:
|
||||
@ -685,7 +713,8 @@ Nfc.prototype = {
|
||||
* Process a message from the gMessageManager.
|
||||
*/
|
||||
receiveMessage: function receiveMessage(message) {
|
||||
// Return early if we don't need the NFC Service.
|
||||
// Return early if we don't need the NFC Service. We won't start
|
||||
// the NFC daemon here.
|
||||
switch (message.name) {
|
||||
case "NFC:QueryInfo":
|
||||
return {rfState: this.rfState};
|
||||
@ -693,6 +722,24 @@ Nfc.prototype = {
|
||||
break;
|
||||
}
|
||||
|
||||
// Start NFC Service if necessary. Messages are held in a
|
||||
// queue while initialization is being performed.
|
||||
if (!this.nfcService) {
|
||||
if ((message.name == "NFC:ChangeRFState") &&
|
||||
(message.data.rfState != "idle") &&
|
||||
!this.pendingNfcService) {
|
||||
this.startNfcService(); // error handled in next branch
|
||||
}
|
||||
if (this.pendingNfcService) {
|
||||
this.pendingMessageQueue.push(message);
|
||||
} else {
|
||||
this.sendNfcErrorResponse(message, "NotInitialize");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// NFC Service is running and we have a message for it. This
|
||||
// is the case during normal operation.
|
||||
if (message.name != "NFC:ChangeRFState") {
|
||||
// Update the current sessionId before sending to the NFC service.
|
||||
message.data.sessionId = SessionHelper.getId(message.data.sessionToken);
|
||||
@ -738,8 +785,14 @@ Nfc.prototype = {
|
||||
},
|
||||
|
||||
shutdown: function shutdown() {
|
||||
this.nfcService.shutdown();
|
||||
this.nfcService = null;
|
||||
// We shutdown before initialization has been completed. The
|
||||
// pending messages will receive an error response.
|
||||
while (this.pendingMessageQueue.length) {
|
||||
this.sendNfcErrorResponse(this.pendingMessageQueue.shift(), "NotInitialize");
|
||||
}
|
||||
if (this.nfcService) {
|
||||
this.shutdownNfcService();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -4,11 +4,13 @@
|
||||
|
||||
#include "NfcService.h"
|
||||
#include <binder/Parcel.h>
|
||||
#include <cutils/properties.h>
|
||||
#include "mozilla/ModuleUtils.h"
|
||||
#include "mozilla/ClearOnShutdown.h"
|
||||
#include "mozilla/dom/NfcOptionsBinding.h"
|
||||
#include "mozilla/dom/ToJSValue.h"
|
||||
#include "mozilla/dom/RootedDictionary.h"
|
||||
#include "mozilla/unused.h"
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsString.h"
|
||||
#include "nsXULAppAPI.h"
|
||||
@ -264,7 +266,6 @@ private:
|
||||
};
|
||||
|
||||
NfcService::NfcService()
|
||||
: mConsumer(new NfcConsumer(this))
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT(!gNfcService);
|
||||
@ -296,20 +297,42 @@ NfcService::FactoryCreate()
|
||||
NS_IMETHODIMP
|
||||
NfcService::Start(nsINfcGonkEventListener* aListener)
|
||||
{
|
||||
static const char BASE_SOCKET_NAME[] = "nfcd";
|
||||
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
MOZ_ASSERT(aListener);
|
||||
MOZ_ASSERT(!mThread);
|
||||
MOZ_ASSERT(!mListenSocket);
|
||||
|
||||
// If we could not cleanup properly before and an old
|
||||
// instance of the daemon is still running, we kill it
|
||||
// here.
|
||||
unused << NS_WARN_IF(property_set("ctl.stop", "nfcd") < 0);
|
||||
|
||||
mListener = aListener;
|
||||
mHandler = new NfcMessageHandler();
|
||||
mConsumer = new NfcConsumer(this);
|
||||
|
||||
mListenSocketName = BASE_SOCKET_NAME;
|
||||
|
||||
mListenSocket = new NfcListenSocket(this);
|
||||
|
||||
bool success = mListenSocket->Listen(new NfcConnector(), mConsumer);
|
||||
if (!success) {
|
||||
mConsumer = nullptr;
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
nsresult rv = NS_NewNamedThread("NfcThread", getter_AddRefs(mThread));
|
||||
if (NS_FAILED(rv)) {
|
||||
NS_WARNING("Can't create Nfc worker thread.");
|
||||
Shutdown();
|
||||
mListenSocket->Close();
|
||||
mListenSocket = nullptr;
|
||||
mConsumer->Shutdown();
|
||||
mConsumer = nullptr;
|
||||
return NS_ERROR_FAILURE;
|
||||
}
|
||||
|
||||
mListener = aListener;
|
||||
mHandler = new NfcMessageHandler();
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -323,7 +346,11 @@ NfcService::Shutdown()
|
||||
mThread = nullptr;
|
||||
}
|
||||
|
||||
mListenSocket->Close();
|
||||
mListenSocket = nullptr;
|
||||
|
||||
mConsumer->Shutdown();
|
||||
mConsumer = nullptr;
|
||||
|
||||
return NS_OK;
|
||||
}
|
||||
@ -370,6 +397,40 @@ NfcService::ReceiveSocketData(nsAutoPtr<UnixSocketRawData>& aData)
|
||||
mThread->Dispatch(runnable, nsIEventTarget::DISPATCH_NORMAL);
|
||||
}
|
||||
|
||||
void
|
||||
NfcService::OnConnectSuccess(enum SocketType aSocketType)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
switch (aSocketType) {
|
||||
case LISTEN_SOCKET: {
|
||||
nsCString value("nfcd:-a ");
|
||||
value.Append(mListenSocketName);
|
||||
if (NS_WARN_IF(property_set("ctl.start", value.get()) < 0)) {
|
||||
OnConnectError(STREAM_SOCKET);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case STREAM_SOCKET:
|
||||
/* nothing to do */
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
NfcService::OnConnectError(enum SocketType aSocketType)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
Shutdown();
|
||||
}
|
||||
|
||||
void
|
||||
NfcService::OnDisconnect(enum SocketType aSocketType)
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
}
|
||||
|
||||
NS_GENERIC_FACTORY_SINGLETON_CONSTRUCTOR(NfcService,
|
||||
NfcService::FactoryCreate)
|
||||
|
||||
|
@ -29,8 +29,12 @@ public:
|
||||
|
||||
void DispatchNfcEvent(const mozilla::dom::NfcEventOptions& aOptions);
|
||||
|
||||
virtual void
|
||||
ReceiveSocketData(nsAutoPtr<mozilla::ipc::UnixSocketRawData>& aData) MOZ_OVERRIDE;
|
||||
virtual void ReceiveSocketData(
|
||||
nsAutoPtr<mozilla::ipc::UnixSocketRawData>& aData) MOZ_OVERRIDE;
|
||||
|
||||
virtual void OnConnectSuccess(enum SocketType aSocketType) MOZ_OVERRIDE;
|
||||
virtual void OnConnectError(enum SocketType aSocketType) MOZ_OVERRIDE;
|
||||
virtual void OnDisconnect(enum SocketType aSocketType) MOZ_OVERRIDE;
|
||||
|
||||
nsCOMPtr<nsIThread> GetThread() {
|
||||
return mThread;
|
||||
@ -42,8 +46,10 @@ private:
|
||||
|
||||
nsCOMPtr<nsIThread> mThread;
|
||||
nsCOMPtr<nsINfcGonkEventListener> mListener;
|
||||
nsRefPtr<mozilla::ipc::NfcListenSocket> mListenSocket;
|
||||
nsRefPtr<mozilla::ipc::NfcConsumer> mConsumer;
|
||||
nsAutoPtr<NfcMessageHandler> mHandler;
|
||||
nsCString mListenSocketName;
|
||||
};
|
||||
|
||||
} // namespace mozilla
|
||||
|
141
ipc/nfc/Nfc.cpp
141
ipc/nfc/Nfc.cpp
@ -22,19 +22,12 @@
|
||||
|
||||
#include "jsfriendapi.h"
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
#include "mozilla/ipc/UnixSocketConnector.h"
|
||||
#include "nsThreadUtils.h" // For NS_IsMainThread.
|
||||
|
||||
using namespace mozilla::ipc;
|
||||
|
||||
namespace {
|
||||
|
||||
static const char NFC_SOCKET_NAME[] = "/dev/socket/nfcd";
|
||||
|
||||
// Network port to connect to for adb forwarded sockets when doing
|
||||
// desktop development.
|
||||
static const uint32_t NFC_TEST_PORT = 6400;
|
||||
|
||||
class SendNfcSocketDataTask MOZ_FINAL : public nsRunnable
|
||||
{
|
||||
public:
|
||||
@ -62,37 +55,21 @@ private:
|
||||
nsAutoPtr<UnixSocketRawData> mRawData;
|
||||
};
|
||||
|
||||
class NfcConnector MOZ_FINAL : public mozilla::ipc::UnixSocketConnector
|
||||
{
|
||||
public:
|
||||
NfcConnector()
|
||||
{ }
|
||||
} // anonymous namespace
|
||||
|
||||
int Create() MOZ_OVERRIDE;
|
||||
bool CreateAddr(bool aIsServer,
|
||||
socklen_t& aAddrSize,
|
||||
sockaddr_any& aAddr,
|
||||
const char* aAddress) MOZ_OVERRIDE;
|
||||
bool SetUp(int aFd) MOZ_OVERRIDE;
|
||||
bool SetUpListenSocket(int aFd) MOZ_OVERRIDE;
|
||||
void GetSocketAddr(const sockaddr_any& aAddr,
|
||||
nsAString& aAddrStr) MOZ_OVERRIDE;
|
||||
};
|
||||
namespace mozilla {
|
||||
namespace ipc {
|
||||
|
||||
//
|
||||
// NfcConnector
|
||||
//
|
||||
|
||||
int
|
||||
NfcConnector::Create()
|
||||
{
|
||||
MOZ_ASSERT(!NS_IsMainThread());
|
||||
|
||||
int fd = -1;
|
||||
|
||||
#if defined(MOZ_WIDGET_GONK)
|
||||
fd = socket(AF_LOCAL, SOCK_STREAM, 0);
|
||||
#else
|
||||
// If we can't hit a local loopback, fail later in connect.
|
||||
fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
#endif
|
||||
|
||||
int fd = socket(AF_LOCAL, SOCK_STREAM, 0);
|
||||
if (fd < 0) {
|
||||
NS_WARNING("Could not open nfc socket!");
|
||||
return -1;
|
||||
@ -110,34 +87,23 @@ NfcConnector::CreateAddr(bool aIsServer,
|
||||
sockaddr_any& aAddr,
|
||||
const char* aAddress)
|
||||
{
|
||||
// We never open nfc socket as server.
|
||||
MOZ_ASSERT(!aIsServer);
|
||||
uint32_t af;
|
||||
#if defined(MOZ_WIDGET_GONK)
|
||||
af = AF_LOCAL;
|
||||
#else
|
||||
af = AF_INET;
|
||||
#endif
|
||||
switch (af) {
|
||||
case AF_LOCAL:
|
||||
aAddr.un.sun_family = af;
|
||||
if(strlen(aAddress) > sizeof(aAddr.un.sun_path)) {
|
||||
NS_WARNING("Address too long for socket struct!");
|
||||
return false;
|
||||
}
|
||||
strcpy((char*)&aAddr.un.sun_path, aAddress);
|
||||
aAddrSize = strlen(aAddress) + offsetof(struct sockaddr_un, sun_path) + 1;
|
||||
break;
|
||||
case AF_INET:
|
||||
aAddr.in.sin_family = af;
|
||||
aAddr.in.sin_port = htons(NFC_TEST_PORT);
|
||||
aAddr.in.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
|
||||
aAddrSize = sizeof(sockaddr_in);
|
||||
break;
|
||||
default:
|
||||
NS_WARNING("Socket type not handled by connector!");
|
||||
static const size_t sNameOffset = 1;
|
||||
|
||||
nsDependentCString socketName("nfcd");
|
||||
|
||||
size_t namesiz = socketName.Length() + 1; /* include trailing '\0' */
|
||||
|
||||
if ((sNameOffset + namesiz) > sizeof(aAddr.un.sun_path)) {
|
||||
NS_WARNING("Address too long for socket struct!");
|
||||
return false;
|
||||
}
|
||||
|
||||
memset(aAddr.un.sun_path, '\0', sNameOffset); // abstract socket
|
||||
memcpy(aAddr.un.sun_path + sNameOffset, socketName.get(), namesiz);
|
||||
aAddr.un.sun_family = AF_UNIX;
|
||||
|
||||
aAddrSize = offsetof(struct sockaddr_un, sun_path) + sNameOffset + namesiz;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -162,26 +128,51 @@ NfcConnector::GetSocketAddr(const sockaddr_any& aAddr,
|
||||
MOZ_CRASH("This should never be called!");
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
//
|
||||
// NfcListenSocket
|
||||
//
|
||||
|
||||
namespace mozilla {
|
||||
namespace ipc {
|
||||
NfcListenSocket::NfcListenSocket(NfcSocketListener* aListener)
|
||||
: mListener(aListener)
|
||||
{ }
|
||||
|
||||
void
|
||||
NfcListenSocket::OnConnectSuccess()
|
||||
{
|
||||
if (mListener) {
|
||||
mListener->OnConnectSuccess(NfcSocketListener::LISTEN_SOCKET);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
NfcListenSocket::OnConnectError()
|
||||
{
|
||||
if (mListener) {
|
||||
mListener->OnConnectError(NfcSocketListener::LISTEN_SOCKET);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
NfcListenSocket::OnDisconnect()
|
||||
{
|
||||
if (mListener) {
|
||||
mListener->OnDisconnect(NfcSocketListener::LISTEN_SOCKET);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// NfcConsumer
|
||||
//
|
||||
|
||||
NfcConsumer::NfcConsumer(NfcSocketListener* aListener)
|
||||
: mListener(aListener)
|
||||
, mShutdown(false)
|
||||
{
|
||||
mAddress = NFC_SOCKET_NAME;
|
||||
|
||||
Connect(new NfcConnector(), mAddress.get());
|
||||
}
|
||||
{ }
|
||||
|
||||
void
|
||||
NfcConsumer::Shutdown()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
mShutdown = true;
|
||||
Close();
|
||||
}
|
||||
|
||||
@ -209,23 +200,31 @@ NfcConsumer::ReceiveSocketData(nsAutoPtr<UnixSocketRawData>& aData)
|
||||
void
|
||||
NfcConsumer::OnConnectSuccess()
|
||||
{
|
||||
// Nothing to do here.
|
||||
CHROMIUM_LOG("NFC: %s\n", __FUNCTION__);
|
||||
|
||||
if (mListener) {
|
||||
mListener->OnConnectSuccess(NfcSocketListener::STREAM_SOCKET);
|
||||
}
|
||||
// Nothing to do here.
|
||||
}
|
||||
|
||||
void
|
||||
NfcConsumer::OnConnectError()
|
||||
{
|
||||
CHROMIUM_LOG("NFC: %s\n", __FUNCTION__);
|
||||
Close();
|
||||
|
||||
if (mListener) {
|
||||
mListener->OnConnectError(NfcSocketListener::STREAM_SOCKET);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
NfcConsumer::OnDisconnect()
|
||||
{
|
||||
CHROMIUM_LOG("NFC: %s\n", __FUNCTION__);
|
||||
if (!mShutdown) {
|
||||
Connect(new NfcConnector(), mAddress.get(), GetSuggestedConnectDelayMs());
|
||||
|
||||
if (mListener) {
|
||||
mListener->OnDisconnect(NfcSocketListener::STREAM_SOCKET);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,9 @@
|
||||
#ifndef mozilla_ipc_Nfc_h
|
||||
#define mozilla_ipc_Nfc_h 1
|
||||
|
||||
#include <mozilla/ipc/ListenSocket.h>
|
||||
#include <mozilla/ipc/StreamSocket.h>
|
||||
#include <mozilla/ipc/UnixSocketConnector.h>
|
||||
|
||||
namespace mozilla {
|
||||
namespace ipc {
|
||||
@ -17,7 +19,46 @@ namespace ipc {
|
||||
class NfcSocketListener
|
||||
{
|
||||
public:
|
||||
enum SocketType {
|
||||
LISTEN_SOCKET,
|
||||
STREAM_SOCKET
|
||||
};
|
||||
|
||||
virtual void ReceiveSocketData(nsAutoPtr<UnixSocketRawData>& aData) = 0;
|
||||
|
||||
virtual void OnConnectSuccess(enum SocketType aSocketType) = 0;
|
||||
virtual void OnConnectError(enum SocketType aSocketType) = 0;
|
||||
virtual void OnDisconnect(enum SocketType aSocketType) = 0;
|
||||
};
|
||||
|
||||
class NfcListenSocket MOZ_FINAL : public mozilla::ipc::ListenSocket
|
||||
{
|
||||
public:
|
||||
NfcListenSocket(NfcSocketListener* aListener);
|
||||
|
||||
void OnConnectSuccess() MOZ_OVERRIDE;
|
||||
void OnConnectError() MOZ_OVERRIDE;
|
||||
void OnDisconnect() MOZ_OVERRIDE;
|
||||
|
||||
private:
|
||||
NfcSocketListener* mListener;
|
||||
};
|
||||
|
||||
class NfcConnector MOZ_FINAL : public mozilla::ipc::UnixSocketConnector
|
||||
{
|
||||
public:
|
||||
NfcConnector()
|
||||
{ }
|
||||
|
||||
int Create() MOZ_OVERRIDE;
|
||||
bool CreateAddr(bool aIsServer,
|
||||
socklen_t& aAddrSize,
|
||||
sockaddr_any& aAddr,
|
||||
const char* aAddress) MOZ_OVERRIDE;
|
||||
bool SetUp(int aFd) MOZ_OVERRIDE;
|
||||
bool SetUpListenSocket(int aFd) MOZ_OVERRIDE;
|
||||
void GetSocketAddr(const sockaddr_any& aAddr,
|
||||
nsAString& aAddrStr) MOZ_OVERRIDE;
|
||||
};
|
||||
|
||||
class NfcConsumer MOZ_FINAL : public mozilla::ipc::StreamSocket
|
||||
@ -40,8 +81,6 @@ private:
|
||||
|
||||
private:
|
||||
NfcSocketListener* mListener;
|
||||
nsCString mAddress;
|
||||
bool mShutdown;
|
||||
};
|
||||
|
||||
} // namespace ipc
|
||||
|
Loading…
Reference in New Issue
Block a user