author | Phil Ringnalda <philringnalda@gmail.com> |
Sat, 31 Jan 2015 09:09:40 -0800 | |
changeset 226928 | c2359a6a6958ba56b319e30f4e34d3f838bb0dee |
parent 226906 | 426bc5ee47d9ba4b95718085485b2481b55e4a37 (current diff) |
parent 226927 | e35751d1789598fbd90db80c207061a170e01221 (diff) |
child 226929 | 37cbadfe1bc172eb91ffc237baea56f37107aac7 |
child 226946 | 9c465a62f8a9ed4deb6ce9ee565b9564123e1f88 |
child 226949 | b87805b303859e81e0213c9bbf7b1472bf9d450b |
child 226955 | bc0f298ad3abd5a422c509f65789d30a6f6909b1 |
push id | 54950 |
push user | philringnalda@gmail.com |
push date | Sat, 31 Jan 2015 17:14:09 +0000 |
treeherder | mozilla-inbound@37cbadfe1bc1 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | merge |
milestone | 38.0a1 |
first release with | nightly linux32
c2359a6a6958
/
38.0a1
/
20150201030209
/
files
nightly linux64
c2359a6a6958
/
38.0a1
/
20150201030209
/
files
nightly mac
c2359a6a6958
/
38.0a1
/
20150201030209
/
files
nightly win32
c2359a6a6958
/
38.0a1
/
20150201030209
/
files
nightly win64
c2359a6a6958
/
38.0a1
/
20150201030209
/
files
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
releases | nightly linux32
38.0a1
/
20150201030209
/
pushlog to previous
nightly linux64
38.0a1
/
20150201030209
/
pushlog to previous
nightly mac
38.0a1
/
20150201030209
/
pushlog to previous
nightly win32
38.0a1
/
20150201030209
/
pushlog to previous
nightly win64
38.0a1
/
20150201030209
/
pushlog to previous
|
--- a/b2g/config/dolphin/sources.xml +++ b/b2g/config/dolphin/sources.xml @@ -10,17 +10,17 @@ <!--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="e06971db7acf7a35c32eb74d675a4e12e288e6be"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <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="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/>
--- 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="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="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="eb1795a9002eb142ac58c8d68f8f4ba094af07ca"/> <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="2c31ac3a31a340b40ecd9c291df9b9613d3afa72"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/> <!-- 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,17 +12,17 @@ <!--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="0e94c080bee081a50aa2097527b0b40852f9143f"> <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="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/> <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"/>
--- a/b2g/config/emulator-kk/sources.xml +++ b/b2g/config/emulator-kk/sources.xml @@ -10,17 +10,17 @@ <!--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="e06971db7acf7a35c32eb74d675a4e12e288e6be"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <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="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/>
--- 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="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="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="eb1795a9002eb142ac58c8d68f8f4ba094af07ca"/> <project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="2c31ac3a31a340b40ecd9c291df9b9613d3afa72"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/> <!-- 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,17 +10,17 @@ <!--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="e06971db7acf7a35c32eb74d675a4e12e288e6be"> <copyfile dest="Makefile" src="core/root.mk"/> </project> - <project name="gaia" path="gaia" remote="mozillaorg" revision="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94"/> <project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <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="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/>
--- a/b2g/config/flame/sources.xml +++ b/b2g/config/flame/sources.xml @@ -12,17 +12,17 @@ <!--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="0e94c080bee081a50aa2097527b0b40852f9143f"> <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="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/> <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"/>
--- a/b2g/config/gaia.json +++ b/b2g/config/gaia.json @@ -1,9 +1,9 @@ { "git": { - "git_revision": "45475198737a504d81932a9c90002902054fce23", + "git_revision": "ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94", "remote": "https://git.mozilla.org/releases/gaia.git", "branch": "" }, - "revision": "419454c1e3ab5e54dec3745e21e7352eeb24accf", + "revision": "3dc35073ce80056af02c7869ad97079e6f612714", "repo_path": "integration/gaia-central" }
--- a/b2g/config/hamachi/sources.xml +++ b/b2g/config/hamachi/sources.xml @@ -12,17 +12,17 @@ <!--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="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="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/> <project name="platform_bionic" path="bionic" remote="b2g" revision="1a2a32eda22ef2cd18f57f423a5e7b22a105a6f8"/> <project name="platform/bootable/recovery" path="bootable/recovery" revision="746bc48f34f5060f90801925dcdd964030c1ab6d"/>
--- a/b2g/config/helix/sources.xml +++ b/b2g/config/helix/sources.xml @@ -10,17 +10,17 @@ <!--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="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="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="b33a1afb538e8c7e12f6fb792c454da34f9f5b76"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <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" remote="b2g" revision="1a2a32eda22ef2cd18f57f423a5e7b22a105a6f8"/>
--- a/b2g/config/nexus-4/sources.xml +++ b/b2g/config/nexus-4/sources.xml @@ -12,17 +12,17 @@ <!--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="0e94c080bee081a50aa2097527b0b40852f9143f"> <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="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia" path="gaia" remote="mozillaorg" revision="ab69ae06a7f2b54e60ab63b1b44c8d19d5d20d94"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/> <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"/>
--- a/b2g/config/wasabi/sources.xml +++ b/b2g/config/wasabi/sources.xml @@ -12,17 +12,17 @@ <!--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="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="45475198737a504d81932a9c90002902054fce23"/> + <project name="gaia.git" path="gaia" remote="mozillaorg" revision="b33a1afb538e8c7e12f6fb792c454da34f9f5b76"/> <project name="gonk-misc" path="gonk-misc" remote="b2g" revision="2262d4a77d4f46ab230fd747bb91e9b77bad36cb"/> <project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/> <project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/> <project name="moztt" path="external/moztt" remote="b2g" revision="fe893bb760a3bb64375f62fdf4762a58c59df9ef"/> <project name="apitrace" path="external/apitrace" remote="apitrace" revision="5d482e320548e7ef0a44f62fd7ad51778cca4b3a"/> <project name="gonk-patches" path="patches" remote="b2g" revision="223a2421006e8f5da33f516f6891c87cae86b0f6"/> <!-- Stock Android things --> <project name="platform/abi/cpp" path="abi/cpp" revision="6426040f1be4a844082c9769171ce7f5341a5528"/>
--- a/dom/apps/PermissionsTable.jsm +++ b/dom/apps/PermissionsTable.jsm @@ -519,16 +519,22 @@ this.PermissionsTable = { geolocation: privileged: DENY_ACTION, certified: ALLOW_ACTION }, "presentation-device-manage": { app: DENY_ACTION, trusted: DENY_ACTION, privileged: DENY_ACTION, certified: ALLOW_ACTION + }, + "requestsync-manager": { + app: DENY_ACTION, + trusted: DENY_ACTION, + privileged: DENY_ACTION, + certified: ALLOW_ACTION } }; /** * Append access modes to the permission name as suffixes. * e.g. permission name 'contacts' with ['read', 'write'] = * ['contacts-read', contacts-write'] * @param string aPermName
--- a/dom/icc/gonk/StkProactiveCmdFactory.jsm +++ b/dom/icc/gonk/StkProactiveCmdFactory.jsm @@ -307,17 +307,17 @@ function StkSetupEventListMessage(aStkSe let eventList = aStkSetupEventListCmd.getEventList(); if (eventList && eventList.length > 0) { this.options.eventList = eventList; } } StkSetupEventListMessage.prototype = Object.create(StkCommandMessage.prototype); -function StkMenuCmd(aCommandDetails) { +function StkSetUpMenuCmd(aCommandDetails) { // Call |StkProactiveCommand| constructor. StkProactiveCommand.call(this, aCommandDetails); let options = aCommandDetails.options; if (options.title) { this.title = options.title; } @@ -335,29 +335,29 @@ function StkMenuCmd(aCommandDetails) { if (options.nextActionList) { this.nextActionList = options.nextActionList.slice(); } this.iconInfo = mapIconInfoToStkIconInfo(options); this.isHelpAvailable = !!(options.isHelpAvailable); } -StkMenuCmd.prototype = Object.create(StkProactiveCommand.prototype, { +StkSetUpMenuCmd.prototype = Object.create(StkProactiveCommand.prototype, { QueryInterface: { value: XPCOMUtils.generateQI([Ci.nsIStkProactiveCmd, - Ci.nsIStkMenuCmd]) + Ci.nsIStkSetUpMenuCmd]) }, // Cache items for getItems() items: { value: null, writable: true }, // Cache items for getNextActionList() nextActionList: { value: null, writable: true }, - // nsIStkMenuCmd + // nsIStkSetUpMenuCmd title: { value: null, writable: true }, getItems: { value: function(aCount) { if (!this.items) { if (aCount) { aCount.value = 0; } @@ -388,116 +388,98 @@ StkMenuCmd.prototype = Object.create(Stk return this.nextActionList.slice(); } }, iconInfo: { value: null, writable: true }, isHelpAvailable: { value: false, writable: true } }); -function StkMenuMessage(aStkMenuCmd) { +function StkSetUpMenuMessage(aStkSetUpMenuCmd) { // Call |StkCommandMessage| constructor. - StkCommandMessage.call(this, aStkMenuCmd); + StkCommandMessage.call(this, aStkSetUpMenuCmd); this.options = { - items: aStkMenuCmd.getItems().map(function(aStkItem) { + items: aStkSetUpMenuCmd.getItems().map(function(aStkItem) { if (!aStkItem) { return null; } let item = { identifier: aStkItem.identifier, text: aStkItem.text }; if (aStkItem.iconInfo) { appendIconInfo(item, aStkItem.iconInfo); } return item; }), - isHelpAvailable: aStkMenuCmd.isHelpAvailable + isHelpAvailable: aStkSetUpMenuCmd.isHelpAvailable }; - if (aStkMenuCmd.title) { - this.options.title = aStkMenuCmd.title; + if (aStkSetUpMenuCmd.title) { + this.options.title = aStkSetUpMenuCmd.title; } - let nextActionList = aStkMenuCmd.getNextActionList(); + let nextActionList = aStkSetUpMenuCmd.getNextActionList(); if (nextActionList && nextActionList.length > 0) { this.options.nextActionList = nextActionList; } - if (aStkMenuCmd.iconInfo) { - appendIconInfo(this.options, aStkMenuCmd.iconInfo); + if (aStkSetUpMenuCmd.iconInfo) { + appendIconInfo(this.options, aStkSetUpMenuCmd.iconInfo); } } -StkMenuMessage.prototype = Object.create(StkCommandMessage.prototype); +StkSetUpMenuMessage.prototype = Object.create(StkCommandMessage.prototype); -function StkSetUpMenuCmd(aCommandDetails) { - // Call |StkMenuCmd| constructor. - StkMenuCmd.call(this, aCommandDetails); +function StkSelectItemCmd(aCommandDetails) { + // Call |StkSetUpMenuCmd| constructor. + StkSetUpMenuCmd.call(this, aCommandDetails); let options = aCommandDetails.options; this.presentationType = options.presentationType; -} -StkSetUpMenuCmd.prototype = Object.create(StkMenuCmd.prototype, { - QueryInterface: { - value: XPCOMUtils.generateQI([Ci.nsIStkProactiveCmd, - Ci.nsIStkMenuCmd, - Ci.nsIStkSetUpMenuCmd]) - }, - - // nsIStkSetUpMenuCmd - presentationType: { value: 0, writable: true } -}); - -function StkSetUpMenuMessage(aStkSetUpMenuCmd) { - // Call |StkMenuMessage| constructor. - StkMenuMessage.call(this, aStkSetUpMenuCmd); - - this.options.presentationType = aStkSetUpMenuCmd.presentationType; -} -StkSetUpMenuMessage.prototype = Object.create(StkMenuMessage.prototype); - -function StkSelectItemCmd(aCommandDetails) { - // Call |StkMenuCmd| constructor. - StkMenuCmd.call(this, aCommandDetails); - - let options = aCommandDetails.options; if (options.defaultItem !== undefined && options.defaultItem !== null) { this.defaultItem = options.defaultItem; } } -StkSelectItemCmd.prototype = Object.create(StkMenuCmd.prototype, { +StkSelectItemCmd.prototype = Object.create(StkSetUpMenuCmd.prototype, { QueryInterface: { value: XPCOMUtils.generateQI([Ci.nsIStkProactiveCmd, - Ci.nsIStkMenuCmd, + Ci.nsIStkSetUpMenuCmd, Ci.nsIStkSelectItemCmd]) }, // nsIStkSelectItemCmd + presentationType: { + value: 0, + writable: true + }, + defaultItem: { value: Ci.nsIStkSelectItemCmd.DEFAULT_ITEM_INVALID, writable: true } }); function StkSelectItemMessage(aStkSelectItemCmd) { - // Call |StkMenuMessage| constructor. - StkMenuMessage.call(this, aStkSelectItemCmd); + // Call |StkSetUpMenuMessage| constructor. + StkSetUpMenuMessage.call(this, aStkSelectItemCmd); + + this.options.presentationType = aStkSelectItemCmd.presentationType; if (aStkSelectItemCmd.defaultItem !== Ci.nsIStkSelectItemCmd.DEFAULT_ITEM_INVALID) { this.options.defaultItem = aStkSelectItemCmd.defaultItem; } } -StkSelectItemMessage.prototype = Object.create(StkMenuMessage.prototype); +StkSelectItemMessage.prototype = Object.create(StkSetUpMenuMessage.prototype); function StkTextMessageCmd(aCommandDetails) { // Call |StkProactiveCommand| constructor. StkProactiveCommand.call(this, aCommandDetails); let options = aCommandDetails.options; if (options.text) {
--- a/dom/icc/interfaces/nsIIccMessenger.idl +++ b/dom/icc/interfaces/nsIIccMessenger.idl @@ -235,20 +235,20 @@ interface nsIStkSetupEventListCmd : nsIS * * @returns a copy of the list of events. */ void getEventList([optional] out unsigned long aCount, [array, size_is(aCount), retval] out unsigned short aEventList); }; /** - * The base interface of nsIStkSetUpMenuCmd and nsIStkSelectItemCmd. + * This interface is to be applied by STK_CMD_SET_UP_MENU. */ -[scriptable, uuid(298bf414-6a1f-11e4-9045-3b3fd28e7f6a)] -interface nsIStkMenuCmd : nsIStkProactiveCmd +[scriptable, uuid(d7a66664-a602-11e4-9cc7-c7ce5fdade7d)] +interface nsIStkSetUpMenuCmd : nsIStkProactiveCmd { /** * (Optional for STK_CMD_SELECT_ITEM) * Title of the menu. */ readonly attribute DOMString title; /** @@ -299,39 +299,32 @@ interface nsIStkMenuCmd : nsIStkProactiv * true: help information available. * false: no help information available. * */ readonly attribute boolean isHelpAvailable; }; /** - * This interface is to be applied by STK_CMD_SET_UP_MENU. + * This interface is to be applied by STK_CMD_SELECT_ITEM. */ -[scriptable, uuid(d3ddb1f0-631c-11e4-aac3-4beb03196b7b)] -interface nsIStkSetUpMenuCmd : nsIStkMenuCmd +[scriptable, uuid(eb71f0fa-a602-11e4-926f-a3814461d218)] +interface nsIStkSelectItemCmd : nsIStkSetUpMenuCmd { /** * Presentation type, one of PRESENTATION_TYPE_*. * * @See TS 11.14, clause 12.6, Command Qualifier: Select Item */ - const short PRESENTATION_TYPE_NOT_SPECIFIED = 0x00; - const short PRESENTATION_TYPE_DATA_VALUES = 0x01; - const short PRESENTATION_TYPE_NAVIGATION_OPTIONS = 0x03; + const unsigned short PRESENTATION_TYPE_NOT_SPECIFIED = 0x00; + const unsigned short PRESENTATION_TYPE_DATA_VALUES = 0x01; + const unsigned short PRESENTATION_TYPE_NAVIGATION_OPTIONS = 0x03; readonly attribute unsigned short presentationType; -}; -/** - * This interface is to be applied by STK_CMD_SELECT_ITEM. - */ -[scriptable, uuid(816dc186-631b-11e4-864f-b37f7b54a1b8)] -interface nsIStkSelectItemCmd : nsIStkMenuCmd -{ const unsigned short DEFAULT_ITEM_INVALID = 0xFFFF; /** * (Optional) * Default item identifier of the menu. * * Set to DEFAULT_ITEM_INVALID if null. */
--- a/dom/icc/tests/marionette/test_stk_select_item.js +++ b/dom/icc/tests/marionette/test_stk_select_item.js @@ -212,16 +212,17 @@ const TEST_DATA = [ items: [{identifier: 1, text: "Item 1"}, {identifier: 2, text: "Item 2"}, {identifier: 3, text: "Item 3"}], nextActionList: [MozIccManager.STK_NEXT_ACTION_NULL, MozIccManager.STK_NEXT_ACTION_NULL, MozIccManager.STK_NEXT_ACTION_END_PROACTIVE_SESSION]}}, ]; function testSelectItem(aCommand, aExpect) { is(aCommand.typeOfCommand, MozIccManager.STK_CMD_SELECT_ITEM, "typeOfCommand"); is(aCommand.commandQualifier, aExpect.commandQualifier, "commandQualifier"); is(aCommand.options.title, aExpect.title, "options.title"); + is(aCommand.options.presentationType, aCommand.commandQualifier & 0x03, "presentationType"); for (let index in aExpect.items) { let item = aCommand.options.items[index]; let itemExpect = aExpect.items[index]; is(item.identifier, itemExpect.identifier, "options.items[" + index + "].identifier"); is(item.text, itemExpect.text, "options.items[" + index + "].text");
--- a/dom/icc/tests/marionette/test_stk_setup_menu.js +++ b/dom/icc/tests/marionette/test_stk_setup_menu.js @@ -153,16 +153,18 @@ const TEST_DATA = [ title: "", items: [null]}}, ]; function testSetupMenu(aCommand, aExpect) { is(aCommand.typeOfCommand, MozIccManager.STK_CMD_SET_UP_MENU, "typeOfCommand"); is(aCommand.commandQualifier, aExpect.commandQualifier, "commandQualifier"); is(aCommand.options.title, aExpect.title, "options.title"); + // To ensure that 'presentationType' will only be available in SELECT_ITEM. + is(aCommand.options.presentationType, undefined, "presentationType"); for (let index in aExpect.items) { let item = aCommand.options.items[index]; let itemExpect = aExpect.items[index]; if (!itemExpect) { is(item, itemExpect, "options.items[" + index + "]"); } else {
--- a/dom/media/webrtc/MediaEngineGonkVideoSource.cpp +++ b/dom/media/webrtc/MediaEngineGonkVideoSource.cpp @@ -195,16 +195,26 @@ MediaEngineGonkVideoSource::Start(Source NS_DispatchToMainThread(WrapRunnable(nsRefPtr<MediaEngineGonkVideoSource>(this), &MediaEngineGonkVideoSource::StartImpl, mCapability)); mCallbackMonitor.Wait(); if (mState != kStarted) { return NS_ERROR_FAILURE; } + nsTArray<nsString> focusModes; + mCameraControl->Get(CAMERA_PARAM_SUPPORTED_FOCUSMODES, focusModes); + for (nsTArray<nsString>::index_type i = 0; i < focusModes.Length(); ++i) { + if (focusModes[i].EqualsASCII("continuous-video")) { + mCameraControl->Set(CAMERA_PARAM_FOCUSMODE, focusModes[i]); + mCameraControl->ResumeContinuousFocus(); + break; + } + } + if (NS_FAILED(InitDirectMediaBuffer())) { return NS_ERROR_FAILURE; } return NS_OK; } nsresult @@ -419,25 +429,16 @@ MediaEngineGonkVideoSource::StartImpl(we ICameraControl::Configuration config; config.mMode = ICameraControl::kPictureMode; config.mPreviewSize.width = aCapability.width; config.mPreviewSize.height = aCapability.height; mCameraControl->Start(&config); mCameraControl->Set(CAMERA_PARAM_PICTURE_SIZE, config.mPreviewSize); - nsTArray<nsString> focusModes; - mCameraControl->Get(CAMERA_PARAM_SUPPORTED_FOCUSMODES, focusModes); - for (nsTArray<nsString>::index_type i = 0; i < focusModes.Length(); ++i) { - if (focusModes[i].EqualsASCII("continuous-video")) { - mCameraControl->Set(CAMERA_PARAM_FOCUSMODE, focusModes[i]); - break; - } - } - hal::RegisterScreenConfigurationObserver(this); } void MediaEngineGonkVideoSource::StopImpl() { MOZ_ASSERT(NS_IsMainThread()); mCameraSource->stop();
--- a/dom/system/gonk/ril_worker.js +++ b/dom/system/gonk/ril_worker.js @@ -10958,18 +10958,20 @@ StkCommandParamsFactoryObject.prototype } menu.items = menuCtlvs.map(aCtlv => aCtlv.value); ctlv = selectedCtlvs.retrieve(COMPREHENSIONTLV_TAG_ITEM_ID); if (ctlv) { menu.defaultItem = ctlv.value.identifier - 1; } - // The 1st bit and 2nd bit determines the presentation type. - menu.presentationType = cmdDetails.commandQualifier & 0x03; + if (cmdDetails.typeOfCommand == STK_CMD_SELECT_ITEM) { + // The 1st bit and 2nd bit determines the presentation type. + menu.presentationType = cmdDetails.commandQualifier & 0x03; + } // Help information available. if (cmdDetails.commandQualifier & 0x80) { menu.isHelpAvailable = true; } ctlv = selectedCtlvs.retrieve(COMPREHENSIONTLV_TAG_NEXT_ACTION_IND); if (ctlv) {
--- a/dom/system/gonk/tests/test_ril_system_messenger.js +++ b/dom/system/gonk/tests/test_ril_system_messenger.js @@ -720,17 +720,16 @@ add_test(function test_icc_notify_stk_pr commandQualifier: 0x80, // bit 8: 1 = help information available options: { title: "Toolkit Menu 1", items: [ { identifier: 0x01, text: "Menu Item 1" }, { identifier: 0x02, text: "Menu Item 2" }, { identifier: 0x03, text: "Menu Item 3" } ], - presentationType: RIL.STK_PRESENTATION_TYPE_NOT_SPECIFIED, isHelpAvailable: true } }, // STK_CMD_SET_UP_MENU with optional properties including: // iconInfo for this menu, iconInfo for each item and nextActionList. { commandNumber: ++cmdCount, typeOfCommand: RIL.STK_CMD_SET_UP_MENU, @@ -757,31 +756,31 @@ add_test(function test_icc_notify_stk_pr nextActionList: [ RIL.STK_NEXT_ACTION_END_PROACTIVE_SESSION, RIL.STK_NEXT_ACTION_NULL, RIL.STK_NEXT_ACTION_NULL, RIL.STK_NEXT_ACTION_NULL ], iconSelfExplanatory: false, icons: [basicIcon, colorIcon, colorTransparencyIcon], - presentationType: RIL.STK_PRESENTATION_TYPE_NOT_SPECIFIED, isHelpAvailable: false } }, // STK_CMD_SELECT_ITEM with mandatory properties. { commandNumber: ++cmdCount, typeOfCommand: RIL.STK_CMD_SELECT_ITEM, commandQualifier: RIL.STK_PRESENTATION_TYPE_NOT_SPECIFIED, options: { items: [ { identifier: 0x01, text: "Menu Item 1" }, { identifier: 0x02, text: "Menu Item 2" }, { identifier: 0x03, text: "Menu Item 3" } ], + presentationType: RIL.STK_PRESENTATION_TYPE_NOT_SPECIFIED, isHelpAvailable: false } }, // STK_CMD_SELECT_ITEM with optional properties including: // title, iconInfo for this menu, iconInfo for each item and nextActionList. { commandNumber: ++cmdCount, typeOfCommand: RIL.STK_CMD_SELECT_ITEM, @@ -809,16 +808,17 @@ add_test(function test_icc_notify_stk_pr RIL.STK_NEXT_ACTION_END_PROACTIVE_SESSION, RIL.STK_NEXT_ACTION_NULL, RIL.STK_NEXT_ACTION_NULL, RIL.STK_NEXT_ACTION_NULL ], defaultItem: 0x02, iconSelfExplanatory: false, icons: [basicIcon, colorIcon, colorTransparencyIcon], + presentationType: RIL.STK_PRESENTATION_TYPE_NAVIGATION_OPTIONS, isHelpAvailable: false } }, // STK_CMD_DISPLAY_TEXT with mandatory properties. { commandNumber: ++cmdCount, typeOfCommand: RIL.STK_CMD_DISPLAY_TEXT, commandQualifier: 0x01, // bit 1: High Priority
--- a/dom/wifi/DOMWifiP2pManager.js +++ b/dom/wifi/DOMWifiP2pManager.js @@ -111,16 +111,21 @@ MozWifiP2pManager.prototype = { this.initDOMRequestHelper(aWindow, messages); this._mm = Cc["@mozilla.org/childprocessmessagemanager;1"].getService(Ci.nsISyncMessageSender); // Notify the internal a new DOM mananger is created. let state = this._mm.sendSyncMessage("WifiP2pManager:getState")[0]; if (state) { debug('State: ' + JSON.stringify(state)); + this.enabled = state.enabled; + this.currentPeer = state.currentPeer; + if (state.groupOwner) { + this.groupOwner = new MozWifiP2pGroupOwner(state.groupOwner); + } } else { debug('Failed to get state'); } }, uninit: function() { },
--- a/dom/wifi/WifiP2pManager.jsm +++ b/dom/wifi/WifiP2pManager.jsm @@ -592,22 +592,24 @@ function P2pStateMachine(aP2pCommand, aN // The state where we are trying to enable wifi p2p. var stateEnabling = _sm.makeState("ENABLING", { enter: function() { function onFailure() { _onEnabled(false); + _observer.onDisabled(); _sm.gotoState(stateDisabled); } function onSuccess() { _onEnabled(true); + _observer.onEnabled(); _sm.gotoState(stateInactive); } _sm.pause(); // This function will only call back on success. function connectToSupplicantIfNeeded(callback) { if (aP2pCommand.getSdkVersion() >= 19) { @@ -1330,16 +1332,17 @@ function P2pStateMachine(aP2pCommand, aN debug('Stop DHCP server result: ' + success); aP2pCommand.p2pDisable(function(success) { debug('P2P function disabled'); closeSupplicantConnectionIfNeeded(function() { debug('Supplicant connection closed'); gNetworkService.disableInterface(P2P_INTERFACE_NAME, function (success){ debug('Disabled interface: ' + P2P_INTERFACE_NAME); _onDisabled(true); + _observer.onDisabled(); _sm.gotoState(stateDisabled); }); }); }); }); function closeSupplicantConnectionIfNeeded(callback) { // No need to connect to supplicant on KK. Call back directly.
--- a/dom/wifi/WifiP2pWorkerObserver.jsm +++ b/dom/wifi/WifiP2pWorkerObserver.jsm @@ -34,16 +34,19 @@ this.WifiP2pWorkerObserver = function(aD dump('-------------- WifiP2pWorkerObserver: ' + aMsg); } } // Private member variables. let _localDevice; let _peerList = {}; // List of P2pDevice. let _domManagers = []; + let _enabled = false; + let _groupOwner = null; + let _currentPeer = null; // Constructor of P2pDevice. It will be exposed to DOM. // // @param aPeer object representing a P2P device: // .name: string for the device name. // .address: Mac address. // .isGroupOwner: boolean to indicate if this device is the group owner. // .wpsCapabilities: array of string of {"pbc", "display", "keypad"}. @@ -125,20 +128,22 @@ this.WifiP2pWorkerObserver = function(aD return { onLocalDeviceChanged: function(aDevice) { _localDevice = aDevice; debug('Local device updated to: ' + JSON.stringify(_localDevice)); }, onEnabled: function() { _peerList = []; + _enabled = true; fireEvent("p2pUp", {}); }, onDisbaled: function() { + _enabled = false; fireEvent("p2pDown", {}); }, onPeerFound: function(aPeer) { let newFoundPeer = new P2pDevice(aPeer); let origianlPeer = _peerList[aPeer.address]; _peerList[aPeer.address] = newFoundPeer; if (origianlPeer) { @@ -177,27 +182,34 @@ this.WifiP2pWorkerObserver = function(aD debug('Unknown peer connected: ' + aPeer.address); peer = new P2pDevice(aPeer); _peerList[aPeer.address] = peer; handlePeerListUpdated(); } peer.connectionStatus = CONNECTION_STATUS_CONNECTED; peer.isGroupOwner = (aPeer.address === aGroupOwner.address); + _groupOwner = go; + _currentPeer = peer; + fireEvent('onconnected', { groupOwner: go, peer: peer }); }, onDisconnected: function(aPeer) { let peer = _peerList[aPeer.address]; if (!peer) { debug('Unknown peer disconnected: ' + aPeer.address); return; } peer.connectionStatus = CONNECTION_STATUS_DISCONNECTED; + + _groupOwner = null; + _currentPeer = null; + fireEvent('ondisconnected', { peer: peer }); }, getObservedDOMMessages: function() { return [ "WifiP2pManager:getState", "WifiP2pManager:getPeerList", "WifiP2pManager:setScanEnabled", @@ -222,17 +234,21 @@ this.WifiP2pWorkerObserver = function(aD if (!aMessage.target.assertPermission("wifi-manage")) { return; } switch (aMessage.name) { case "WifiP2pManager:getState": // A new DOM manager is created. addDomManager(msg); - return { peerList: _peerList, }; // Synchronous call. Simply return it. + return { // Synchronous call. Simply return it. + enabled: _enabled, + groupOwner: _groupOwner, + currentPeer: _currentPeer + }; case "WifiP2pManager:setScanEnabled": { let enabled = msg.data; aDomMsgResponder.setScanEnabled(enabled, function(success) { returnMessage(aMessage.name, success, (success ? true : "ERROR"), msg); });
--- a/gfx/layers/apz/src/AsyncPanZoomController.cpp +++ b/gfx/layers/apz/src/AsyncPanZoomController.cpp @@ -2795,27 +2795,36 @@ void AsyncPanZoomController::NotifyLayer if (scrollOffsetUpdated) { APZC_LOG("%p updating scroll offset from %s to %s\n", this, ToString(mFrameMetrics.GetScrollOffset()).c_str(), ToString(aLayerMetrics.GetScrollOffset()).c_str()); mFrameMetrics.CopyScrollInfoFrom(aLayerMetrics); - // Cancel the animation (which will also trigger a repaint request) + // Cancel the animation (which might also trigger a repaint request) // after we update the scroll offset above. Otherwise we can be left // in a state where things are out of sync. CancelAnimation(); // Because of the scroll offset update, any inflight paint requests are // going to be ignored by layout, and so mLastDispatchedPaintMetrics // becomes incorrect for the purposes of calculating the LD transform. To // correct this we need to update mLastDispatchedPaintMetrics to be the // last thing we know was painted by Gecko. mLastDispatchedPaintMetrics = aLayerMetrics; + + // Since the scroll offset has changed, we need to recompute the + // displayport margins and send them to layout. Otherwise there might be + // scenarios where for example we scroll from the top of a page (where the + // top displayport margin is zero) to the bottom of a page, which will + // result in a displayport that doesn't extend upwards at all. + // Note that even if the CancelAnimation call above requested a repaint + // this is fine because we already have repaint request deduplication. + needContentRepaint = true; } } if (smoothScrollRequested) { // A smooth scroll has been requested for animation on the compositor // thread. This flag will be reset by the main thread when it receives // the scroll update acknowledgement.