author | Wes Kocher <wkocher@mozilla.com> |
Mon, 10 Nov 2014 18:14:04 -0800 | |
changeset 214903 | cbe6afcae26cc127b9ec4bfb9478b6a5e1fdc0ac |
parent 214872 | 35c81bff3c42e41966e0be5df23ebddb888d3c0d (current diff) |
parent 214902 | f5a9b363418e3b339069e558044a5eb2e73bdc21 (diff) |
child 214908 | c81a18c1c66987ce7a5b2b2150532615fd9b5560 |
child 214937 | 75c7f78a6b42559cac7b626497a9d1230c7019a4 |
child 214973 | 524ebd4de640eb4bccd32ff3fd1910d14cdef278 |
push id | 27799 |
push user | kwierso@gmail.com |
push date | Tue, 11 Nov 2014 02:14:10 +0000 |
treeherder | autoland@cbe6afcae26c [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | merge |
milestone | 36.0a1 |
first release with | nightly linux32
cbe6afcae26c
/
36.0a1
/
20141111030203
/
files
nightly linux64
cbe6afcae26c
/
36.0a1
/
20141111030203
/
files
nightly mac
cbe6afcae26c
/
36.0a1
/
20141111030203
/
files
nightly win32
cbe6afcae26c
/
36.0a1
/
20141111030203
/
files
nightly win64
cbe6afcae26c
/
36.0a1
/
20141111030203
/
files
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
releases | nightly linux32
36.0a1
/
20141111030203
/
pushlog to previous
nightly linux64
36.0a1
/
20141111030203
/
pushlog to previous
nightly mac
36.0a1
/
20141111030203
/
pushlog to previous
nightly win32
36.0a1
/
20141111030203
/
pushlog to previous
nightly win64
36.0a1
/
20141111030203
/
pushlog to previous
|
--- a/b2g/app/b2g.js +++ b/b2g/app/b2g.js @@ -21,16 +21,18 @@ pref("browser.shell.checkDefaultBrowser" // Automatically open devtools on the firefox os panel pref("devtools.toolbox.host", "side"); pref("devtools.toolbox.sidebar.width", 800); // Disable session store to ensure having only one tab opened pref("browser.sessionstore.max_tabs_undo", 0); pref("browser.sessionstore.max_windows_undo", 0); pref("browser.sessionstore.restore_on_demand", false); pref("browser.sessionstore.resume_from_crash", false); +// No e10s on mulet +pref("browser.tabs.remote.autostart.1", false); #endif // Bug 945235: Prevent all bars to be considered visible: pref("toolkit.defaultChromeFeatures", "chrome,dialog=no,close,resizable,scrollbars,extrachrome"); // Device pixel to CSS px ratio, in percent. Set to -1 to calculate based on display density. pref("browser.viewport.scaleRatio", -1);
--- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -7,28 +7,28 @@ <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/> <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <!--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="3a2947df41a480de1457a6dcdbf46ad0af70d8e0"> + <project name="platform_build" path="build" remote="b2g" revision="3ab0d9c70f0b2e1ededc679112c392303f037361"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <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="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <!-- 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 @@ -10,27 +10,27 @@ <!--original fetch url was git://github.com/mozilla/--> <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!--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="70eb0cb0977d6295e7da8896f9efb9f3ca1c13ea"> + <project name="platform_build" path="build" remote="b2g" revision="df362ace56338da8173d30d3e09e08c42c1accfa"> <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="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/> <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="67f2907bc340bad250b4ea6ce2902b52896c9ef0"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/> <project name="platform/bionic" path="bionic" revision="c72b8f6359de7ed17c11ddc9dfdde3f615d188a9"/> <project name="platform/bootable/recovery" path="bootable/recovery" revision="425f8b5fadf5889834c5acd27d23c9e0b2129c28"/> <project name="device/common" path="device/common" revision="42b808b7e93d0619286ae8e59110b176b7732389"/> <project name="device/sample" path="device/sample" revision="237bd668d0f114d801a8d6455ef5e02cc3577587"/> <project name="platform_external_apriori" path="external/apriori" remote="b2g" revision="11816ad0406744f963537b23d68ed9c2afb412bd"/> <project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="52a1a862a8bac319652b8f82d9541ba40bfa45ce"/>
--- a/b2g/config/emulator-jb/sources.xml +++ b/b2g/config/emulator-jb/sources.xml @@ -7,25 +7,25 @@ <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/> <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <!--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="8986df0f82e15ac2798df0b6c2ee3435400677ac"> + <project name="platform_build" path="build" remote="b2g" revision="0e94c080bee081a50aa2097527b0b40852f9143f"> <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> - <project name="gaia" path="gaia" remote="mozillaorg" revision="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <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 @@ -7,28 +7,28 @@ <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/> <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <!--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="3a2947df41a480de1457a6dcdbf46ad0af70d8e0"> + <project name="platform_build" path="build" remote="b2g" revision="3ab0d9c70f0b2e1ededc679112c392303f037361"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <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="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <!-- 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/sources.xml +++ b/b2g/config/emulator/sources.xml @@ -10,27 +10,27 @@ <!--original fetch url was git://github.com/mozilla/--> <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/> <!--original fetch url was https://git.mozilla.org/releases--> <remote fetch="https://git.mozilla.org/releases" name="mozillaorg"/> <!--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="70eb0cb0977d6295e7da8896f9efb9f3ca1c13ea"> + <project name="platform_build" path="build" remote="b2g" revision="df362ace56338da8173d30d3e09e08c42c1accfa"> <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="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="cd88d860656c31c7da7bb310d6a160d0011b0961"/> <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="67f2907bc340bad250b4ea6ce2902b52896c9ef0"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="dd924f92906085b831bf1cbbc7484d3c043d613c"/> <project name="platform/bionic" path="bionic" revision="c72b8f6359de7ed17c11ddc9dfdde3f615d188a9"/> <project name="platform/bootable/recovery" path="bootable/recovery" revision="425f8b5fadf5889834c5acd27d23c9e0b2129c28"/> <project name="device/common" path="device/common" revision="42b808b7e93d0619286ae8e59110b176b7732389"/> <project name="device/sample" path="device/sample" revision="237bd668d0f114d801a8d6455ef5e02cc3577587"/> <project name="platform_external_apriori" path="external/apriori" remote="b2g" revision="11816ad0406744f963537b23d68ed9c2afb412bd"/> <project name="platform/external/bluetooth/bluez" path="external/bluetooth/bluez" revision="52a1a862a8bac319652b8f82d9541ba40bfa45ce"/>
--- a/b2g/config/flame-kk/sources.xml +++ b/b2g/config/flame-kk/sources.xml @@ -7,28 +7,28 @@ <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/> <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <!--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="3a2947df41a480de1457a6dcdbf46ad0af70d8e0"> + <project name="platform_build" path="build" remote="b2g" revision="3ab0d9c70f0b2e1ededc679112c392303f037361"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <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="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <!-- 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 @@ -7,25 +7,25 @@ <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/> <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <!--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="8986df0f82e15ac2798df0b6c2ee3435400677ac"> + <project name="platform_build" path="build" remote="b2g" revision="0e94c080bee081a50aa2097527b0b40852f9143f"> <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> - <project name="gaia" path="gaia" remote="mozillaorg" revision="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <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": "", "remote": "", "branch": "" }, - "revision": "2d15d799c130dbc1f50e8f60744d5f0322854168", + "revision": "65b7d35ad078b90133481983950c64ad8fd27dd4", "repo_path": "/integration/gaia-central" }
--- a/b2g/config/hamachi/sources.xml +++ b/b2g/config/hamachi/sources.xml @@ -8,26 +8,26 @@ <!--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"/> <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <default remote="caf" revision="b2g/ics_strawberry" sync-j="4"/> <!-- Gonk specific things and forks --> - <project name="platform_build" path="build" remote="b2g" revision="70eb0cb0977d6295e7da8896f9efb9f3ca1c13ea"> + <project name="platform_build" path="build" remote="b2g" revision="df362ace56338da8173d30d3e09e08c42c1accfa"> <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="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/> <project name="platform/bionic" path="bionic" revision="d2eb6c7b6e1bc7643c17df2d9d9bcb1704d0b9ab"/> <project name="platform/bootable/recovery" path="bootable/recovery" revision="746bc48f34f5060f90801925dcdd964030c1ab6d"/> <project name="platform/development" path="development" revision="2460485184bc8535440bb63876d4e63ec1b4770c"/> <project name="device/common" path="device/common" revision="0dcc1e03659db33b77392529466f9eb685cdd3c7"/> <project name="device/sample" path="device/sample" revision="68b1cb978a20806176123b959cb05d4fa8adaea4"/> <project name="platform_external_apriori" path="external/apriori" remote="b2g" revision="11816ad0406744f963537b23d68ed9c2afb412bd"/>
--- a/b2g/config/helix/sources.xml +++ b/b2g/config/helix/sources.xml @@ -6,21 +6,21 @@ <!--original fetch url was git://github.com/mozilla/--> <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/> <!--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"/> <default remote="caf" revision="b2g/ics_strawberry" sync-j="4"/> <!-- Gonk specific things and forks --> - <project name="platform_build" path="build" remote="b2g" revision="70eb0cb0977d6295e7da8896f9efb9f3ca1c13ea"> + <project name="platform_build" path="build" remote="b2g" revision="df362ace56338da8173d30d3e09e08c42c1accfa"> <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="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> <project name="gonk-patches" path="patches" remote="b2g" revision="223a2421006e8f5da33f516f6891c87cae86b0f6"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/> <project name="platform/bionic" path="bionic" revision="d2eb6c7b6e1bc7643c17df2d9d9bcb1704d0b9ab"/>
--- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -7,25 +7,25 @@ <remote fetch="https://git.mozilla.org/b2g" name="mozilla"/> <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <!--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="8986df0f82e15ac2798df0b6c2ee3435400677ac"> + <project name="platform_build" path="build" remote="b2g" revision="0e94c080bee081a50aa2097527b0b40852f9143f"> <copyfile dest="Makefile" src="core/root.mk"/> </project> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> - <project name="gaia" path="gaia" remote="mozillaorg" revision="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <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/wasabi/sources.xml +++ b/b2g/config/wasabi/sources.xml @@ -8,26 +8,26 @@ <!--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"/> <!--original fetch url was git://github.com/apitrace/--> <remote fetch="https://git.mozilla.org/external/apitrace" name="apitrace"/> <default remote="caf" revision="ics_chocolate_rb4.2" sync-j="4"/> <!-- Gonk specific things and forks --> - <project name="platform_build" path="build" remote="b2g" revision="70eb0cb0977d6295e7da8896f9efb9f3ca1c13ea"> + <project name="platform_build" path="build" remote="b2g" revision="df362ace56338da8173d30d3e09e08c42c1accfa"> <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="e02facadb0bc3fe32227b52b31ca47822f7f4322"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="a98528f9a69dae06cbeba9b602c3d9839724250d"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="45c54a55e31758f7e54e5eafe0d01d387f35897a"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="827214fcf38d6569aeb5c6d6f31cb296d1f09272"/> <project name="librecovery" path="librecovery" remote="b2g" revision="891e5069c0ad330d8191bf8c7b879c814258c89f"/> <project name="moztt" path="external/moztt" remote="b2g" revision="562d357b72279a9e35d4af5aeecc8e1ffa2f44f1"/> - <project name="apitrace" path="external/apitrace" remote="apitrace" revision="fb235ffea9eeba60b242ac334c44a853c6c5f365"/> + <project name="apitrace" path="external/apitrace" remote="apitrace" revision="e9cf0dc485a2af12353b41e9f1e41b23f3f07b41"/> <project name="gonk-patches" path="patches" remote="b2g" revision="223a2421006e8f5da33f516f6891c87cae86b0f6"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/> <project name="platform/bionic" path="bionic" revision="cd5dfce80bc3f0139a56b58aca633202ccaee7f8"/> <project name="platform/bootable/recovery" path="bootable/recovery" revision="e0a9ac010df3afaa47ba107192c05ac8b5516435"/> <project name="platform/development" path="development" revision="a384622f5fcb1d2bebb9102591ff7ae91fe8ed2d"/> <project name="device/common" path="device/common" revision="7c65ea240157763b8ded6154a17d3c033167afb7"/> <project name="device/sample" path="device/sample" revision="c328f3d4409db801628861baa8d279fb8855892f"/>
--- a/dom/mobileconnection/MobileConnection.cpp +++ b/dom/mobileconnection/MobileConnection.cpp @@ -34,23 +34,16 @@ entry->value; \ ++entry, ++i) { \ if (_string.EqualsASCII(entry->value)) { \ _enum.SetValue(static_cast<_enumType>(i)); \ } \ } \ } -#define CONVERT_ENUM_TO_STRING(_enumType, _enum, _string) \ -{ \ - uint32_t index = uint32_t(_enum); \ - _string.AssignASCII(_enumType##Values::strings[index].value, \ - _enumType##Values::strings[index].length); \ -} - using mozilla::ErrorResult; using namespace mozilla::dom; using namespace mozilla::dom::mobileconnection; class MobileConnection::Listener MOZ_FINAL : public nsIMobileConnectionListener { MobileConnection* mMobileConnection; @@ -518,18 +511,17 @@ already_AddRefed<DOMRequest> MobileConnection::SetRoamingPreference(MobileRoamingMode& aMode, ErrorResult& aRv) { if (!mMobileConnection) { aRv.Throw(NS_ERROR_FAILURE); return nullptr; } - nsAutoString mode; - CONVERT_ENUM_TO_STRING(MobileRoamingMode, aMode, mode); + int32_t mode = static_cast<int32_t>(aMode); nsRefPtr<DOMRequest> request = new DOMRequest(GetOwner()); nsRefPtr<MobileConnectionCallback> requestCallback = new MobileConnectionCallback(GetOwner(), request); nsresult rv = mMobileConnection->SetRoamingPreference(mode, requestCallback); if (NS_FAILED(rv)) { aRv.Throw(rv);
--- a/dom/mobileconnection/MobileConnectionCallback.cpp +++ b/dom/mobileconnection/MobileConnectionCallback.cpp @@ -60,25 +60,20 @@ nsresult MobileConnectionCallback::NotifySuccess(JS::Handle<JS::Value> aResult) { nsCOMPtr<nsIDOMRequestService> rs = do_GetService(DOMREQUEST_SERVICE_CONTRACTID); NS_ENSURE_TRUE(rs, NS_ERROR_FAILURE); return rs->FireSuccessAsync(mRequest, aResult); } -// nsIMobileConnectionCallback - -NS_IMETHODIMP -MobileConnectionCallback::NotifySuccess() -{ - return NotifySuccess(JS::UndefinedHandleValue); -} - -NS_IMETHODIMP +/** + * Notify Success with string. + */ +nsresult MobileConnectionCallback::NotifySuccessWithString(const nsAString& aResult) { AutoJSAPI jsapi; if (NS_WARN_IF(!jsapi.Init(mWindow))) { return NS_ERROR_FAILURE; } JSContext* cx = jsapi.cx(); @@ -87,16 +82,24 @@ MobileConnectionCallback::NotifySuccessW if (!ToJSValue(cx, aResult, &jsResult)) { JS_ClearPendingException(cx); return NS_ERROR_TYPE_ERR; } return NotifySuccess(jsResult); } +// nsIMobileConnectionCallback + +NS_IMETHODIMP +MobileConnectionCallback::NotifySuccess() +{ + return NotifySuccess(JS::UndefinedHandleValue); +} + NS_IMETHODIMP MobileConnectionCallback::NotifySuccessWithBoolean(bool aResult) { return aResult ? NotifySuccess(JS::TrueHandleValue) : NotifySuccess(JS::FalseHandleValue); } NS_IMETHODIMP @@ -364,16 +367,28 @@ MobileConnectionCallback::NotifyGetPrefe nsAutoString typeString; CONVERT_ENUM_TO_STRING(MobilePreferredNetworkType, type, typeString); return NotifySuccessWithString(typeString); }; NS_IMETHODIMP +MobileConnectionCallback::NotifyGetRoamingPreferenceSuccess(int32_t aMode) +{ + MOZ_ASSERT(aMode < static_cast<int32_t>(MobileRoamingMode::EndGuard_)); + MobileRoamingMode mode = static_cast<MobileRoamingMode>(aMode); + + nsAutoString modeString; + CONVERT_ENUM_TO_STRING(MobileRoamingMode, mode, modeString); + + return NotifySuccessWithString(modeString); +}; + +NS_IMETHODIMP MobileConnectionCallback::NotifyError(const nsAString& aName, const nsAString& aMessage, const nsAString& aServiceCode, uint16_t aInfo, uint8_t aArgc) { nsCOMPtr<nsIDOMRequestService> rs = do_GetService(DOMREQUEST_SERVICE_CONTRACTID); NS_ENSURE_TRUE(rs, NS_ERROR_FAILURE);
--- a/dom/mobileconnection/MobileConnectionCallback.h +++ b/dom/mobileconnection/MobileConnectionCallback.h @@ -34,16 +34,19 @@ public: private: ~MobileConnectionCallback() {} nsresult NotifySuccess(JS::Handle<JS::Value> aResult); nsresult + NotifySuccessWithString(const nsAString& aResult); + + nsresult NotifySendCancelMmiSuccess(const MozMMIResult& aResult); nsCOMPtr<nsPIDOMWindow> mWindow; nsRefPtr<DOMRequest> mRequest; }; } // namespace mobileconnection } // namespace dom
--- a/dom/mobileconnection/gonk/MobileConnectionService.js +++ b/dom/mobileconnection/gonk/MobileConnectionService.js @@ -792,17 +792,17 @@ MobileConnectionProvider.prototype = { getRoamingPreference: function(aCallback) { this._radioInterface.sendWorkerMessage("queryRoamingPreference", null, (function(aResponse) { if (aResponse.errorMsg) { aCallback.notifyError(aResponse.errorMsg); return false; } - aCallback.notifySuccessWithString(aResponse.mode); + aCallback.notifyGetRoamingPreferenceSuccess(aResponse.mode); return false; }).bind(this)); }, setVoicePrivacyMode: function(aEnabled, aCallback) { this._radioInterface.sendWorkerMessage("setVoicePrivacyMode", {enabled: aEnabled}, (function(aResponse) {
--- a/dom/mobileconnection/interfaces/nsIMobileConnectionService.idl +++ b/dom/mobileconnection/interfaces/nsIMobileConnectionService.idl @@ -119,26 +119,24 @@ interface nsIMobileConnectionListener : */ void notifyNetworkSelectionModeChanged(); }; %{C++ #define NO_ADDITIONAL_INFORMATION 0 %} -[scriptable, builtinclass, uuid(413e8bff-9f65-41a0-953f-b82e6cdbc00d)] +[scriptable, builtinclass, uuid(16e77f19-0298-46de-ae49-9b2fb92a28c0)] interface nsIMobileConnectionCallback : nsISupports { /** * notify*Success*() will be called, when request is succeed. */ void notifySuccess(); - void notifySuccessWithString(in DOMString result); - void notifySuccessWithBoolean(in boolean result); void notifyGetNetworksSuccess(in uint32_t count, [array, size_is(count)] in nsIMobileNetworkInfo networks); void notifySendCancelMmiSuccess(in DOMString aServiceCode, in DOMString aStatusMessage); @@ -163,16 +161,18 @@ interface nsIMobileConnectionCallback : void notifyGetCallBarringSuccess(in unsigned short program, in boolean enabled, in unsigned short serviceClass); void notifyGetClirStatusSuccess(in unsigned short n, in unsigned short m); void notifyGetPreferredNetworkTypeSuccess(in long type); + void notifyGetRoamingPreferenceSuccess(in long mode); + /** * notifyError() will be called, when request is failed. */ [optional_argc] void notifyError(in DOMString name, [optional] in DOMString message, [optional] in DOMString serviceCode, [optional] in unsigned short additionalInformation); @@ -230,17 +230,17 @@ interface nsIMobileConnectionService : n %{C++ template<typename T> struct already_AddRefed; already_AddRefed<nsIMobileConnectionService> NS_CreateMobileConnectionService(); %} -[scriptable, uuid(d6b15551-d290-4e38-9749-d21eb35cdaf1)] +[scriptable, uuid(5250a0ba-19a2-4e5b-a5ee-1e69ba2897a9)] interface nsIMobileConnection : nsISupports { /* * ICC service class. */ const long ICC_SERVICE_CLASS_NONE = 0; // not available const long ICC_SERVICE_CLASS_VOICE = (1 << 0); const long ICC_SERVICE_CLASS_DATA = (1 << 1); @@ -323,16 +323,23 @@ interface nsIMobileConnection : nsISuppo const long PREFERRED_NETWORK_TYPE_CDMA_ONLY = 5; const long PREFERRED_NETWORK_TYPE_EVDO_ONLY = 6; const long PREFERRED_NETWORK_TYPE_WCDMA_GSM_CDMA_EVDO = 7; const long PREFERRED_NETWORK_TYPE_LTE_CDMA_EVDO = 8; const long PREFERRED_NETWORK_TYPE_LTE_WCDMA_GSM = 9; const long PREFERRED_NETWORK_TYPE_LTE_WCDMA_GSM_CDMA_EVDO = 10; const long PREFERRED_NETWORK_TYPE_LTE_ONLY = 11; + /** + * CDMA roaming preference. + */ + const long CDMA_ROAMING_PREFERENCE_HOME = 0; + const long CDMA_ROAMING_PREFERENCE_AFFILIATED = 1; + const long CDMA_ROAMING_PREFERENCE_ANY = 2; + readonly attribute unsigned long serviceId; /** * Called when any one who is interested in receiving unsolicited messages * from this nsIMobileConnection instance. */ void registerListener(in nsIMobileConnectionListener listener); void unregisterListener(in nsIMobileConnectionListener listener); @@ -465,39 +472,39 @@ interface nsIMobileConnection : nsISuppo * 'GenericFailure'. */ void getPreferredNetworkType(in nsIMobileConnectionCallback requestCallback); /** * Set roaming preference. * * @param mode - * DOMString indicates the desired roaming preference. - * Possible values: 'home', 'affiliated', or 'any'. + * One of the nsIMobileConnection.CDMA_ROAMING_PREFERENCE_* values. * @param requestCallback * Called when request is finished. * * If successful, the notifySuccess() will be called. * * Otherwise, the notifyError() will be called, and the error will be either * 'RadioNotAvailable', 'RequestNotSupported', InvalidParameter', * 'IllegalSIMorME', or 'GenericFailure'. */ - void setRoamingPreference(in DOMString mode, + void setRoamingPreference(in long mode, in nsIMobileConnectionCallback requestCallback); /** * Query current roaming preference. * * @param requestCallback * Called when request is finished. * - * If successful, the notifySuccessWithString() will be called. And the result - * will be a string indicating the current roaming preference. The value will - * be either 'home', 'affiliated', or 'any'. + * If successful, the notifyGetRoamingPreferenceSuccess() will be called, and + * the result 'mode' will be one of the + * nsIMobileConnection.CDMA_ROAMING_PREFERENCE_* values, indicating the + * current roaming preference. * * Otherwise, the notifyError() will be called, and the error will be either * 'RadioNotAvailable', 'RequestNotSupported', 'IllegalSIMorME', or * 'GenericFailure'. */ void getRoamingPreference(in nsIMobileConnectionCallback requestCallback); /**
--- a/dom/mobileconnection/ipc/MobileConnectionChild.cpp +++ b/dom/mobileconnection/ipc/MobileConnectionChild.cpp @@ -188,21 +188,20 @@ MobileConnectionChild::SetPreferredNetwo NS_IMETHODIMP MobileConnectionChild::GetPreferredNetworkType(nsIMobileConnectionCallback* aCallback) { return SendRequest(GetPreferredNetworkTypeRequest(), aCallback) ? NS_OK : NS_ERROR_FAILURE; } NS_IMETHODIMP -MobileConnectionChild::SetRoamingPreference(const nsAString& aMode, +MobileConnectionChild::SetRoamingPreference(int32_t aMode, nsIMobileConnectionCallback* aCallback) { - return SendRequest(SetRoamingPreferenceRequest(nsAutoString(aMode)), - aCallback) + return SendRequest(SetRoamingPreferenceRequest(aMode), aCallback) ? NS_OK : NS_ERROR_FAILURE; } NS_IMETHODIMP MobileConnectionChild::GetRoamingPreference(nsIMobileConnectionCallback* aCallback) { return SendRequest(GetRoamingPreferenceRequest(), aCallback) ? NS_OK : NS_ERROR_FAILURE; @@ -543,22 +542,16 @@ MobileConnectionRequestChild::ActorDestr bool MobileConnectionRequestChild::DoReply(const MobileConnectionReplySuccess& aReply) { return NS_SUCCEEDED(mRequestCallback->NotifySuccess()); } bool -MobileConnectionRequestChild::DoReply(const MobileConnectionReplySuccessString& aReply) -{ - return NS_SUCCEEDED(mRequestCallback->NotifySuccessWithString(aReply.result())); -} - -bool MobileConnectionRequestChild::DoReply(const MobileConnectionReplySuccessBoolean& aReply) { return NS_SUCCEEDED(mRequestCallback->NotifySuccessWithBoolean(aReply.result())); } bool MobileConnectionRequestChild::DoReply(const MobileConnectionReplySuccessNetworks& aReply) { @@ -662,16 +655,22 @@ MobileConnectionRequestChild::DoReply(co bool MobileConnectionRequestChild::DoReply(const MobileConnectionReplySuccessPreferredNetworkType& aReply) { return NS_SUCCEEDED(mRequestCallback->NotifyGetPreferredNetworkTypeSuccess(aReply.type())); } bool +MobileConnectionRequestChild::DoReply(const MobileConnectionReplySuccessRoamingPreference& aReply) +{ + return NS_SUCCEEDED(mRequestCallback->NotifyGetRoamingPreferenceSuccess(aReply.mode())); +} + +bool MobileConnectionRequestChild::DoReply(const MobileConnectionReplyError& aReply) { return NS_SUCCEEDED(mRequestCallback->NotifyError(aReply.message())); } bool MobileConnectionRequestChild::DoReply(const MobileConnectionReplyErrorMmi& aReply) { @@ -701,32 +700,32 @@ MobileConnectionRequestChild::DoReply(co bool MobileConnectionRequestChild::Recv__delete__(const MobileConnectionReply& aReply) { MOZ_ASSERT(mRequestCallback); switch (aReply.type()) { case MobileConnectionReply::TMobileConnectionReplySuccess: return DoReply(aReply.get_MobileConnectionReplySuccess()); - case MobileConnectionReply::TMobileConnectionReplySuccessString: - return DoReply(aReply.get_MobileConnectionReplySuccessString()); case MobileConnectionReply::TMobileConnectionReplySuccessBoolean: return DoReply(aReply.get_MobileConnectionReplySuccessBoolean()); case MobileConnectionReply::TMobileConnectionReplySuccessNetworks: return DoReply(aReply.get_MobileConnectionReplySuccessNetworks()); case MobileConnectionReply::TMobileConnectionReplySuccessMmi: return DoReply(aReply.get_MobileConnectionReplySuccessMmi()); case MobileConnectionReply::TMobileConnectionReplySuccessCallForwarding: return DoReply(aReply.get_MobileConnectionReplySuccessCallForwarding()); case MobileConnectionReply::TMobileConnectionReplySuccessCallBarring: return DoReply(aReply.get_MobileConnectionReplySuccessCallBarring()); case MobileConnectionReply::TMobileConnectionReplySuccessClirStatus: return DoReply(aReply.get_MobileConnectionReplySuccessClirStatus()); case MobileConnectionReply::TMobileConnectionReplySuccessPreferredNetworkType: return DoReply(aReply.get_MobileConnectionReplySuccessPreferredNetworkType()); + case MobileConnectionReply::TMobileConnectionReplySuccessRoamingPreference: + return DoReply(aReply.get_MobileConnectionReplySuccessRoamingPreference()); case MobileConnectionReply::TMobileConnectionReplyError: return DoReply(aReply.get_MobileConnectionReplyError()); case MobileConnectionReply::TMobileConnectionReplyErrorMmi: return DoReply(aReply.get_MobileConnectionReplyErrorMmi()); default: MOZ_CRASH("Received invalid response type!"); }
--- a/dom/mobileconnection/ipc/MobileConnectionChild.h +++ b/dom/mobileconnection/ipc/MobileConnectionChild.h @@ -138,19 +138,16 @@ public: MOZ_COUNT_CTOR(MobileConnectionRequestChild); MOZ_ASSERT(mRequestCallback); } bool DoReply(const MobileConnectionReplySuccess& aReply); bool - DoReply(const MobileConnectionReplySuccessString& aReply); - - bool DoReply(const MobileConnectionReplySuccessBoolean& aReply); bool DoReply(const MobileConnectionReplySuccessNetworks& aReply); bool DoReply(const MobileConnectionReplySuccessMmi& aReply); @@ -162,16 +159,19 @@ public: bool DoReply(const MobileConnectionReplySuccessClirStatus& aReply); bool DoReply(const MobileConnectionReplySuccessPreferredNetworkType& aReply); bool + DoReply(const MobileConnectionReplySuccessRoamingPreference& aMode); + + bool DoReply(const MobileConnectionReplyError& aReply); bool DoReply(const MobileConnectionReplyErrorMmi& aReply); protected: virtual ~MobileConnectionRequestChild()
--- a/dom/mobileconnection/ipc/MobileConnectionParent.cpp +++ b/dom/mobileconnection/ipc/MobileConnectionParent.cpp @@ -533,22 +533,16 @@ NS_IMPL_ISUPPORTS(MobileConnectionReques NS_IMETHODIMP MobileConnectionRequestParent::NotifySuccess() { return SendReply(MobileConnectionReplySuccess()); } NS_IMETHODIMP -MobileConnectionRequestParent::NotifySuccessWithString(const nsAString& aResult) -{ - return SendReply(MobileConnectionReplySuccessString(nsAutoString(aResult))); -} - -NS_IMETHODIMP MobileConnectionRequestParent::NotifySuccessWithBoolean(bool aResult) { return SendReply(MobileConnectionReplySuccessBoolean(aResult)); } NS_IMETHODIMP MobileConnectionRequestParent::NotifyGetNetworksSuccess(uint32_t aCount, nsIMobileNetworkInfo** aNetworks) @@ -644,16 +638,22 @@ MobileConnectionRequestParent::NotifyGet NS_IMETHODIMP MobileConnectionRequestParent::NotifyGetPreferredNetworkTypeSuccess(int32_t aType) { return SendReply(MobileConnectionReplySuccessPreferredNetworkType(aType)); } NS_IMETHODIMP +MobileConnectionRequestParent::NotifyGetRoamingPreferenceSuccess(int32_t aMode) +{ + return SendReply(MobileConnectionReplySuccessRoamingPreference(aMode)); +} + +NS_IMETHODIMP MobileConnectionRequestParent::NotifyError(const nsAString& aName, const nsAString& aMessage, const nsAString& aServiceCode, uint16_t aInfo, uint8_t aArgc) { if (aArgc == 0) { nsAutoString error(aName);
--- a/dom/mobileconnection/ipc/PMobileConnection.ipdl +++ b/dom/mobileconnection/ipc/PMobileConnection.ipdl @@ -76,17 +76,17 @@ struct SetPreferredNetworkTypeRequest }; struct GetPreferredNetworkTypeRequest { }; struct SetRoamingPreferenceRequest { - nsString mode; + int32_t mode; }; struct GetRoamingPreferenceRequest { }; struct SetVoicePrivacyModeRequest {
--- a/dom/mobileconnection/ipc/PMobileConnectionRequest.ipdl +++ b/dom/mobileconnection/ipc/PMobileConnectionRequest.ipdl @@ -25,21 +25,16 @@ child: /** * MobileConnectionReply */ // Success struct MobileConnectionReplySuccess { }; -struct MobileConnectionReplySuccessString -{ - nsString result; -}; - struct MobileConnectionReplySuccessBoolean { bool result; }; struct MobileConnectionReplySuccessNetworks { nsMobileNetworkInfo[] results; @@ -70,16 +65,21 @@ struct MobileConnectionReplySuccessClirS uint16_t m; }; struct MobileConnectionReplySuccessPreferredNetworkType { int32_t type; }; +struct MobileConnectionReplySuccessRoamingPreference +{ + int32_t mode; +}; + // Error struct MobileConnectionReplyError { nsString message; }; struct MobileConnectionReplyErrorMmi { @@ -88,24 +88,24 @@ struct MobileConnectionReplyErrorMmi nsString serviceCode; AdditionalInformation additionalInformation; }; union MobileConnectionReply { // Success MobileConnectionReplySuccess; - MobileConnectionReplySuccessString; MobileConnectionReplySuccessBoolean; MobileConnectionReplySuccessNetworks; MobileConnectionReplySuccessMmi; MobileConnectionReplySuccessCallForwarding; MobileConnectionReplySuccessCallBarring; MobileConnectionReplySuccessClirStatus; MobileConnectionReplySuccessPreferredNetworkType; + MobileConnectionReplySuccessRoamingPreference; // Error MobileConnectionReplyError; MobileConnectionReplyErrorMmi; }; } // namespace mobileconnection } // namespace dom } // namespace mozilla
--- a/dom/network/NetworkStatsService.jsm +++ b/dom/network/NetworkStatsService.jsm @@ -13,16 +13,17 @@ function debug(s) { const {classes: Cc, interfaces: Ci, utils: Cu, results: Cr} = Components; this.EXPORTED_SYMBOLS = ["NetworkStatsService"]; Cu.import("resource://gre/modules/XPCOMUtils.jsm"); Cu.import("resource://gre/modules/Services.jsm"); Cu.import("resource://gre/modules/NetworkStatsDB.jsm"); +Cu.import("resource://gre/modules/Timer.jsm"); const NET_NETWORKSTATSSERVICE_CONTRACTID = "@mozilla.org/network/netstatsservice;1"; const NET_NETWORKSTATSSERVICE_CID = Components.ID("{18725604-e9ac-488a-8aa0-2471e7f6c0a4}"); const TOPIC_BANDWIDTH_CONTROL = "netd-bandwidth-control" const TOPIC_CONNECTION_STATE_CHANGED = "network-connection-state-changed"; const NET_TYPE_WIFI = Ci.nsINetworkInterface.NETWORK_TYPE_WIFI; @@ -614,16 +615,18 @@ this.NetworkStatsService = { /* * Function responsible of process all requests in the queue. */ processQueue: function processQueue(aResult, aMessage) { // If aResult is not undefined, the caller of the function is the result // of processing an element, so remove that element and call the callbacks // it has. + let self = this; + if (aResult != undefined) { let item = this.updateQueue.shift(); for (let callback of item.callbacks) { if (callback) { callback(aResult, aMessage); } } } else { @@ -638,26 +641,32 @@ this.NetworkStatsService = { } // Check length to determine if queue is empty and stop processing. if (this.updateQueue.length < 1) { this.isQueueRunning = false; return; } - // Call the update function for the next element. - switch (this.updateQueue[0].queueType) { + // Process the next item as soon as possible. + setTimeout(function () { + self.run(self.updateQueue[0]); + }, 0); + }, + + run: function run(item) { + switch (item.queueType) { case QUEUE_TYPE_UPDATE_STATS: - this.update(this.updateQueue[0].netId, this.processQueue.bind(this)); + this.update(item.netId, this.processQueue.bind(this)); break; case QUEUE_TYPE_UPDATE_CACHE: this.updateCache(this.processQueue.bind(this)); break; case QUEUE_TYPE_WRITE_CACHE: - this.writeCache(this.updateQueue[0].stats, this.processQueue.bind(this)); + this.writeCache(item.stats, this.processQueue.bind(this)); break; } }, update: function update(aNetId, aCallback) { // Check if connection type is valid. if (!this._networks[aNetId]) { if (aCallback) {
--- a/dom/network/tests/unit_stats/test_networkstats_service_proxy.js +++ b/dom/network/tests/unit_stats/test_networkstats_service_proxy.js @@ -187,16 +187,48 @@ add_test(function test_saveStatsWithMaxC do_check_eq(Object.keys(cachedStats).length, 0); run_next_test(); }); }); }); }); +add_test(function test_saveAppStats() { + var cachedStats = NetworkStatsService.cachedStats; + var timestamp = NetworkStatsService.cachedStatsDate.getTime(); + + // Create to fake nsINetworkInterfaces. As nsINetworkInterface can not + // be instantiated, these two vars will emulate it by filling the properties + // that will be used. + var wifi = {type: Ci.nsINetworkInterface.NETWORK_TYPE_WIFI, id: "0"}; + var mobile = {type: Ci.nsINetworkInterface.NETWORK_TYPE_MOBILE, id: "1234"}; + + // Insert fake mobile network interface in NetworkStatsService + var mobileNetId = NetworkStatsService.getNetworkId(mobile.id, mobile.type); + + do_check_eq(Object.keys(cachedStats).length, 0); + + nssProxy.saveAppStats(1, wifi, timestamp, 10, 20, false, { notify: + function (success, message) { + do_check_eq(success, true); + var iterations = 10; + var counter = 0; + var callback = function (success, message) { + if (counter == iterations - 1) + run_next_test(); + counter++; + }; + + for (var i = 0; i < iterations; i++) { + nssProxy.saveAppStats(1, mobile, timestamp, 10, 20, false, callback); + } + }}); +}); + function run_test() { do_get_profile(); Cu.import("resource://gre/modules/NetworkStatsService.jsm"); // Function convertNetworkInterface of NetworkStatsService causes errors when dealing // with RIL to get the iccid, so overwrite it. mokConvertNetworkInterface();
--- a/dom/system/gonk/ril_consts.js +++ b/dom/system/gonk/ril_consts.js @@ -2988,31 +2988,16 @@ this.CB_CDMA_LANG_GROUP = [ ]; // IS-91 Message Type, as defined in TIA/EIA/IS-91-A, Table 9 this.PDU_CDMA_MSG_CODING_IS_91_TYPE_VOICEMAIL_STATUS = 0x82; this.PDU_CDMA_MSG_CODING_IS_91_TYPE_SMS_FULL = 0x83; this.PDU_CDMA_MSG_CODING_IS_91_TYPE_CLI = 0x84; this.PDU_CDMA_MSG_CODING_IS_91_TYPE_SMS = 0x85; -// CDMA roaming preference mode -this.CDMA_ROAMING_PREFERENCE_HOME = 0; -this.CDMA_ROAMING_PREFERENCE_AFFILIATED = 1; -this.CDMA_ROAMING_PREFERENCE_ANY = 2; - -this.GECKO_CDMA_ROAMING_PREFERENCE_HOME = "home"; -this.GECKO_CDMA_ROAMING_PREFERENCE_AFFILIATED = "affiliated"; -this.GECKO_CDMA_ROAMING_PREFERENCE_ANY = "any"; - -this.CDMA_ROAMING_PREFERENCE_TO_GECKO = [ - GECKO_CDMA_ROAMING_PREFERENCE_HOME, // CDMA_ROAMING_PREFERENCE_HOME - GECKO_CDMA_ROAMING_PREFERENCE_AFFILIATED, // CDMA_ROAMING_PREFERENCE_AFFILIATED - GECKO_CDMA_ROAMING_PREFERENCE_ANY // CDMA_ROAMING_PREFERENCE_ANY -]; - // Information Record Type, reference from ril.h this.PDU_CDMA_INFO_REC_TYPE_DISPLAY = 0; this.PDU_CDMA_INFO_REC_TYPE_CALLED_PARTY_NUMBER = 1; this.PDU_CDMA_INFO_REC_TYPE_CALLING_PARTY_NUMBER = 2; this.PDU_CDMA_INFO_REC_TYPE_CONNECTED_NUMBER =3; this.PDU_CDMA_INFO_REC_TYPE_SIGNAL = 4; this.PDU_CDMA_INFO_REC_TYPE_REDIRECTING_NUMBER = 5; this.PDU_CDMA_INFO_REC_TYPE_LINE_CONTROL = 6;
--- a/dom/system/gonk/ril_worker.js +++ b/dom/system/gonk/ril_worker.js @@ -1416,28 +1416,20 @@ RilObject.prototype = { if (DEBUG) this.context.debug("Setting automatic network selection"); this.context.Buf.simpleRequest(REQUEST_SET_NETWORK_SELECTION_AUTOMATIC, options); }, /** * Set the roaming preference mode */ setRoamingPreference: function(options) { - let roamingMode = CDMA_ROAMING_PREFERENCE_TO_GECKO.indexOf(options.mode); - - if (roamingMode === -1) { - options.errorMsg = GECKO_ERROR_INVALID_PARAMETER; - this.sendChromeMessage(options); - return; - } - let Buf = this.context.Buf; Buf.newParcel(REQUEST_CDMA_SET_ROAMING_PREFERENCE, options); Buf.writeInt32(1); - Buf.writeInt32(roamingMode); + Buf.writeInt32(options.mode); Buf.sendParcel(); }, /** * Get the roaming preference mode */ queryRoamingPreference: function(options) { this.context.Buf.simpleRequest(REQUEST_CDMA_QUERY_ROAMING_PREFERENCE, options); @@ -6443,18 +6435,17 @@ RilObject.prototype[REQUEST_CDMA_SET_ROA options.errorMsg = RIL_ERROR_TO_GECKO_ERROR[options.rilRequestError]; } this.sendChromeMessage(options); }; RilObject.prototype[REQUEST_CDMA_QUERY_ROAMING_PREFERENCE] = function REQUEST_CDMA_QUERY_ROAMING_PREFERENCE(length, options) { if (options.rilRequestError) { options.errorMsg = RIL_ERROR_TO_GECKO_ERROR[options.rilRequestError]; } else { - let mode = this.context.Buf.readInt32List(); - options.mode = CDMA_ROAMING_PREFERENCE_TO_GECKO[mode[0]]; + options.mode = this.context.Buf.readInt32List()[0]; } this.sendChromeMessage(options); }; RilObject.prototype[REQUEST_SET_TTY_MODE] = null; RilObject.prototype[REQUEST_QUERY_TTY_MODE] = null; RilObject.prototype[REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE] = function REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE(length, options) { if (options.rilRequestError) { options.errorMsg = RIL_ERROR_TO_GECKO_ERROR[options.rilRequestError]; @@ -13971,23 +13962,20 @@ SimRecordHelperObject.prototype = { Buf.seekIncoming(tlvLen * Buf.PDU_HEX_OCTET_SIZE); break; } readLen += (tlvLen + 2); // +2 for tlvTag and tlvLen } Buf.readStringDelimiter(strLen); - if (pnnElement) { - pnn.push(pnnElement); - } + pnn.push(pnnElement); let RIL = this.context.RIL; - // Will ignore remaining records when got the contents of a record are all 0xff. - if (pnnElement && options.p1 < options.totalRecords) { + if (options.p1 < options.totalRecords) { ICCIOHelper.loadNextRecord(options); } else { if (DEBUG) { for (let i = 0; i < pnn.length; i++) { this.context.debug("PNN: [" + i + "]: " + JSON.stringify(pnn[i])); } } RIL.iccInfoPrivate.PNN = pnn;
--- a/dom/system/gonk/tests/test_ril_worker_icc_SimRecordHelper.js +++ b/dom/system/gonk/tests/test_ril_worker_icc_SimRecordHelper.js @@ -1561,8 +1561,90 @@ add_test(function test_pnn_with_differen ril.appType = CARD_APPTYPE_SIM; for (let i = 0; i < test_data.length; i++) { do_test_pnn(test_data[i].pnn, test_data[i].expectedResult); } run_next_test(); }); + +/** + * Verify reading EF_PNN with different content. + */ +add_test(function test_pnn_with_different_content() { + let worker = newUint8Worker(); + let context = worker.ContextPool._contexts[0]; + let record = context.SimRecordHelper; + let pduHelper = context.GsmPDUHelper; + let ril = context.RIL; + let buf = context.Buf; + let io = context.ICCIOHelper; + + let test_data = [{ + // [0]: {"fullName":"Test1","shortName":"Test1"} + pnn: [0x43, 0x06, 0x85, 0xD4, 0xF2, 0x9C, 0x1E, 0x03, + 0x45, 0x06, 0x85, 0xD4, 0xF2, 0x9C, 0x1E, 0x03], + expectedResult: {"fullName": "Test1","shortName": "Test1"} + },{ + // [1]: {"fullName":"Test2"} + pnn: [0x43, 0x06, 0x85, 0xD4, 0xF2, 0x9C, 0x2E, 0x03], + expectedResult: {"fullName": "Test2"} + },{ + // [2]: undefined + pnn: [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], + },{ + // [3]: {"fullName": "Test4"} + pnn: [0x43, 0x06, 0x85, 0xD4, 0xF2, 0x9C, 0x4E, 0x03], + expectedResult: {"fullName": "Test4"} + },{ + // [4]: undefined + pnn: [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF], + }]; + + function do_test_pnn() { + ril.iccIO = function fakeIccIO(options) { + let index = options.p1 - 1; + let pnn = test_data[index].pnn; + + // Write data size. + buf.writeInt32(pnn.length * 2); + + // Write data. + for (let i = 0; i < pnn.length; i++) { + pduHelper.writeHexOctet(pnn[i]); + } + + // Write string delimiter. + buf.writeStringDelimiter(pnn.length * 2); + + if (options.callback) { + options.callback(options); + } + }; + + io.loadLinearFixedEF = function fakeLoadLinearFixedEF(options) { + options.p1 = 1; + options.totalRecords = test_data.length; + + ril.iccIO(options); + }; + + record.readPNN(); + + do_check_eq(test_data.length, ril.iccInfoPrivate.PNN.length); + for (let i = 0; i < test_data.length; i++) { + if (test_data[i].expectedResult) { + do_check_eq(test_data[i].expectedResult.fullName, + ril.iccInfoPrivate.PNN[i].fullName); + do_check_eq(test_data[i].expectedResult.shortName, + ril.iccInfoPrivate.PNN[i].shortName); + } else { + do_check_eq(test_data[i].expectedResult, ril.iccInfoPrivate.PNN[i]); + } + } + } + + ril.appType = CARD_APPTYPE_SIM; + do_test_pnn(); + + run_next_test(); +});