author | Wes Kocher <wkocher@mozilla.com> |
Thu, 26 Mar 2015 17:48:26 -0700 | |
changeset 236106 | 9ee3773c1ead9b16df3b03e27c556283e2faa8c3 |
parent 236105 | acb7c9364516fcf972c009137167f549938cfd20 (current diff) |
parent 236011 | e046475a75cb2dbcce6ebc3cd012efd7385a2142 (diff) |
child 236107 | 521c3eb713749c37aeb0ec58646751f6893594c7 |
push id | 57588 |
push user | ryanvm@gmail.com |
push date | Fri, 27 Mar 2015 15:17:31 +0000 |
treeherder | mozilla-inbound@44e454b5e93b [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | merge |
milestone | 39.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/b2g/app/b2g.js +++ b/b2g/app/b2g.js @@ -1126,15 +1126,21 @@ pref("dom.requestSync.enabled", true); // Only enable for kit kat and above devices // kit kat == 19, L = 21, 20 is kit-kat for wearables // 15 is for the ICS emulators which will fallback to software vsync #if ANDROID_VERSION == 19 || ANDROID_VERSION == 21 || ANDROID_VERSION == 15 pref("gfx.vsync.hw-vsync.enabled", true); pref("gfx.vsync.compositor", true); pref("gfx.touch.resample", true); -pref("gfx.vsync.refreshdriver", true); #else pref("gfx.vsync.hw-vsync.enabled", false); pref("gfx.vsync.compositor", false); pref("gfx.touch.resample", false); +#endif + +// Bug 1147753 - Weird issues with vsync refresh driver on L devices +// so disable them on L, but enable on KK and ICS +#if ANDROID_VERSION == 19 || ANDROID_VERSION == 15 +pref("gfx.vsync.refreshdriver", true); +#else pref("gfx.vsync.refreshdriver", false); #endif
--- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="ef937d1aca7c4cf89ecb5cc43ae8c21c2000a9db"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <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="e923984310b3e97f607d78a1a3031e6f9f5d0fd3"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5a63e2b9f3ef85e82a33440cb73c55dff4e9bf78"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/> <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/> <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="83760d213fb3bec7b4117d266fcfbf6fe2ba14ab"/> <project name="device/common" path="device/common" revision="6a2995683de147791e516aae2ccb31fdfbe2ad30"/>
--- a/b2g/config/emulator-ics/sources.xml +++ b/b2g/config/emulator-ics/sources.xml @@ -14,17 +14,17 @@ <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <default remote="caf" revision="refs/tags/android-4.0.4_r2.1" sync-j="4"/> <!-- Gonk specific things and forks --> <project name="platform_build" path="build" remote="b2g" revision="173b3104bfcbd23fc9dccd4b0035fc49aae3d444"> <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="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <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="527d1c939ee57deb7192166e56e2a3fffa8cb087"/> <project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="34ea6163f9f0e0122fb0bb03607eccdca31ced7a"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
--- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -12,20 +12,20 @@ <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="4efd19d199ae52656604f794c5a77518400220fd"> <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> - <project name="gaia" path="gaia" remote="mozillaorg" revision="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e923984310b3e97f607d78a1a3031e6f9f5d0fd3"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5a63e2b9f3ef85e82a33440cb73c55dff4e9bf78"/> <project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/> <project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="5c45f43419d5582949284eee9cef0c43d866e03b"/> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="3748b4168e7bd8d46457d4b6786003bc6a5223ce"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="9025e50b9d29b3cabbbb21e1dd94d0d13121a17e"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="b89fda71fcd0fa0cf969310e75be3ea33e048b44"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="2e7d5348f35575870b3c7e567a9a9f6d66f8d6c5"/>
--- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="ef937d1aca7c4cf89ecb5cc43ae8c21c2000a9db"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <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="e923984310b3e97f607d78a1a3031e6f9f5d0fd3"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5a63e2b9f3ef85e82a33440cb73c55dff4e9bf78"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="f92a936f2aa97526d4593386754bdbf02db07a12"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="6e47ff2790f5656b5b074407829ceecf3e6188c4"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="1950e4760fa14688b83cdbb5acaa1af9f82ef434"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="ac6eb97a37035c09fb5ede0852f0881e9aadf9ad"/> <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="737f591c5f95477148d26602c7be56cbea0cdeb9"/> <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="51da9b1981be481b92a59a826d4d78dc73d0989a"/> <project name="device/common" path="device/common" revision="798a3664597e6041985feab9aef42e98d458bc3d"/>
--- a/b2g/config/emulator-l/sources.xml +++ b/b2g/config/emulator-l/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="52775e03a2d8532429dff579cb2cd56718e488c3"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <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="e923984310b3e97f607d78a1a3031e6f9f5d0fd3"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5a63e2b9f3ef85e82a33440cb73c55dff4e9bf78"/> <!-- 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"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" revision="354496e8eddd28c743d8e02c02eeab02958367e6"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="b37c91354272b7413a0dc058b7445e677921d39e"/> <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" revision="a227c92e0170bcf2296a63386956946b0dd78ca7"/> <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" revision="884626610186b6dbea52cec5194b1c4bcfe1cb98"/> <project groups="pdk,linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" revision="29f9b82faa1af9730f52e933dca848546cbea84c"/>
--- a/b2g/config/emulator/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -14,17 +14,17 @@ <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <default remote="caf" revision="refs/tags/android-4.0.4_r2.1" sync-j="4"/> <!-- Gonk specific things and forks --> <project name="platform_build" path="build" remote="b2g" revision="173b3104bfcbd23fc9dccd4b0035fc49aae3d444"> <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="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <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="527d1c939ee57deb7192166e56e2a3fffa8cb087"/> <project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="34ea6163f9f0e0122fb0bb03607eccdca31ced7a"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/>
--- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="ef937d1aca7c4cf89ecb5cc43ae8c21c2000a9db"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <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="e923984310b3e97f607d78a1a3031e6f9f5d0fd3"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5a63e2b9f3ef85e82a33440cb73c55dff4e9bf78"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="a1e239a0bb5cd1d69680bf1075883aa9a7bf2429"/> <project groups="linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" path="prebuilts/gcc/linux-x86/x86/i686-linux-android-4.7" revision="c7931763d41be602407ed9d71e2c0292c6597e00"/> <project groups="linux,x86" name="platform/prebuilts/python/linux-x86/2.7.5" path="prebuilts/python/linux-x86/2.7.5" revision="a32003194f707f66a2d8cdb913ed1869f1926c5d"/> <project name="device/common" path="device/common" revision="96d4d2006c4fcb2f19a3fa47ab10cb409faa017b"/>
--- a/b2g/config/flame/sources.xml +++ b/b2g/config/flame/sources.xml @@ -12,20 +12,20 @@ <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="4efd19d199ae52656604f794c5a77518400220fd"> <copyfile dest="Makefile" src="core/root.mk"/> </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="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e923984310b3e97f607d78a1a3031e6f9f5d0fd3"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5a63e2b9f3ef85e82a33440cb73c55dff4e9bf78"/> <project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/> <project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="e95b4ce22c825da44d14299e1190ea39a5260bde"/> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="471afab478649078ad7c75ec6b252481a59e19b8"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="95bb5b66b3ec5769c3de8d3f25d681787418e7d2"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="ebdad82e61c16772f6cd47e9f11936bf6ebe9aa0"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="8b880805d454664b3eed11d0f053cdeafa1ff06e"/>
--- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "525c341254e08f07f90da57a4d1cd5971a3cc668", + "git_revision": "249b8c08c1d57961ef6c905f3498fa62b032bf24", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "77327d3916e7355e840528df62b93c02cb790776", + "revision": "87ffbce1342f44bdeee96c7d08d41ac630254eb3", "repo_path": "integration/gaia-central" }
--- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -12,20 +12,20 @@ <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="4efd19d199ae52656604f794c5a77518400220fd"> <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> - <project name="gaia" path="gaia" remote="mozillaorg" revision="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="ed2cf97a6c37a4bbd0bbbbffe06ec7136d8c79ff"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e923984310b3e97f607d78a1a3031e6f9f5d0fd3"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5a63e2b9f3ef85e82a33440cb73c55dff4e9bf78"/> <project name="valgrind" path="external/valgrind" remote="b2g" revision="daa61633c32b9606f58799a3186395fd2bbb8d8c"/> <project name="vex" path="external/VEX" remote="b2g" revision="47f031c320888fe9f3e656602588565b52d43010"/> <!-- Stock Android things --> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.1" path="prebuilts/clang/linux-x86/3.1" revision="5c45f43419d5582949284eee9cef0c43d866e03b"/> <project groups="linux" name="platform/prebuilts/clang/linux-x86/3.2" path="prebuilts/clang/linux-x86/3.2" revision="3748b4168e7bd8d46457d4b6786003bc6a5223ce"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6" revision="9025e50b9d29b3cabbbb21e1dd94d0d13121a17e"/> <project groups="linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.7-4.6" revision="b89fda71fcd0fa0cf969310e75be3ea33e048b44"/> <project groups="linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="2e7d5348f35575870b3c7e567a9a9f6d66f8d6c5"/>
--- a/b2g/config/nexus-5-l/sources.xml +++ b/b2g/config/nexus-5-l/sources.xml @@ -10,25 +10,25 @@ <!--original fetch url was git://codeaurora.org/--> <remote fetch="https://git.mozilla.org/external/caf" name="caf"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!-- B2G specific things. --> <project name="platform_build" path="build" remote="b2g" revision="52775e03a2d8532429dff579cb2cd56718e488c3"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="525c341254e08f07f90da57a4d1cd5971a3cc668"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="249b8c08c1d57961ef6c905f3498fa62b032bf24"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2aa4a75c63cd6e93870a8bddbba45f863cbfd9a3"/> <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="e923984310b3e97f607d78a1a3031e6f9f5d0fd3"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5a63e2b9f3ef85e82a33440cb73c55dff4e9bf78"/> <!-- 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"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.8" revision="354496e8eddd28c743d8e02c02eeab02958367e6"/> <project groups="pdk,linux,arm" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.8" revision="b37c91354272b7413a0dc058b7445e677921d39e"/> <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.6" revision="a227c92e0170bcf2296a63386956946b0dd78ca7"/> <project groups="pdk,linux" name="platform/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" path="prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.11-4.8" revision="884626610186b6dbea52cec5194b1c4bcfe1cb98"/> <project groups="pdk,linux,x86" name="platform/prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" path="prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8" revision="29f9b82faa1af9730f52e933dca848546cbea84c"/>
--- a/dom/mobilemessage/gonk/SmsSegmentHelper.jsm +++ b/dom/mobilemessage/gonk/SmsSegmentHelper.jsm @@ -117,20 +117,19 @@ this.SmsSegmentHelper = { * @return null or an options object with attributes `dcs`, * `userDataHeaderLength`, `encodedFullBodyLength`, `langIndex`, * `langShiftIndex`, `segmentMaxSeq` set. * * @see #calculateUserDataLength(). * * |enabledGsmTableTuples|: * List of tuples of national language identifier pairs. - * TODO: Support static/runtime settings, see bug 733331. * |segmentRef16Bit|: * Use 16-bit reference number for concatenated outgoint messages. - * TODO: Support static/runtime settings, see bug 733331. + * TODO: Support static/runtime settings, see bug 1019443. */ enabledGsmTableTuples: [ [RIL.PDU_NL_IDENTIFIER_DEFAULT, RIL.PDU_NL_IDENTIFIER_DEFAULT], ], segmentRef16Bit: false, calculateUserDataLength7Bit: function(aMessage, aStrict7BitEncoding) { let options = null; let minUserDataSeptets = Number.MAX_VALUE; @@ -157,18 +156,18 @@ this.SmsSegmentHelper = { } // Calculate full user data length, note the extra byte is for header len let headerSeptets = Math.ceil((headerLen ? headerLen + 1 : 0) * 8 / 7); let segmentSeptets = RIL.PDU_MAX_USER_DATA_7BIT; if ((bodySeptets + headerSeptets) > segmentSeptets) { headerLen += this.segmentRef16Bit ? 6 : 5; headerSeptets = Math.ceil((headerLen + 1) * 8 / 7); - segmentSeptets -= headerSeptets; } + segmentSeptets -= headerSeptets; let segments = Math.ceil(bodySeptets / segmentSeptets); let userDataSeptets = bodySeptets + headerSeptets * segments; if (userDataSeptets >= minUserDataSeptets) { continue; } minUserDataSeptets = userDataSeptets; @@ -418,9 +417,9 @@ this.SmsSegmentHelper = { aOptions.segmentRef16Bit = this.segmentRef16Bit; aOptions.segmentRef = this.nextSegmentRef; } return aOptions; } }; -this.EXPORTED_SYMBOLS = [ 'SmsSegmentHelper' ]; \ No newline at end of file +this.EXPORTED_SYMBOLS = [ 'SmsSegmentHelper' ];
--- a/dom/mobilemessage/gonk/SmsService.js +++ b/dom/mobilemessage/gonk/SmsService.js @@ -16,16 +16,17 @@ const GONK_SMSSERVICE_CONTRACTID = "@moz const GONK_SMSSERVICE_CID = Components.ID("{f9b9b5e2-73b4-11e4-83ff-a33e27428c86}"); const NS_XPCOM_SHUTDOWN_OBSERVER_ID = "xpcom-shutdown"; const NS_PREFBRANCH_PREFCHANGE_TOPIC_ID = "nsPref:changed"; const kPrefDefaultServiceId = "dom.sms.defaultServiceId"; const kPrefRilDebuggingEnabled = "ril.debugging.enabled"; const kPrefRilNumRadioInterfaces = "ril.numRadioInterfaces"; +const kPrefLastKnownSimMcc = "ril.lastKnownSimMcc"; const kDiskSpaceWatcherObserverTopic = "disk-space-watcher"; const kSmsReceivedObserverTopic = "sms-received"; const kSilentSmsReceivedObserverTopic = "silent-sms-received"; const kSmsSendingObserverTopic = "sms-sending"; const kSmsSentObserverTopic = "sms-sent"; const kSmsFailedObserverTopic = "sms-failed"; @@ -50,16 +51,20 @@ XPCOMUtils.defineLazyGetter(this, "gRadi interfaces.push(ril.getRadioInterface(i)); } return interfaces; }); XPCOMUtils.defineLazyGetter(this, "gSmsSegmentHelper", function() { let ns = {}; Cu.import("resource://gre/modules/SmsSegmentHelper.jsm", ns); + + // Initialize enabledGsmTableTuples from current MCC. + ns.SmsSegmentHelper.enabledGsmTableTuples = getEnabledGsmTableTuplesFromMcc(); + return ns.SmsSegmentHelper; }); XPCOMUtils.defineLazyGetter(this, "gPhoneNumberUtils", function() { let ns = {}; Cu.import("resource://gre/modules/PhoneNumberUtils.jsm", ns); return ns.PhoneNumberUtils; }); @@ -106,16 +111,17 @@ function SmsService() { this._portAddressedSmsApps = {}; this._portAddressedSmsApps[gWAP.WDP_PORT_PUSH] = this._handleSmsWdpPortPush.bind(this); this._receivedSmsSegmentsMap = {}; Services.prefs.addObserver(kPrefRilDebuggingEnabled, this, false); Services.prefs.addObserver(kPrefDefaultServiceId, this, false); + Services.prefs.addObserver(kPrefLastKnownSimMcc, this, false); Services.obs.addObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID, false); Services.obs.addObserver(this, kDiskSpaceWatcherObserverTopic, false); } SmsService.prototype = { classID: GONK_SMSSERVICE_CID, classInfo: XPCOMUtils.generateCI({classID: GONK_SMSSERVICE_CID, contractID: GONK_SMSSERVICE_CONTRACTID, @@ -1050,16 +1056,20 @@ SmsService.prototype = { switch (aTopic) { case NS_PREFBRANCH_PREFCHANGE_TOPIC_ID: if (aData === kPrefRilDebuggingEnabled) { this._updateDebugFlag(); } else if (aData === kPrefDefaultServiceId) { this.smsDefaultServiceId = this._getDefaultServiceId(); } + else if ( aData === kPrefLastKnownSimMcc) { + gSmsSegmentHelper.enabledGsmTableTuples = + getEnabledGsmTableTuplesFromMcc(); + } break; case kDiskSpaceWatcherObserverTopic: if (DEBUG) { debug("Observe " + kDiskSpaceWatcherObserverTopic + ": " + aData); } this._reportSmsMemoryStatus(aData != "full"); break; case NS_XPCOM_SHUTDOWN_OBSERVER_ID: @@ -1069,9 +1079,31 @@ SmsService.prototype = { Services.prefs.removeObserver(kPrefDefaultServiceId, this); Services.obs.removeObserver(this, NS_XPCOM_SHUTDOWN_OBSERVER_ID); Services.obs.removeObserver(this, kDiskSpaceWatcherObserverTopic); break; } } }; +/** + * Get enabled GSM national language locking shift / single shift table pairs + * for current SIM MCC. + * + * @return a list of pairs of national language identifiers for locking shift + * table and single shfit table, respectively. + */ +function getEnabledGsmTableTuplesFromMcc() { + let mcc; + try { + mcc = Services.prefs.getCharPref(kPrefLastKnownSimMcc); + } catch (e) {} + let tuples = [[RIL.PDU_NL_IDENTIFIER_DEFAULT, + RIL.PDU_NL_IDENTIFIER_DEFAULT]]; + let extraTuples = RIL.PDU_MCC_NL_TABLE_TUPLES_MAPPING[mcc]; + if (extraTuples) { + tuples = tuples.concat(extraTuples); + } + + return tuples; +}; + this.NSGetFactory = XPCOMUtils.generateNSGetFactory([SmsService]);
--- a/dom/mobilemessage/tests/marionette/manifest.ini +++ b/dom/mobilemessage/tests/marionette/manifest.ini @@ -46,8 +46,9 @@ qemu = true [test_mmdb_ports_in_cdma_wappush.js] [test_replace_short_message_type.js] [test_mt_sms_concatenation.js] [test_error_of_mms_manual_retrieval.js] [test_error_of_mms_send.js] [test_error_of_sms_send.js] [test_ondeleted_event.js] [test_decode_spanish_fallback.js] +[test_update_gsm_nl_on_mcc_chanages.js]
new file mode 100644 --- /dev/null +++ b/dom/mobilemessage/tests/marionette/test_update_gsm_nl_on_mcc_chanages.js @@ -0,0 +1,97 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +MARIONETTE_TIMEOUT = 60000; +MARIONETTE_HEAD_JS = 'head.js'; + +const kPrefLastKnownSimMcc = "ril.lastKnownSimMcc"; + +// "tablespoon" in Turkish. The character 'ç', 'ş' and 'ğ' exist in both Turkish +// locking and single shift tables, but is not available in either GSM default +// alphabet or its extension table. +const MSG_TURKISH = "çorba kaşığı"; + +// Random sentence taken from Turkish news with 155 characters. It's the longest +// message which can be encoded as single 7-bit SMS segment (while using UCS-2 +// it will be splitted to 3 segments). +const MSG_TURKISH_LONG = "Sinan Akçıl-Ebru Şallı cephesinde sular durulmuyor. \ +Çiftin ayrılığına dair yeni iddialar ortaya atıldı. İlk iddiaya göre; Sinan \ +Akçıl, Ebru Şallı'dan 1.5.."; + +// Random sentence taken from Turkish news with 156 characters, which just +// exceeds the max length of single 7-bit SMS segment. +const MSG_TURKISH_MULTI_SEGS = "ABD'de Başkan Barack Obama'nın kendisini \ +Twitter'dan takip ettiğini söyleyen Kam Brock adlı kadının psikiyatri tedavisi \ +görmeye zorlandığı bildirildi. Obama"; + +function getSegmentInfoForText(aBody) { + return new Promise(function(resolve, reject) { + let domRequest = manager.getSegmentInfoForText(aBody); + domRequest.onsuccess = function() { + let segmentInfo = domRequest.result; + log("getSegmentInfoForText success: " + JSON.stringify(segmentInfo)); + resolve(segmentInfo); + }; + domRequest.onerror = function(){ + log("getSegmentInfoForText error"); + reject(); + } + }); +} + +function verifySegmentInfo(segmentInfo, expectedSegmentInfo, msg) { + is(segmentInfo.segments, expectedSegmentInfo.segments, msg); + is(segmentInfo.charsPerSegment, expectedSegmentInfo.charsPerSegment, msg); + is(segmentInfo.charsAvailableInLastSegment, + expectedSegmentInfo.charsAvailableInLastSegment, msg); +}; + +/** + * Since charsPerSegment returned by getSegmentInfoForText should match the + * actual segment size when sending a message (which is verified in + * test_ril_worker_sms_sgement_info.js), here we verify the correct table tuples + * are loaded when MCC changes by comparing the value of charsPerSegment for the + * same text when applying different mcc values. + */ +startTestCommon(function testCaseMain() { + return Promise.resolve() + // Change MCC to US. + .then(() => pushPrefEnv({set: [[kPrefLastKnownSimMcc, "310"]]})) + + // US / UCS-2 / short Turkish message. + .then(() => getSegmentInfoForText(MSG_TURKISH)) + .then((segmentInfo) => verifySegmentInfo(segmentInfo, + {segments: 1, charsPerSegment: 70, + charsAvailableInLastSegment: 70 - MSG_TURKISH.length}, + "US / UCS-2 / short Turkish message.")) + + // US / UCS-2 / long Turkish message. + .then(() => getSegmentInfoForText(MSG_TURKISH_LONG)) + .then((segmentInfo) => verifySegmentInfo(segmentInfo, + {segments: 3, charsPerSegment: 67, + charsAvailableInLastSegment: 67 - MSG_TURKISH_LONG.length % 67}, + "US / UCS-2 / long Turkish message.")) + + // Change MCC to Turkey. + .then(() => pushPrefEnv({set: [[kPrefLastKnownSimMcc, "286"]]})) + + // Turkey / GSM 7 bits / short Turkish message. + .then(() => getSegmentInfoForText(MSG_TURKISH)) + .then((segmentInfo) => verifySegmentInfo(segmentInfo, + {segments: 1, charsPerSegment: 155, + charsAvailableInLastSegment: 155 - MSG_TURKISH.length}, + "Turkey / GSM 7 bits / short Turkish message.")) + + // Turkey; GSM 7 bits; longest single segment Turkish message. + .then(() => getSegmentInfoForText(MSG_TURKISH_LONG)) + .then((segmentInfo) => verifySegmentInfo(segmentInfo, + {segments: 1, charsPerSegment: 155, charsAvailableInLastSegment: 0}, + "Turkey / GSM 7 bits / longest single segment Turkish message.")) + + // Turkey; GSM 7 bits; shortest dual segments Turkish message. + .then(() => getSegmentInfoForText(MSG_TURKISH_MULTI_SEGS)) + .then((segmentInfo) => verifySegmentInfo(segmentInfo, + {segments: 2, charsPerSegment: 149, + charsAvailableInLastSegment: 149 - MSG_TURKISH_MULTI_SEGS.length % 149}, + "Turkey / GSM 7 bits / shortest dual segments Turkish message.")); +});
--- a/dom/system/gonk/ril_consts.js +++ b/dom/system/gonk/ril_consts.js @@ -1687,16 +1687,41 @@ this.PDU_NL_IDENTIFIER_HINDI = 6; this.PDU_NL_IDENTIFIER_KANNADA = 7; this.PDU_NL_IDENTIFIER_MALAYALAM = 8; this.PDU_NL_IDENTIFIER_ORIYA = 9; this.PDU_NL_IDENTIFIER_PUNJABI = 10; this.PDU_NL_IDENTIFIER_TAMIL = 11; this.PDU_NL_IDENTIFIER_TELUGU = 12; this.PDU_NL_IDENTIFIER_URDU = 13; +// The mapping of mcc and their extra GSM national language locking / single +// shift table tuples to enable. The default GSM alphabet and extension table +// are always enabled and need not to be list here. +// +// The content should be updated when a relevant national regulatory body +// requests. See 'NOTE 2' of 6.2.1.2.5 in 3GPP TS 23.038: +// " +// Encoding of a message using the national locking shift mechanism is not +// intended to be implemented until a formal request is issued by the +// relevant national regulatory body. This is because a receiving entity +// not supporting the relevant locking-shift decoding will present different +// characters from the ones intended by the sending entity. +// " +this.PDU_MCC_NL_TABLE_TUPLES_MAPPING = { + // Configuration for Turkey. + // + // The Turkish single shift table contains 7 extra characters + // (Ğ, İ, Ş, ç, ğ, ı, ş) than the GSM default alphabet extension table. Since + // all the 7 characters are also included in Turkish locking shift table, it's + // not necessary to enable Turkish single shift table. Using GSM default + // alphabet extension table instead saves 3 octets when these extension table + // characters present in a message. + 286: [[PDU_NL_IDENTIFIER_TURKISH, PDU_NL_IDENTIFIER_DEFAULT]] +}; + /* * 3GPP TS 23.038 - 6.2.1 GSM 7 bit Default Alphabet */ this.PDU_NL_GSM_DEFAULT_ALPHABET = // 01.....23.....4.....5.....6.....7.....8.....9.....A.B.....C.....D.E.....F..... "@\u00a3$\u00a5\u00e8\u00e9\u00f9\u00ec\u00f2\u00c7\n\u00d8\u00f8\r\u00c5\u00e5" // 0.....12.....3.....4.....5.....6.....7.....8.....9.....A.....B.....C.....D.....E.....F..... + "\u0394_\u03a6\u0393\u039b\u03a9\u03a0\u03a8\u03a3\u0398\u039e\uffff\u00c6\u00e6\u00df\u00c9"
--- a/dom/wifi/WifiWorker.js +++ b/dom/wifi/WifiWorker.js @@ -3261,17 +3261,33 @@ WifiWorker.prototype = { WifiManager.enableNetwork(privnet.netId, true, function (ok) { if (ok) self._needToEnableNetworks = true; if (WifiManager.state === "DISCONNECTED" || WifiManager.state === "SCANNING") { WifiManager.reconnect(function (ok) { self._sendMessage(message, ok, ok, msg); }); - } else { + } else if (WifiManager.state == "INACTIVE") { + // If AP info didn't clear, then call associate function. + // That maybe occurs wpa supplicant that suppose already associated. + // To avoid this case, need to clear AP info and call reassoiate + // in INACTIVE state. + let networkKey = getNetworkKey(network); + if (!(networkKey in this.configuredNetworks)) { + self._sendMessage(message, false, "Trying to forget an unknown network", msg); + return; + } + let configured = this.configuredNetworks[networkKey]; + WifiManager.removeNetwork(configured.netId, function() { + WifiManager.reassociate(function() { + self._sendMessage(message, ok, ok, msg); + }); + }); + }else { self._sendMessage(message, ok, ok, msg); } }); } var selectAndConnectOrReturn = dontConnect ? function() { self._sendMessage(message, true, "Wifi has been recorded", msg);
--- a/editor/libeditor/tests/test_bug414526.html +++ b/editor/libeditor/tests/test_bug414526.html @@ -121,22 +121,17 @@ function runTests() synthesizeKey("VK_DELETE", { }); is(container.innerHTML, kTestCase1, "Pressing delete key at end of editor2 changes the content"); reset(); editor3.focus(); moveCaretToEndOf(editor3); synthesizeKey("VK_DELETE", { }); - // Because of a bug in nsFrameSelection::CharacterExtendForDelete, pressing Delete - // here puts the selection in the text node inside editor3's inner div, which - // causes us to delete the contents of that text node. This situation shouldn't - // happen by the normal caret navigation functions that the user can invoke, so - // we can fix it later. - todo_is(container.innerHTML, kTestCase1, + is(container.innerHTML, kTestCase1, "Pressing delete key at end of editor3 changes the content"); reset(); editor4.focus(); moveCaretToEndOf(editor4); synthesizeKey("VK_DELETE", { }); is(container.innerHTML, kTestCase1, "Pressing delete key at end of editor4 changes the content");
--- a/layout/base/SelectionCarets.cpp +++ b/layout/base/SelectionCarets.cpp @@ -457,16 +457,18 @@ SelectionCarets::UpdateSelectionCarets() SetVisibility(false); return; } int32_t rangeCount = selection->RangeCount(); nsRefPtr<nsRange> firstRange = selection->GetRangeAt(0); nsRefPtr<nsRange> lastRange = selection->GetRangeAt(rangeCount - 1); + mPresShell->FlushPendingNotifications(Flush_Layout); + nsIFrame* rootFrame = mPresShell->GetRootFrame(); if (!rootFrame) { SetVisibility(false); return; } // Check start and end frame is rtl or ltr text @@ -490,18 +492,16 @@ SelectionCarets::UpdateSelectionCarets() } // Check if startFrame is after endFrame. if (nsLayoutUtils::CompareTreePosition(startFrame, endFrame) > 0) { SetVisibility(false); return; } - mPresShell->FlushPendingNotifications(Flush_Layout); - // If the selection is not visible, we should dispatch a event. nsIFrame* commonAncestorFrame = nsLayoutUtils::FindNearestCommonAncestorFrame(startFrame, endFrame); nsRect selectionRectInRootFrame = nsContentUtils::GetSelectionBoundingRect(selection); nsRect selectionRectInCommonAncestorFrame = selectionRectInRootFrame; nsLayoutUtils::TransformRect(rootFrame, commonAncestorFrame, selectionRectInCommonAncestorFrame);
--- a/layout/base/tests/chrome/scroll_selection_into_view_window.html +++ b/layout/base/tests/chrome/scroll_selection_into_view_window.html @@ -3,63 +3,63 @@ <head> <title>Test for scrolling selection into view</title> </head> <body onload="opener.doTest();"> <div id="c1" style="overflow-y:scroll; width:200px; height:200px; position:absolute; top:200px; left:0;"> <div style="height:400px;"></div> <div><span id="target1" - style="display:inline-block; vertical-align:top; height:20px;">target</span> + style="display:inline-block; vertical-align:top; height:20px;"></span> </div> <div style="height:400px;"></div> </div> <div id="c2" style="overflow:hidden; width:200px; height:200px; position:absolute; top:200px; left:200px;"> <div style="height:400px;"></div> <div><span id="target2" - style="display:inline-block; vertical-align:top; height:20px;">target2</span> + style="display:inline-block; vertical-align:top; height:20px;"></span> </div> <div style="height:400px;"></div> </div> <div id="c3" style="overflow-y:scroll; width:200px; height:200px; position:absolute; top:200px; left:400px;"> <div style="height:400px;"></div> <div><span id="target3" - style="display:inline-block; vertical-align:top; height:300px;">target3</span> + style="display:inline-block; vertical-align:top; height:300px;"></span> </div> <div style="height:400px;"></div> </div> <div id="c4" style="overflow-y:scroll; width:200px; height:200px; position:absolute; top:200px; left:600px;"> <iframe id="target4" style="border:none; width:100%; height:1100px; display:block;" src="data:text/html, <body style='margin:0; overflow:hidden;'> <div style='height:400px;'></div> <div><span id='target4' - style='display:inline-block; vertical-align:top; height:300px;'>target4</span> + style='display:inline-block; vertical-align:top; height:300px;'></span> </div> <div style='height:400px;'></div>"> </iframe> </div> <div id="c5" style="overflow-y:scroll; width:200px; height:200px; position:absolute; top:400px; left:0;"> <div style="-moz-transform:translateY(400px); transform:translateY(400px)"> - <span id="target5" style="display:inline-block; vertical-align:top; height:20px;">target</span> + <span id="target5" style="display:inline-block; vertical-align:top; height:20px;"></span> </div> <div style="height:800px;"></div> </div> <div id="c6" style="overflow-y:scroll; width:200px; height:200px; position:absolute; top:400px; left:200px;"> <div style="height:200px"></div> <div style="height:100px; -moz-transform:scale(2); transform:scale(2)"> - <span id="target6" style="display:inline-block; vertical-align:top; height:20px;">target</span> + <span id="target6" style="display:inline-block; vertical-align:top; height:20px;"></span> </div> <div style="height:800px;"></div> </div> <div id="c7" style="overflow-y:scroll; width:200px; height:200px; position:absolute; top:400px; left:400px;"> <div style="overflow:auto; height:200px; -moz-transform:translateY(400px); transform:translateY(400px)"> <div style="height:200px;"></div> <div> - <span id="target7" style="display:inline-block; vertical-align:top; height:20px;">target</span> + <span id="target7" style="display:inline-block; vertical-align:top; height:20px;"></span> </div> <div style="height:800px;"></div> </div> <div style="height:800px;"></div> </div> </body>
--- a/layout/generic/nsSelection.cpp +++ b/layout/generic/nsSelection.cpp @@ -1850,39 +1850,31 @@ nsFrameSelection::GetFrameForNodeOffset( nsCOMPtr<nsIContent> childNode = theNode->GetChildAt(childIndex); if (!childNode) return nullptr; theNode = childNode; } -#ifdef DONT_DO_THIS_YET - // XXX: We can't use this code yet because the hinting - // can cause us to attach to the wrong line frame. - // Now that we have the child node, check if it too // can contain children. If so, call this method again! - - if (theNode->IsElement()) + if (theNode->IsElement() && + theNode->GetChildCount() && + !theNode->HasIndependentSelection()) { int32_t newOffset = 0; - if (aOffset > childIndex) - { + if (aOffset > childIndex) { numChildren = theNode->GetChildCount(); - newOffset = numChildren; } return GetFrameForNodeOffset(theNode, newOffset, aHint, aReturnOffset); - } - else -#endif // DONT_DO_THIS_YET - { + } else { // Check to see if theNode is a text node. If it is, translate // aOffset into an offset into the text node. nsCOMPtr<nsIDOMText> textNode = do_QueryInterface(theNode); if (textNode) { if (theNode->GetPrimaryFrame()) @@ -1894,23 +1886,35 @@ nsFrameSelection::GetFrameForNodeOffset( nsresult rv = textNode->GetLength(&textLength); if (NS_FAILED(rv)) return nullptr; *aReturnOffset = (int32_t)textLength; } else *aReturnOffset = 0; - } - else - { - // If we're at a collapsed whitespace content node (which - // does not have a primary frame), just use the original node - // to get the frame on which we should put the caret. - theNode = aNode; + } else { + int32_t numChildren = aNode->GetChildCount(); + int32_t newChildIndex = + aHint == CARET_ASSOCIATE_BEFORE ? childIndex - 1 : childIndex + 1; + + if (newChildIndex >= 0 && newChildIndex < numChildren) { + nsCOMPtr<nsIContent> newChildNode = aNode->GetChildAt(newChildIndex); + if (!newChildNode) + return nullptr; + + theNode = newChildNode; + int32_t newOffset = + aHint == CARET_ASSOCIATE_BEFORE ? theNode->GetChildCount() : 0; + return GetFrameForNodeOffset(theNode, newOffset, aHint, aReturnOffset); + } else { + // newChildIndex is illegal which means we're at first or last + // child. Just use original node to get the frame. + theNode = aNode; + } } } } } // If the node is a ShadowRoot, the frame needs to be adjusted, // because a ShadowRoot does not get a frame. Its children are rendered // as children of the host.
--- a/testing/docker/tester/Dockerfile +++ b/testing/docker/tester/Dockerfile @@ -14,15 +14,16 @@ ADD https://raw.githubusercon # Run test setup script RUN chmod u+x /home/worker/bin/buildbot_step RUN chmod u+x /usr/local/bin/linux64-minidump_stackwalk RUN apt-get install -y python-pip && pip install virtualenv; RUN mkdir Documents; mkdir Pictures; mkdir Music; mkdir Videos; mkdir artifacts RUN chown -R worker:worker /home/worker/* /home/worker/.* RUN npm install -g taskcluster-vcs@2.3.4 +RUN rm -Rf .cache && mkdir -p .cache ENV PATH $PATH:/home/worker/bin # TODO Re-enable worker when bug 1093833 lands #USER worker # Set a default command useful for debugging CMD ["/bin/bash", "--login"]
--- a/testing/docker/tester/VERSION +++ b/testing/docker/tester/VERSION @@ -1,1 +1,1 @@ -0.2.8 +0.2.9
--- a/testing/mozharness/mozharness.json +++ b/testing/mozharness/mozharness.json @@ -1,4 +1,4 @@ { "repo": "https://hg.mozilla.org/build/mozharness", - "revision": "93f17b170f43" + "revision": "9c18f2f9e0c0" }
--- a/testing/taskcluster/tasks/branches/b2g-inbound/job_flags.yml +++ b/testing/taskcluster/tasks/branches/b2g-inbound/job_flags.yml @@ -14,17 +14,20 @@ builds: task: tasks/builds/b2g_flame_kk_opt.yml flame-kk-eng: platforms: - b2g types: opt: task: tasks/builds/b2g_flame_kk_eng.yml +tests: gaia-ui-test-sanity: + allowed_build_tasks: + tasks/builds/b2g_flame_kk_eng.yml: task: tasks/tests/flame_kk_gaia_ui_test_sanity.yml gaia-ui-test-functional: allowed_build_tasks: tasks/builds/b2g_flame_kk_eng.yml: task: tasks/tests/flame_kk_gaia_ui_test_functional.yml gaia-ui-test-functional-dsds: allowed_build_tasks: tasks/builds/b2g_flame_kk_eng.yml: