Merge m-c to mozilla-inbound

This commit is contained in:
Carsten "Tomcat" Book 2015-10-19 11:40:29 +02:00
commit 2d4d0c922a
67 changed files with 598 additions and 395 deletions

View File

@ -36,7 +36,7 @@ XPCOMUtils.defineLazyGetter(this, 'MemoryFront', function() {
Cu.import('resource://gre/modules/Frames.jsm');
var _telemetryDebug = true;
var _telemetryDebug = false;
function telemetryDebug(...args) {
if (_telemetryDebug) {
@ -108,8 +108,8 @@ var developerHUD = {
this._logging = enabled;
});
SettingsListener.observe('debug.performance_data.advanced_telemetry', this._telemetry, enabled => {
this._telemetry = enabled;
SettingsListener.observe('metrics.selectedMetrics.level', "", level => {
this._telemetry = (level === 'Enhanced');
});
},

View File

@ -15,10 +15,10 @@
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="31a7849fe9a8b743d6f5e5facc212f0ef9d57499"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
@ -106,7 +106,7 @@
<project name="platform/libcore" path="libcore" revision="baf7d8068dd501cfa338d3a8b1b87216d6ce0571"/>
<project name="platform/libnativehelper" path="libnativehelper" revision="50c4430e32849530ced32680fd6ee98963b3f7ac"/>
<project name="platform/ndk" path="ndk" revision="e58ef003be4306bb53a8c11331146f39e4eab31f"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="23404f05422c6bf3c39573325a4f4909167671b4"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="88fe75533255e99261c96cb497dcbd99820b7a3a"/>
<project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="c792f0bd9fff7aea2887c60bbb3a9bbdb534ffa3"/>
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="69d524e80cdf3981006627c65ac85f3a871238a3"/>
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>

View File

@ -15,10 +15,10 @@
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="31a7849fe9a8b743d6f5e5facc212f0ef9d57499"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
@ -111,7 +111,7 @@
<project name="platform/libcore" path="libcore" revision="e195beab082c09217318fc19250caeaf4c1bd800"/>
<project name="platform/libnativehelper" path="libnativehelper" revision="feeb36c2bd4adfe285f98f5de92e0f3771b2c115"/>
<project name="platform/ndk" path="ndk" revision="e58ef003be4306bb53a8c11331146f39e4eab31f"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="23404f05422c6bf3c39573325a4f4909167671b4"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="88fe75533255e99261c96cb497dcbd99820b7a3a"/>
<project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="c792f0bd9fff7aea2887c60bbb3a9bbdb534ffa3"/>
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="cfcef469537869947abb9aa1d656774cc2678d4c"/>
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>

View File

@ -19,8 +19,8 @@
<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="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="4ace9aaee0e048dfda11bb787646c59982a3dc80"/>
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="c72c9278ddc2f442d193474993d36e7f2cfb08c4"/>

View File

@ -17,8 +17,8 @@
</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="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="31a7849fe9a8b743d6f5e5facc212f0ef9d57499"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="0c28789b9957913be975eb002a22323f93585d4c"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>

View File

@ -15,9 +15,9 @@
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="31a7849fe9a8b743d6f5e5facc212f0ef9d57499"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
@ -110,7 +110,7 @@
<project name="platform/libcore" path="libcore" revision="9877ade9617bb0db6e59aa2a54719a9bc92600f3"/>
<project name="platform/libnativehelper" path="libnativehelper" revision="46c96ace65eb1ccab05bf15b9bf8e53e443039af"/>
<project name="platform/ndk" path="ndk" revision="cb5519af32ae7b4a9c334913a612462ecd04c5d0"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="23404f05422c6bf3c39573325a4f4909167671b4"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="88fe75533255e99261c96cb497dcbd99820b7a3a"/>
<project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="6aa61f8557a22039a30b42b7f283996381fd625d"/>
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="b562b01c93de9578d5db537b6a602a38e1aaa0ce"/>
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="387f03e815f57d536dd922706db1622bddba8d81"/>

View File

@ -15,9 +15,9 @@
<project name="platform_build" path="build" remote="b2g" revision="c9d4fe680662ee44a4bdea42ae00366f5df399cf">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="31a7849fe9a8b743d6f5e5facc212f0ef9d57499"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>

View File

@ -19,8 +19,8 @@
<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="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gaia.git" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="platform_hardware_ril" path="hardware/ril" remote="b2g" revision="4ace9aaee0e048dfda11bb787646c59982a3dc80"/>
<project name="platform_external_qemu" path="external/qemu" remote="b2g" revision="c72c9278ddc2f442d193474993d36e7f2cfb08c4"/>

View File

@ -15,10 +15,10 @@
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="31a7849fe9a8b743d6f5e5facc212f0ef9d57499"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
@ -105,7 +105,7 @@
<project name="platform/libcore" path="libcore" revision="baf7d8068dd501cfa338d3a8b1b87216d6ce0571"/>
<project name="platform/libnativehelper" path="libnativehelper" revision="50c4430e32849530ced32680fd6ee98963b3f7ac"/>
<project name="platform/ndk" path="ndk" revision="e58ef003be4306bb53a8c11331146f39e4eab31f"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="23404f05422c6bf3c39573325a4f4909167671b4"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="88fe75533255e99261c96cb497dcbd99820b7a3a"/>
<project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="c792f0bd9fff7aea2887c60bbb3a9bbdb534ffa3"/>
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="69d524e80cdf3981006627c65ac85f3a871238a3"/>
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="5a48c04c4bb5f079bc757e29864a42427378e051"/>

View File

@ -1,9 +1,9 @@
{
"git": {
"git_revision": "f75a7e01912cee313fed92ff2089586f507b2ba5",
"git_revision": "f75bd584aca0a751a5bed115800250faa8412927",
"remote": "https://git.mozilla.org/releases/gaia.git",
"branch": ""
},
"revision": "f51f8770b9665f44e57e9e09faee2b967a80abf1",
"revision": "8c3fb9e6ae490d957278e80817c0735241b11146",
"repo_path": "integration/gaia-central"
}

View File

@ -15,10 +15,10 @@
<project name="platform_build" path="build" remote="b2g" revision="8d83715f08b7849f16a0dfc88f78d5c3a89c0a54">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="31a7849fe9a8b743d6f5e5facc212f0ef9d57499"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
@ -111,7 +111,7 @@
<project name="platform/libcore" path="libcore" revision="9877ade9617bb0db6e59aa2a54719a9bc92600f3"/>
<project name="platform/libnativehelper" path="libnativehelper" revision="46c96ace65eb1ccab05bf15b9bf8e53e443039af"/>
<project name="platform/ndk" path="ndk" revision="cb5519af32ae7b4a9c334913a612462ecd04c5d0"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="23404f05422c6bf3c39573325a4f4909167671b4"/>
<project name="platform_prebuilts_misc" path="prebuilts/misc" remote="b2g" revision="88fe75533255e99261c96cb497dcbd99820b7a3a"/>
<project name="platform/prebuilts/ndk" path="prebuilts/ndk" revision="6aa61f8557a22039a30b42b7f283996381fd625d"/>
<project name="platform/prebuilts/sdk" path="prebuilts/sdk" revision="b562b01c93de9578d5db537b6a602a38e1aaa0ce"/>
<project name="platform/prebuilts/tools" path="prebuilts/tools" revision="387f03e815f57d536dd922706db1622bddba8d81"/>

View File

@ -18,8 +18,8 @@
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="31a7849fe9a8b743d6f5e5facc212f0ef9d57499"/>
<project name="apitrace" path="external/apitrace" remote="apitrace" revision="0c28789b9957913be975eb002a22323f93585d4c"/>
<project name="valgrind" path="external/valgrind" remote="b2g" revision="5f931350fbc87c3df9db8b0ceb37734b8b471593"/>

View File

@ -15,10 +15,10 @@
<project name="platform_build" path="build" remote="b2g" revision="c9d4fe680662ee44a4bdea42ae00366f5df399cf">
<copyfile dest="Makefile" src="core/root.mk"/>
</project>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75a7e01912cee313fed92ff2089586f507b2ba5"/>
<project name="gaia" path="gaia" remote="mozillaorg" revision="f75bd584aca0a751a5bed115800250faa8412927"/>
<project name="fake-libdvm" path="dalvik" remote="b2g" revision="d50ae982b19f42f0b66d08b9eb306be81687869f"/>
<project name="fake-qemu-kernel" path="prebuilts/qemu-kernel" remote="b2g" revision="939b377d55a2f081d94029a30a75d05e5a20daf3"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="7938df689aa87769fad3f2cf9097fb4ecb106a43"/>
<project name="gonk-misc" path="gonk-misc" remote="b2g" revision="c1bbb66f52f9e2d76ce97e7b3aa0cb29957cd7d8"/>
<project name="librecovery" path="librecovery" remote="b2g" revision="1b3591a50ed352fc6ddb77462b7b35d0bfa555a3"/>
<project name="moztt" path="external/moztt" remote="b2g" revision="31a7849fe9a8b743d6f5e5facc212f0ef9d57499"/>
<project name="rilproxy" path="rilproxy" remote="b2g" revision="5ef30994f4778b4052e58a4383dbe7890048c87e"/>

View File

@ -493,6 +493,10 @@ extensions.registerAPI((extension, context) => {
sendMessage: function(tabId, message, options, responseCallback) {
let tab = TabManager.getTab(tabId);
if (!tab) {
// ignore sendMessage to non existent tab id
return;
}
let mm = tab.linkedBrowser.messageManager;
let recipient = {extensionId: extension.id};

View File

@ -13,6 +13,7 @@ support-files =
[browser_ext_tabs_executeScript.js]
[browser_ext_tabs_query.js]
[browser_ext_tabs_update.js]
[browser_ext_tabs_sendMessage.js]
[browser_ext_windows_update.js]
[browser_ext_contentscript_connect.js]
[browser_ext_tab_runtimeConnect.js]

View File

@ -0,0 +1,31 @@
add_task(function* tabsSendMessageNoExceptionOnNonExistentTab() {
let extension = ExtensionTestUtils.loadExtension({
manifest: {
"permissions": ["tabs"]
},
background: function() {
chrome.tabs.create({ url: "about:robots"}, function (tab) {
var exception;
try {
browser.tabs.sendMessage(tab.id, "message");
browser.tabs.sendMessage(tab.id + 100, "message");
} catch(e) {
exception = e;
}
browser.test.assertEq(undefined, exception, "no exception should be raised on tabs.sendMessage to unexistent tabs");
chrome.tabs.remove(tab.id, function() {
browser.test.notifyPass("tabs.sendMessage");
})
})
},
});
yield Promise.all([
extension.startup(),
extension.awaitFinish("tabs.sendMessage")
]);
yield extension.unload();
});

View File

@ -64,8 +64,8 @@ browser.jar:
skin/classic/browser/privatebrowsing-mask-titlebar-XPVista7-tall.png
skin/classic/browser/reload-stop-go.png
skin/classic/browser/reload-stop-go@2x.png
skin/classic/browser/reload-stop-go-preWin10.png
skin/classic/browser/reload-stop-go-preWin10@2x.png
skin/classic/browser/reload-stop-go-XPVista7.png
skin/classic/browser/reload-stop-go-XPVista7@2x.png
skin/classic/browser/searchbar.css
skin/classic/browser/setDesktopBackground.css
skin/classic/browser/slowStartup-16.png
@ -85,8 +85,8 @@ browser.jar:
skin/classic/browser/urlbar-popup-blocked.png
skin/classic/browser/urlbar-history-dropmarker.png
skin/classic/browser/urlbar-history-dropmarker@2x.png
skin/classic/browser/urlbar-history-dropmarker-preWin10.png
skin/classic/browser/urlbar-history-dropmarker-preWin10@2x.png
skin/classic/browser/urlbar-history-dropmarker-XPVista7.png
skin/classic/browser/urlbar-history-dropmarker-XPVista7@2x.png
skin/classic/browser/webRTC-indicator.css
skin/classic/browser/loop/menuPanel.png (loop/menuPanel.png)
skin/classic/browser/loop/menuPanel@2x.png (loop/menuPanel@2x.png)
@ -323,6 +323,8 @@ browser.jar:
% override chrome://browser/skin/preferences/saveFile.png chrome://browser/skin/preferences/saveFile-XP.png os=WINNT osversion<6
% override chrome://browser/skin/actionicon-tab.png chrome://browser/skin/actionicon-tab-XPVista7.png os=WINNT osversion<=6.1
% override chrome://browser/skin/reload-stop-go.png chrome://browser/skin/reload-stop-go-XPVista7.png os=WINNT osversion<=6.1
% override chrome://browser/skin/reload-stop-go@2x.png chrome://browser/skin/reload-stop-go-XPVista7@2x.png os=WINNT osversion<=6.1
% override chrome://browser/skin/sync-horizontalbar.png chrome://browser/skin/sync-horizontalbar-XPVista7.png os=WINNT osversion<=6.1
% override chrome://browser/skin/sync-horizontalbar@2x.png chrome://browser/skin/sync-horizontalbar-XPVista7@2x.png os=WINNT osversion<=6.1
% override chrome://browser/skin/syncProgress-horizontalbar.png chrome://browser/skin/syncProgress-horizontalbar-XPVista7.png os=WINNT osversion<=6.1
@ -330,6 +332,8 @@ browser.jar:
% override chrome://browser/skin/syncProgress-toolbar.png chrome://browser/skin/syncProgress-toolbar-XPVista7.png os=WINNT osversion<=6.1
% override chrome://browser/skin/syncProgress-toolbar@2x.png chrome://browser/skin/syncProgress-toolbar-XPVista7@2x.png os=WINNT osversion<=6.1
% override chrome://browser/skin/toolbarbutton-dropdown-arrow.png chrome://browser/skin/toolbarbutton-dropdown-arrow-XPVista7.png os=WINNT osversion<=6.1
% override chrome://browser/skin/urlbar-history-dropmarker.png chrome://browser/skin/urlbar-history-dropmarker-XPVista7.png os=WINNT osversion<=6.1
% override chrome://browser/skin/urlbar-history-dropmarker@2x.png chrome://browser/skin/urlbar-history-dropmarker-XPVista7@2x.png os=WINNT osversion<=6.1
% override chrome://browser/skin/places/autocomplete-star.png chrome://browser/skin/places/autocomplete-star-XPVista7.png os=WINNT osversion<=6.1
% override chrome://browser/skin/tabbrowser/newtab.png chrome://browser/skin/tabbrowser/newtab-XPVista7.png os=WINNT osversion<=6.1
% override chrome://browser/skin/tabbrowser/newtab@2x.png chrome://browser/skin/tabbrowser/newtab-XPVista7@2x.png os=WINNT osversion<=6.1
@ -384,11 +388,6 @@ browser.jar:
% override chrome://browser/skin/preferences/checkbox.png chrome://browser/skin/preferences/checkbox-aero.png os=WINNT osversion=6.1
% override chrome://browser/skin/preferences/checkbox.png chrome://browser/skin/preferences/checkbox-xp.png os=WINNT osversion<6
% override chrome://browser/skin/reload-stop-go.png chrome://browser/skin/reload-stop-go-preWin10.png os=WINNT osversion<=6.3
% override chrome://browser/skin/reload-stop-go@2x.png chrome://browser/skin/reload-stop-go-preWin10@2x.png os=WINNT osversion<=6.3
% override chrome://browser/skin/urlbar-history-dropmarker.png chrome://browser/skin/urlbar-history-dropmarker-preWin10.png os=WINNT osversion<=6.3
% override chrome://browser/skin/urlbar-history-dropmarker@2x.png chrome://browser/skin/urlbar-history-dropmarker-preWin10@2x.png os=WINNT osversion<=6.3
% override chrome://browser/skin/tabbrowser/tab-background-start.png chrome://browser/skin/tabbrowser/tab-background-start-preWin10.png os=WINNT osversion<=6.3
% override chrome://browser/skin/tabbrowser/tab-background-start@2x.png chrome://browser/skin/tabbrowser/tab-background-start-preWin10@2x.png os=WINNT osversion<=6.3
% override chrome://browser/skin/tabbrowser/tab-background-middle.png chrome://browser/skin/tabbrowser/tab-background-middle-preWin10.png os=WINNT osversion<=6.3

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

Before

Width:  |  Height:  |  Size: 479 B

After

Width:  |  Height:  |  Size: 479 B

View File

Before

Width:  |  Height:  |  Size: 788 B

After

Width:  |  Height:  |  Size: 788 B

View File

@ -8777,6 +8777,18 @@ if test "$MOZILLA_OFFICIAL"; then
MOZ_INCLUDE_SOURCE_INFO=1
fi
# On official builds, we need to know in Telemetry what revision this is built from.
# This is e.g. needed to match incoming data to a specific revision of the Histograms.json
# file.
if test "$MOZILLA_OFFICIAL" && test -d ${_topsrcdir}/.hg; then
SOURCE_REV=`cd $_topsrcdir && hg parent --template='{node|short}'`
SOURCE_REPO=`cd $_topsrcdir && hg showconfig paths.default | sed -e 's|^ssh://|http://|' -e 's|/$||'`
SOURCE_REV_URL=$SOURCE_REPO/rev/$SOURCE_REV
else
SOURCE_REV_URL=
fi
AC_SUBST(SOURCE_REV_URL)
AC_SUBST(MOZ_INCLUDE_SOURCE_INFO)
AC_DEFINE_UNQUOTED(MOZ_TELEMETRY_DISPLAY_REV, 2)

View File

@ -196,18 +196,18 @@ var Converter = Class({
toHTML: function(json, headers, title) {
var themeClassName = "theme-" + JsonViewUtils.getCurrentTheme();
var baseUrl = "resource:///modules/devtools/client/jsonview/";
var theme = (themeClassName == "theme-light") ? "light" : "dark";
var themeUrl = '<link rel="stylesheet" type="text/css" ' +
'href="css/' + theme + '-theme.css">';
var clientBaseUrl = "resource:///modules/devtools/client/";
var baseUrl = clientBaseUrl + "jsonview/";
var themeVarsUrl = clientBaseUrl + "themes/variables.css";
return '<!DOCTYPE html>\n' +
'<html><head><title>' + this.htmlEncode(title) + '</title>' +
'<html class="' + themeClassName + '">' +
'<head><title>' + this.htmlEncode(title) + '</title>' +
'<base href="' + this.htmlEncode(baseUrl) + '">' +
'<link rel="stylesheet" type="text/css" href="' + themeVarsUrl + '">' +
'<link rel="stylesheet" type="text/css" href="css/main.css">' +
themeUrl +
'<script data-main="viewer-config" src="lib/require.js"></script>' +
'</head><body class="' + themeClassName + '">' +
'</head><body>' +
'<div id="content"></div>' +
'<div id="json">' + this.htmlEncode(json) + '</div>' +
'<div id="headers">' + this.htmlEncode(headers) + '</div>' +

View File

@ -1,27 +0,0 @@
/* vim:set ts=2 sw=2 sts=2 et: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/******************************************************************************/
/* Dark Theme (copied from themes/dark-theme.css) */
:root {
--theme-body-background: #14171a;
--theme-tab-toolbar-background: #252c33;
--theme-toolbar-background: #343c45;
--theme-selection-background: #1d4f73;
--theme-splitter-color: black;
--theme-selection-color: #f5f7fa;
--theme-comment: #757873;
--theme-body-color: #8fa1b2;
--theme-body-color-alt: #b6babf;
--theme-content-color1: #a9bacb;
--theme-highlight-green: #70bf53;
--theme-highlight-blue: #46afe3;
--theme-highlight-orange: #d96629;
--theme-highlight-bluegrey: #5e88b0;
}

View File

@ -1,27 +0,0 @@
/* vim:set ts=2 sw=2 sts=2 et: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/******************************************************************************/
/* Light Theme Constants (copied from themes/light-theme.css) */
:root {
--theme-body-background: #fcfcfc;
--theme-tab-toolbar-background: #ebeced;
--theme-toolbar-background: #f0f1f2;
--theme-selection-background: #4c9ed9;
--theme-splitter-color: #aaaaaa;
--theme-selection-color: #f5f7fa;
--theme-comment: #757873;
--theme-body-color: #18191a;
--theme-body-color-alt: #585959;
--theme-content-color1: #292e33;
--theme-highlight-green: #2cbb0f;
--theme-highlight-blue: #0088cc;
--theme-highlight-orange: #f13c00;
--theme-highlight-bluegrey: #0072ab;
}

View File

@ -6,12 +6,10 @@
DevToolsModules(
'dark-theme.css',
'dom-tree.css',
'general.css',
'headers-panel.css',
'json-panel.css',
'light-theme.css',
'main.css',
'read-only-prop.svg',
'reps.css',

View File

@ -35,6 +35,7 @@ DIRS += [
'storage',
'styleeditor',
'styleinspector',
'themes',
'tilt',
'webaudioeditor',
'webconsole',

View File

@ -130,7 +130,7 @@ var WaterfallView = Heritage.extend(DetailsSubview, {
* Called when MarkerDetails view emits an event to view source.
*/
_onViewSource: function (_, data) {
gToolbox.viewSourceInDebugger(data.file, data.line);
gToolbox.viewSourceInDebugger(data.url, data.line);
},
/**

View File

@ -20,6 +20,12 @@ body {
height: 100%;
}
#browser-style-checkbox {
/* Bug 1200073 - extra space before the browser styles checkbox so
they aren't squished together in a small window. */
-moz-margin-start: 5px;
}
#propertyContainer {
-moz-user-select: text;
overflow: auto;

View File

@ -0,0 +1,9 @@
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
DevToolsModules(
'variables.css',
)

View File

@ -441,7 +441,18 @@ exports.defineLazyGetter = function defineLazyGetter(aObject, aName, aLambda) {
};
// DEPRECATED: use DevToolsUtils.assert(condition, message) instead!
let haveLoggedDeprecationMessage = false;
exports.dbg_assert = function dbg_assert(cond, e) {
if (!haveLoggedDeprecationMessage) {
haveLoggedDeprecationMessage = true;
const deprecationMessage = "DevToolsUtils.dbg_assert is deprecated! Use DevToolsUtils.assert instead!\n"
+ Error().stack;
dump(deprecationMessage);
if (typeof console === "object" && console && console.warn) {
console.warn(deprecationMessage);
}
}
if (!cond) {
return e;
}

View File

@ -41,7 +41,7 @@ const CONTENT_SECURITY_POLICY_REPORT_ONLY_MSG = l10n.lookup("securityCSPROHeader
const NEXT_URI_HEADER = l10n.lookup("securityReferrerNextURI");
const CALCULATED_REFERRER_HEADER = l10n.lookup("securityReferrerCalculatedReferrer");
/* The official names from the W3C Referrer Policy Draft http://www.w3.org/TR/referrer-policy/ */
const REFERRER_POLICY_NAMES = [ "None When Downgrade", "None", "Origin Only", "Origin When Cross-Origin", "Unsafe URL" ];
const REFERRER_POLICY_NAMES = [ "None When Downgrade (default)", "None", "Origin Only", "Origin When Cross-Origin", "Unsafe URL" ];
exports.items = [
{
@ -201,35 +201,54 @@ exports.items = [
var sameDomainReferrer = "";
var otherDomainReferrer = "";
var downgradeReferrer = "";
var otherDowngradeReferrer = "";
var origin = pageURI.prePath;
switch (referrerPolicy) {
case Ci.nsIHttpChannel.REFERRER_POLICY_NO_REFERRER:
// sends no referrer
sameDomainReferrer = otherDomainReferrer = downgradeReferrer = "(no referrer)";
sameDomainReferrer
= otherDomainReferrer
= downgradeReferrer
= otherDowngradeReferrer
= "(no referrer)";
break;
case Ci.nsIHttpChannel.REFERRER_POLICY_ORIGIN:
// only sends the origin of the referring URL
sameDomainReferrer = otherDomainReferrer = downgradeReferrer = origin;
sameDomainReferrer
= otherDomainReferrer
= downgradeReferrer
= otherDowngradeReferrer
= origin;
break;
case Ci.nsIHttpChannel.REFERRER_POLICY_ORIGIN_WHEN_XORIGIN:
// same as default, but reduced to ORIGIN when cross-origin.
sameDomainReferrer = pageURI.spec;
otherDomainReferrer = origin;
downgradeReferrer = "(no referrer)";
otherDomainReferrer
= downgradeReferrer
= otherDowngradeReferrer
= origin;
break;
case Ci.nsIHttpChannel.REFERRER_POLICY_UNSAFE_URL:
// always sends the referrer, even on downgrade.
sameDomainReferrer = otherDomainReferrer = downgradeReferrer = pageURI.spec;
sameDomainReferrer
= otherDomainReferrer
= downgradeReferrer
= otherDowngradeReferrer
= pageURI.spec;
break;
case Ci.nsIHttpChannel.REFERRER_POLICY_NO_REFERRER_WHEN_DOWNGRADE:
// default state, doesn't send referrer from https->http
sameDomainReferrer = otherDomainReferrer = pageURI.spec;
downgradeReferrer = "(no referrer)";
downgradeReferrer = otherDowngradeReferrer = "(no referrer)";
break;
default:
// this is a new referrer policy which we do not know about
sameDomainReferrer = otherDomainReferrer = downgradeReferrer = "(unknown Referrer Policy)";
sameDomainReferrer
= otherDomainReferrer
= downgradeReferrer
= otherDowngradeReferrer
= "(unknown Referrer Policy)";
break;
}
@ -237,17 +256,39 @@ exports.items = [
var referrerUrls = [
// add the referrer uri 'referrer' we would send when visiting 'uri'
{uri: 'http://example.com/', referrer: otherDomainReferrer},
{uri: sameDomainUri, referrer: sameDomainReferrer}
{
uri: pageURI.scheme+'://example.com/',
referrer: otherDomainReferrer,
description: l10n.lookup('securityReferrerPolicyOtherDomain')},
{
uri: sameDomainUri,
referrer: sameDomainReferrer,
description: l10n.lookup('securityReferrerPolicySameDomain')}
];
if (pageURI.schemeIs('https')) {
// add the referrer we would send on downgrading http->https
referrerUrls.push({uri: "http://"+pageURI.hostPort+"/*", referrer: downgradeReferrer});
if (sameDomainReferrer != downgradeReferrer) {
referrerUrls.push({
uri: "http://"+pageURI.hostPort+"/*",
referrer: downgradeReferrer,
description:
l10n.lookup('securityReferrerPolicySameDomainDowngrade')
});
}
if (otherDomainReferrer != otherDowngradeReferrer) {
referrerUrls.push({
uri: "http://example.com/",
referrer: otherDowngradeReferrer,
description:
l10n.lookup('securityReferrerPolicyOtherDomainDowngrade')
});
}
}
return {
header: l10n.lookupFormat("securityReferrerPolicyReportHeader", [pageURI.spec]),
header: l10n.lookupFormat("securityReferrerPolicyReportHeader",
[pageURI.spec]),
policyName: REFERRER_POLICY_NAMES[referrerPolicy],
urls: referrerUrls
}
@ -264,10 +305,13 @@ exports.items = [
" <strong> ${rpi.header} </strong> <br />" +
" ${rpi.policyName} <br />" +
" <table class='gcli-referrer-policy-detail' cellspacing='10' >" +
" <tr><th> " + NEXT_URI_HEADER + " </th><th> " + CALCULATED_REFERRER_HEADER + " </th></tr>" +
" <tr>" +
" <th> " + NEXT_URI_HEADER + " </th>" +
" <th> " + CALCULATED_REFERRER_HEADER + " </th>" +
" </tr>" +
// iterate all policies
" <tr foreach='nextURI in ${rpi.urls}' >" +
" <td> ${nextURI.uri} </td>" +
" <td> ${nextURI.description} (e.g., ${nextURI.uri}) </td>" +
" <td> ${nextURI.referrer} </td>" +
" </tr>" +
" </table>" +

View File

@ -31,6 +31,9 @@ DEFINE_KEYNAME_WITH_SAME_NAME(Unidentified)
DEFINE_KEYNAME_INTERNAL(PrintableKey, "MozPrintableKey")
DEFINE_KEYNAME_INTERNAL(HomeScreen, "MozHomeScreen")
DEFINE_KEYNAME_INTERNAL(CameraFocusAdjust, "MozCameraFocusAdjust")
DEFINE_KEYNAME_INTERNAL(PhoneCall, "MozPhoneCall")
DEFINE_KEYNAME_INTERNAL(SoftLeft, "MozSoftLeft")
DEFINE_KEYNAME_INTERNAL(SoftRight, "MozSoftRight")
/******************************************************************************
* Modifier Keys

View File

@ -510,16 +510,8 @@ private:
content->GetIPCChannel()->Unblock();
}
nsTArray<IToplevelProtocol*> actors;
content->GetOpenedActors(actors);
for (size_t j = 0; j < actors.Length(); j++) {
IToplevelProtocol* actor = actors[j];
if (aBlock) {
actor->GetIPCChannel()->Block();
} else {
actor->GetIPCChannel()->Unblock();
}
}
// Other IPC channels do not perform the checks through Block() and
// Unblock().
}
};
#endif

View File

@ -16,7 +16,7 @@ skip-if = buildapp == 'b2g' || buildapp == 'mulet'
[test_NuwaProcessCreation.html]
skip-if = toolkit != 'gonk'
[test_NuwaProcessDeadlock.html]
skip-if = true # bug 1166923
skip-if = toolkit != 'gonk'
[test_child_docshell.html]
skip-if = toolkit == 'cocoa' # disabled due to hangs, see changeset 6852e7c47edf
[test_CrashService_crash.html]

View File

@ -14,6 +14,9 @@ Test if Nuwa process created successfully.
function runTest()
{
info("Shut down processes by disabling process prelaunch");
SpecialPowers.setBoolPref('dom.ipc.processPrelaunch.enabled', false);
info("Launch the Nuwa process");
let cpmm = SpecialPowers.Cc["@mozilla.org/childprocessmessagemanager;1"]
.getService(SpecialPowers.Ci.nsISyncMessageSender);
@ -22,12 +25,11 @@ function runTest()
receiveMessage: function receiveMessage(msg) {
msg = SpecialPowers.wrap(msg);
if (msg.name == 'TEST-ONLY:nuwa-ready') {
ok(true, "Got nuwa-ready");
is(seenNuwaReady, false, "Already received nuwa ready");
is(seenNuwaReady, false, "The Nuwa process is launched");
seenNuwaReady = true;
} else if (msg.name == 'TEST-ONLY:nuwa-add-new-process') {
ok(true, "Got nuwa-add-new-process");
is(seenNuwaReady, true, "Receive nuwa-add-new-process before nuwa-ready");
is(seenNuwaReady, true, "The preallocated process is launched from the Nuwa process");
shutdown();
}
}
@ -51,12 +53,11 @@ function runTest()
function setup()
{
info("Set up preferences for testing deadlock in the Nuwa process.");
info("Set up preferences for testing the Nuwa process.");
SimpleTest.waitForExplicitFinish();
SpecialPowers.pushPrefEnv({
'set': [
['dom.ipc.processPrelaunch.enabled', false],
['dom.ipc.preallocatedProcessManager.testMode', true],
['dom.ipc.processPrelaunch.testMode', true] // For testing deadlock
]

View File

@ -1563,6 +1563,38 @@ MediaManager::Get() {
prefs->AddObserver("media.navigator.video.default_fps", sSingleton, false);
prefs->AddObserver("media.navigator.video.default_minfps", sSingleton, false);
}
// Prepare async shutdown
nsCOMPtr<nsIAsyncShutdownClient> profileBeforeChange;
{
nsCOMPtr<nsIAsyncShutdownService> svc = services::GetAsyncShutdown();
MOZ_RELEASE_ASSERT(svc);
nsresult rv = svc->GetProfileBeforeChange(getter_AddRefs(profileBeforeChange));
MOZ_RELEASE_ASSERT(NS_SUCCEEDED(rv));
}
class Blocker : public media::ShutdownBlocker
{
public:
Blocker()
: media::ShutdownBlocker(NS_LITERAL_STRING(
"Media shutdown: blocking on media thread")) {}
NS_IMETHOD BlockShutdown(nsIAsyncShutdownClient* aProfileBeforeChange) override
{
MOZ_RELEASE_ASSERT(MediaManager::GetIfExists());
MediaManager::GetIfExists()->Shutdown();
return NS_OK;
}
};
sSingleton->mShutdownBlocker = new Blocker();
nsresult rv = profileBeforeChange->AddBlocker(sSingleton->mShutdownBlocker,
NS_LITERAL_STRING(__FILE__),
__LINE__,
NS_LITERAL_STRING("Media shutdown"));
MOZ_RELEASE_ASSERT(NS_SUCCEEDED(rv));
#ifdef MOZ_B2G
// Init MediaPermissionManager before sending out any permission requests.
(void) MediaPermissionManager::GetInstance();
@ -2533,23 +2565,17 @@ MediaManager::GetPrefs(nsIPrefBranch *aBranch, const char *aData)
GetPref(aBranch, "media.navigator.audio.fake_frequency", aData, &mPrefs.mFreq);
}
nsresult
MediaManager::Observe(nsISupports* aSubject, const char* aTopic,
const char16_t* aData)
void
MediaManager::Shutdown()
{
MOZ_ASSERT(NS_IsMainThread());
nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
if (!strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID)) {
nsCOMPtr<nsIPrefBranch> branch( do_QueryInterface(aSubject) );
if (branch) {
GetPrefs(branch,NS_ConvertUTF16toUTF8(aData).get());
LOG(("%s: %dx%d @%dfps (min %d)", __FUNCTION__,
mPrefs.mWidth, mPrefs.mHeight, mPrefs.mFPS, mPrefs.mMinFPS));
if (sInShutdown) {
return;
}
} else if (!strcmp(aTopic, "xpcom-will-shutdown")) {
sInShutdown = true;
nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
obs->RemoveObserver(this, "xpcom-will-shutdown");
obs->RemoveObserver(this, "last-pb-context-exited");
obs->RemoveObserver(this, "getUserMedia:privileged:allow");
@ -2628,13 +2654,41 @@ MediaManager::Observe(nsISupports* aSubject, const char* aTopic,
if (mMediaThread) {
mMediaThread->Stop();
}
// Remove async shutdown blocker
nsCOMPtr<nsIAsyncShutdownClient> profileBeforeChange;
{
nsCOMPtr<nsIAsyncShutdownService> svc = services::GetAsyncShutdown();
MOZ_RELEASE_ASSERT(svc);
nsresult rv = svc->GetProfileBeforeChange(getter_AddRefs(profileBeforeChange));
MOZ_RELEASE_ASSERT(NS_SUCCEEDED(rv));
}
profileBeforeChange->RemoveBlocker(sSingleton->mShutdownBlocker);
// we hold a ref to 'that' which is the same as sSingleton
sSingleton = nullptr;
return NS_OK;
})));
return NS_OK;
}
nsresult
MediaManager::Observe(nsISupports* aSubject, const char* aTopic,
const char16_t* aData)
{
MOZ_ASSERT(NS_IsMainThread());
if (!strcmp(aTopic, NS_PREFBRANCH_PREFCHANGE_TOPIC_ID)) {
nsCOMPtr<nsIPrefBranch> branch( do_QueryInterface(aSubject) );
if (branch) {
GetPrefs(branch,NS_ConvertUTF16toUTF8(aData).get());
LOG(("%s: %dx%d @%dfps (min %d)", __FUNCTION__,
mPrefs.mWidth, mPrefs.mHeight, mPrefs.mFPS, mPrefs.mMinFPS));
}
} else if (!strcmp(aTopic, "xpcom-will-shutdown")) {
Shutdown();
return NS_OK;
} else if (!strcmp(aTopic, "last-pb-context-exited")) {
// Clear memory of private-browsing-specific deviceIds. Fire and forget.
media::SanitizeOriginKeys(0, true);

View File

@ -515,6 +515,7 @@ private:
MediaManager();
~MediaManager() {}
void Shutdown();
void StopScreensharing(uint64_t aWindowID);
void IterateWindowListeners(nsPIDOMWindow *aWindow,
@ -530,6 +531,7 @@ private:
// Always exists
nsAutoPtr<base::Thread> mMediaThread;
nsCOMPtr<nsIAsyncShutdownBlocker> mShutdownBlocker;
Mutex mMutex;
// protected with mMutex:

View File

@ -9,5 +9,7 @@
namespace mozilla {
namespace media {
NS_IMPL_ISUPPORTS(ShutdownBlocker, nsIAsyncShutdownBlocker)
} // namespace media
} // namespace mozilla

View File

@ -9,6 +9,7 @@
#include "nsAutoPtr.h"
#include "nsThreadUtils.h"
#include "nsIAsyncShutdown.h"
namespace mozilla {
namespace media {
@ -357,6 +358,35 @@ private:
~Refcountable<ScopedDeletePtr<T>>() {}
};
/* media::ShutdownBlocker - Async shutdown helper.
*/
class ShutdownBlocker : public nsIAsyncShutdownBlocker
{
public:
ShutdownBlocker(const nsString& aName) : mName(aName) {}
NS_IMETHOD
BlockShutdown(nsIAsyncShutdownClient* aProfileBeforeChange) override = 0;
NS_IMETHOD GetName(nsAString& aName) override
{
aName = mName;
return NS_OK;
}
NS_IMETHOD GetState(nsIPropertyBag**) override
{
return NS_OK;
}
NS_DECL_ISUPPORTS
protected:
virtual ~ShutdownBlocker() {}
private:
const nsString mName;
};
} // namespace media
} // namespace mozilla

View File

@ -1884,27 +1884,6 @@ CompositorParent::Create(Transport* aTransport, ProcessId aOtherPid)
return cpcp.get();
}
IToplevelProtocol*
CompositorParent::CloneToplevel(const InfallibleTArray<mozilla::ipc::ProtocolFdMapping>& aFds,
base::ProcessHandle aPeerProcess,
mozilla::ipc::ProtocolCloneContext* aCtx)
{
for (unsigned int i = 0; i < aFds.Length(); i++) {
if (aFds[i].protocolId() == (unsigned)GetProtocolId()) {
Transport* transport = OpenDescriptor(aFds[i].fd(),
Transport::MODE_SERVER);
PCompositorParent* compositor = Create(transport, base::GetProcId(aPeerProcess));
compositor->CloneManagees(this, aCtx);
compositor->IToplevelProtocol::SetTransport(transport);
// The reference to the compositor thread is held in OnChannelConnected().
// We need to do this for cloned actors, too.
compositor->OnChannelConnected(base::GetProcId(aPeerProcess));
return compositor;
}
}
return nullptr;
}
static void
UpdateIndirectTree(uint64_t aId, Layer* aRoot, const TargetConfig& aTargetConfig)
{
@ -2335,6 +2314,9 @@ CrossProcessCompositorParent::CloneToplevel(const InfallibleTArray<mozilla::ipc:
CompositorParent::Create(transport, base::GetProcId(aPeerProcess));
compositor->CloneManagees(this, aCtx);
compositor->IToplevelProtocol::SetTransport(transport);
// The reference to the compositor thread is held in OnChannelConnected().
// We need to do this for cloned actors, too.
compositor->OnChannelConnected(base::GetProcId(aPeerProcess));
return compositor;
}
}

View File

@ -193,12 +193,6 @@ public:
bool aUseExternalSurfaceSize = false,
int aSurfaceWidth = -1, int aSurfaceHeight = -1);
// IToplevelProtocol::CloneToplevel()
virtual IToplevelProtocol*
CloneToplevel(const InfallibleTArray<mozilla::ipc::ProtocolFdMapping>& aFds,
base::ProcessHandle aPeerProcess,
mozilla::ipc::ProtocolCloneContext* aCtx) override;
virtual bool RecvGetFrameUniformity(FrameUniformityData* aOutData) override;
virtual bool RecvRequestOverfill() override;
virtual bool RecvWillStop() override;

View File

@ -177,10 +177,12 @@ class MessageChannel : HasResultCodes
#ifdef MOZ_NUWA_PROCESS
void Block() {
MOZ_ASSERT(mLink);
mLink->Block();
}
void Unblock() {
MOZ_ASSERT(mLink);
mLink->Unblock();
}
#endif

View File

@ -1289,15 +1289,6 @@ public class BrowserApp extends GeckoApp
return true;
}
if (itemId == R.id.site_settings) {
// This can be selected from either the browser menu or the contextmenu, depending on the size and version (v11+) of the phone.
GeckoAppShell.sendEventToGecko(GeckoEvent.createBroadcastEvent("Permissions:Get", null));
if (Versions.preHC) {
Telemetry.sendUIEvent(TelemetryContract.Event.ACTION, TelemetryContract.Method.CONTEXT_MENU, "site_settings");
}
return true;
}
if (itemId == R.id.paste) {
String text = Clipboard.getText();
if (!TextUtils.isEmpty(text)) {
@ -3174,7 +3165,6 @@ public class BrowserApp extends GeckoApp
}
MenuUtils.safeSetEnabled(aMenu, R.id.subscribe, false);
MenuUtils.safeSetEnabled(aMenu, R.id.add_search_engine, false);
MenuUtils.safeSetEnabled(aMenu, R.id.site_settings, false);
MenuUtils.safeSetEnabled(aMenu, R.id.add_to_launcher, false);
return true;
@ -3260,7 +3250,6 @@ public class BrowserApp extends GeckoApp
}
MenuUtils.safeSetEnabled(aMenu, R.id.subscribe, tab.hasFeeds());
MenuUtils.safeSetEnabled(aMenu, R.id.add_search_engine, tab.hasOpenSearch());
MenuUtils.safeSetEnabled(aMenu, R.id.site_settings, !isAboutHome(tab));
MenuUtils.safeSetEnabled(aMenu, R.id.add_to_launcher, !isAboutHome(tab));
// Action providers are available only ICS+.

View File

@ -6,7 +6,7 @@
<merge xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:gecko="http://schemas.android.com/apk/res-auto">
<ImageView
<ImageButton
android:id="@+id/favicon"
android:layout_width="@dimen/browser_toolbar_favicon_size"
android:layout_height="match_parent"

View File

@ -74,9 +74,6 @@
<item android:id="@+id/add_search_engine"
android:title="@string/contextmenu_add_search_engine"/>
<item android:id="@+id/site_settings"
android:title="@string/contextmenu_site_settings" />
<item android:id="@+id/add_to_launcher"
android:title="@string/contextmenu_add_to_launcher"/>

View File

@ -74,9 +74,6 @@
<item android:id="@+id/add_search_engine"
android:title="@string/contextmenu_add_search_engine"/>
<item android:id="@+id/site_settings"
android:title="@string/contextmenu_site_settings" />
<item android:id="@+id/add_to_launcher"
android:title="@string/contextmenu_add_to_launcher"/>

View File

@ -75,9 +75,6 @@
<item android:id="@+id/add_search_engine"
android:title="@string/contextmenu_add_search_engine"/>
<item android:id="@+id/site_settings"
android:title="@string/contextmenu_site_settings" />
<item android:id="@+id/add_to_launcher"
android:title="@string/contextmenu_add_to_launcher"/>

View File

@ -20,9 +20,6 @@
<item android:id="@+id/copyurl"
android:title="@string/contextmenu_copyurl"/>
<item android:id="@+id/site_settings"
android:title="@string/contextmenu_site_settings" />
<item android:id="@+id/add_to_launcher"
android:title="@string/contextmenu_add_to_launcher"/>

View File

@ -16,6 +16,8 @@ public class StringHelper {
public static String STATIC_ABOUT_HOME_URL = "about:home";
public final String OK;
public final String CANCEL;
public final String CLEAR;
// Note: DEFAULT_BOOKMARKS_TITLES.length == DEFAULT_BOOKMARKS_URLS.length
public final String[] DEFAULT_BOOKMARKS_TITLES;
@ -295,6 +297,8 @@ public class StringHelper {
private StringHelper(final Resources res) {
OK = res.getString(R.string.button_ok);
CANCEL = res.getString(R.string.button_cancel);
CLEAR = res.getString(R.string.button_clear);
// Note: DEFAULT_BOOKMARKS_TITLES.length == DEFAULT_BOOKMARKS_URLS.length
DEFAULT_BOOKMARKS_TITLES = new String[] {

View File

@ -10,7 +10,6 @@ import static org.mozilla.gecko.tests.helpers.AssertionHelper.fAssertNotNull;
import static org.mozilla.gecko.tests.helpers.AssertionHelper.fAssertTrue;
import org.mozilla.gecko.R;
import org.mozilla.gecko.tests.StringHelper;
import org.mozilla.gecko.tests.UITestContext;
import org.mozilla.gecko.tests.helpers.DeviceHelper;
import org.mozilla.gecko.tests.helpers.NavigationHelper;

View File

@ -8,6 +8,7 @@ import org.mozilla.gecko.R;
import com.jayway.android.robotium.solo.Condition;
import android.view.View;
import android.widget.ImageButton;
/**
* This patch tests the clear private data options:
@ -63,14 +64,12 @@ public class testClearPrivateData extends PixelTest {
}
public void clearSiteSettings() {
String shareStrings[] = {"Share your location with", "Share", "Don't share", "There are no settings to clear"};
String titleGeolocation = mStringHelper.ROBOCOP_GEOLOCATION_TITLE;
String url = getAbsoluteUrl(mStringHelper.ROBOCOP_GEOLOCATION_URL);
loadCheckDismiss(shareStrings[1], url, shareStrings[0]);
checkOption(shareStrings[1], "Clear");
checkOption(shareStrings[3], "Cancel");
loadCheckDismiss(shareStrings[2], url, shareStrings[0]);
checkOption(shareStrings[2], "Cancel");
loadCheckDismiss(mStringHelper.GEO_ALLOW, url, mStringHelper.GEO_MESSAGE);
checkOption(mStringHelper.GEO_ALLOW, mStringHelper.CLEAR);
loadCheckDismiss(mStringHelper.GEO_DENY, url, mStringHelper.GEO_MESSAGE);
checkOption(mStringHelper.GEO_DENY, mStringHelper.CANCEL);
checkDevice(titleGeolocation, url);
}
@ -80,7 +79,7 @@ public class testClearPrivateData extends PixelTest {
String loginUrl = getAbsoluteUrl(mStringHelper.ROBOCOP_LOGIN_01_URL);
loadCheckDismiss(passwordStrings[1], loginUrl, passwordStrings[0]);
checkOption(mStringHelper.CONTEXT_MENU_SITE_SETTINGS_SAVE_PASSWORD, "Clear");
checkOption(mStringHelper.CONTEXT_MENU_SITE_SETTINGS_SAVE_PASSWORD, mStringHelper.CLEAR);
loadCheckDismiss(passwordStrings[2], loginUrl, passwordStrings[0]);
checkDevice(title, getAbsoluteUrl(mStringHelper.ROBOCOP_BLANK_PAGE_01_URL));
}
@ -114,12 +113,23 @@ public class testClearPrivateData extends PixelTest {
mAsserter.ok(waitForText(mStringHelper.CONTEXT_MENU_ITEMS_IN_URL_BAR[2]), "Waiting for the pop-up to open", "Pop up was opened");
} else {
// Use the Page menu in 11+
selectMenuItem(mStringHelper.PAGE_LABEL);
mAsserter.ok(waitForText(mStringHelper.CONTEXT_MENU_ITEMS_IN_URL_BAR[2]), "Waiting for the submenu to open", "Submenu was opened");
openSiteSecurityDoorHanger();
mAsserter.ok(waitForText(mStringHelper.CONTEXT_MENU_ITEMS_IN_URL_BAR[2]), "Waiting for the submenu to open for " + option + " on " + button, "Submenu was opened");
}
mSolo.clickOnText(mStringHelper.CONTEXT_MENU_ITEMS_IN_URL_BAR[2]);
mAsserter.ok(waitForText(option), "Verify that the option: " + option + " is in the list", "The option is in the list. There are settings to clear");
mSolo.clickOnButton(button);
}
private void openSiteSecurityDoorHanger() {
mSolo.waitForCondition(new Condition() {
@Override
public boolean isSatisfied() {
ImageButton btn = (ImageButton) mSolo.getView(R.id.favicon);
mSolo.clickOnView(btn);
return true;
}
}, TEST_WAIT_MS);
}
}

View File

@ -25,7 +25,7 @@ using namespace mozilla;
using mozilla::dom::ContentChild;
NS_IMPL_ISUPPORTS(nsAlertsService, nsIAlertsService, nsIAlertsProgressListener)
NS_IMPL_ISUPPORTS(nsAlertsService, nsIAlertsService, nsIAlertsDoNotDisturb, nsIAlertsProgressListener)
nsAlertsService::nsAlertsService()
{
@ -150,6 +150,45 @@ NS_IMETHODIMP nsAlertsService::CloseAlert(const nsAString& aAlertName,
}
// nsIAlertsDoNotDisturb
NS_IMETHODIMP nsAlertsService::GetManualDoNotDisturb(bool* aRetVal)
{
#ifdef MOZ_WIDGET_ANDROID
return NS_ERROR_NOT_IMPLEMENTED;
#else
// Try the system notification service.
nsCOMPtr<nsIAlertsService> sysAlerts(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID));
if (sysAlerts) {
nsCOMPtr<nsIAlertsDoNotDisturb> alertsDND(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID));
if (!alertsDND) {
return NS_ERROR_NOT_IMPLEMENTED;
}
return alertsDND->GetManualDoNotDisturb(aRetVal);
}
return mXULAlerts.GetManualDoNotDisturb(aRetVal);
#endif
}
NS_IMETHODIMP nsAlertsService::SetManualDoNotDisturb(bool aDoNotDisturb)
{
#ifdef MOZ_WIDGET_ANDROID
return NS_ERROR_NOT_IMPLEMENTED;
#else
// Try the system notification service.
nsCOMPtr<nsIAlertsService> sysAlerts(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID));
if (sysAlerts) {
nsCOMPtr<nsIAlertsDoNotDisturb> alertsDND(do_GetService(NS_SYSTEMALERTSERVICE_CONTRACTID));
if (!alertsDND) {
return NS_ERROR_NOT_IMPLEMENTED;
}
return alertsDND->SetManualDoNotDisturb(aDoNotDisturb);
}
return mXULAlerts.SetManualDoNotDisturb(aDoNotDisturb);
#endif
}
NS_IMETHODIMP nsAlertsService::OnProgress(const nsAString & aAlertName,
int64_t aProgress,
int64_t aProgressMax,

View File

@ -28,10 +28,12 @@ typedef HRESULT (__stdcall *SHQueryUserNotificationStatePtr)(MOZ_QUERY_USER_NOTI
#endif // defined(XP_WIN)
class nsAlertsService : public nsIAlertsService,
public nsIAlertsDoNotDisturb,
public nsIAlertsProgressListener
{
public:
NS_DECL_NSIALERTSPROGRESSLISTENER
NS_DECL_NSIALERTSDONOTDISTURB
NS_DECL_NSIALERTSSERVICE
NS_DECL_ISUPPORTS

View File

@ -3,7 +3,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsISupports.idl"
#include "nsIObserver.idl"
@ -45,6 +44,8 @@ interface nsIAlertsService : nsISupports
* method:
* subject - null
* topic - "alertfinished" when the alert goes away
* "alertdisablecallback" when alerts should be disabled for the principal
* "alertsettingscallback" when alert settings should be opened
* "alertclickcallback" when the text is clicked
* "alertshow" when the alert is shown
* data - the value of the cookie parameter passed to showAlertNotification.
@ -76,6 +77,22 @@ interface nsIAlertsService : nsISupports
*/
void closeAlert([optional] in AString name,
[optional] in nsIPrincipal principal);
};
[scriptable, uuid(c5d63e3a-259d-45a8-b964-8377967cb4d2)]
interface nsIAlertsDoNotDisturb : nsISupports
{
/**
* Toggles a manual Do Not Disturb mode for the service to reduce the amount
* of disruption that alerts cause the user.
* This may mean only displaying them in a notification tray/center or not
* displaying them at all. If a system backend already supports a similar
* feature controlled by the user, enabling this may not have any impact on
* code to show an alert. e.g. on OS X, the system will take care not
* disrupting a user if we simply create a notification like usual.
*/
attribute bool manualDoNotDisturb;
};
[scriptable, uuid(df1bd4b0-3a8c-40e6-806a-203f38b0bd9f)]

View File

@ -48,6 +48,10 @@ nsXULAlerts::ShowAlertNotification(const nsAString& aImageUrl, const nsAString&
const nsAString& aLang, nsIPrincipal* aPrincipal,
bool aInPrivateBrowsing)
{
if (mDoNotDisturb) {
return NS_OK;
}
nsCOMPtr<nsIWindowWatcher> wwatch(do_GetService(NS_WINDOWWATCHER_CONTRACTID));
nsCOMPtr<nsISupportsArray> argsArray;
@ -161,6 +165,20 @@ nsXULAlerts::ShowAlertNotification(const nsAString& aImageUrl, const nsAString&
return NS_OK;
}
nsresult
nsXULAlerts::SetManualDoNotDisturb(bool aDoNotDisturb)
{
mDoNotDisturb = aDoNotDisturb;
return NS_OK;
}
nsresult
nsXULAlerts::GetManualDoNotDisturb(bool* aRetVal)
{
*aRetVal = mDoNotDisturb;
return NS_OK;
}
nsresult
nsXULAlerts::CloseAlert(const nsAString& aAlertName)
{

View File

@ -29,8 +29,13 @@ public:
bool aInPrivateBrowsing);
nsresult CloseAlert(const nsAString& aAlertName);
nsresult GetManualDoNotDisturb(bool* aRetVal);
nsresult SetManualDoNotDisturb(bool aDoNotDisturb);
protected:
nsInterfaceHashtable<nsStringHashKey, nsIDOMWindow> mNamedWindows;
bool mDoNotDisturb = false;
};
/**

View File

@ -159,6 +159,8 @@ function SignonSelected() {
var selections = GetTreeSelections(signonsTree);
if (selections.length) {
document.getElementById("removeSignon").removeAttribute("disabled");
} else {
document.getElementById("removeSignon").setAttribute("disabled", true);
}
}

View File

@ -6,13 +6,6 @@
USE_RCS_MK := 1
include $(topsrcdir)/config/makefiles/rcs.mk
ifdef MOZILLA_OFFICIAL
MOZ_HISTOGRAMS_VERSION ?= $(call getSourceRepo)/rev/$(firstword $(shell hg -R $(topsrcdir) parent --template='{node|short}\n' 2>/dev/null))
ifdef MOZ_HISTOGRAMS_VERSION
DEFINES += -DHISTOGRAMS_FILE_VERSION='$(MOZ_HISTOGRAMS_VERSION)'
endif
endif
INSTALL_TARGETS += histoenums
histoenums_FILES := TelemetryHistogramEnums.h
histoenums_DEST = $(DIST)/include/mozilla

View File

@ -47,10 +47,6 @@ const ENVIRONMENT_CHANGE_LISTENER = "TelemetrySession::onEnvironmentChange";
const MS_IN_ONE_HOUR = 60 * 60 * 1000;
const MIN_SUBSESSION_LENGTH_MS = Preferences.get("toolkit.telemetry.minSubsessionLength", 10 * 60) * 1000;
// This is the HG changeset of the Histogram.json file, used to associate
// submitted ping data with its histogram definition (bug 832007)
#expand const HISTOGRAMS_FILE_VERSION = "__HISTOGRAMS_FILE_VERSION__";
const LOGGER_NAME = "Toolkit.Telemetry";
const LOGGER_PREFIX = "TelemetrySession" + (Utils.isContentProcess ? "#content::" : "::");
@ -1044,7 +1040,7 @@ var Impl = {
let ret = {
reason: reason,
revision: HISTOGRAMS_FILE_VERSION,
revision: AppConstants.SOURCE_REVISION_URL,
asyncPluginInit: Preferences.get(PREF_ASYNC_PLUGIN_INIT, false),
// Date.getTimezoneOffset() unintuitively returns negative values if we are ahead of

View File

@ -36,6 +36,7 @@ EXTRA_JS_MODULES += [
'TelemetryLog.jsm',
'TelemetryReportingPolicy.jsm',
'TelemetrySend.jsm',
'TelemetrySession.jsm',
'TelemetryStopwatch.jsm',
'TelemetryStorage.jsm',
'TelemetryUtils.jsm',
@ -43,10 +44,6 @@ EXTRA_JS_MODULES += [
'UITelemetry.jsm',
]
EXTRA_PP_JS_MODULES += [
'TelemetrySession.jsm',
]
TESTING_JS_MODULES += [
'tests/unit/TelemetryArchiveTesting.jsm',
]

View File

@ -1604,6 +1604,10 @@ securityReferrerNextURI=When Visiting
securityReferrerCalculatedReferrer=Referrer Will Be
# LOCALIZATION NOTE: %1$S is the current page URI
securityReferrerPolicyReportHeader=Referrer Policy for %1$S
securityReferrerPolicyOtherDomain=Other Origin
securityReferrerPolicyOtherDomainDowngrade=Other Origin HTTP
securityReferrerPolicySameDomain=Same Origin
securityReferrerPolicySameDomainDowngrade=Same Host HTTP
# LOCALIZATION NOTE (rulersDesc) A very short description of the
# 'rulers' command. See rulersManual for a fuller description of what

View File

@ -223,5 +223,10 @@ this.AppConstants = Object.freeze({
#else
false,
#endif
DEBUG_JS_MODULES: "@DEBUG_JS_MODULES@"
DEBUG_JS_MODULES: "@DEBUG_JS_MODULES@",
// URL to the hg revision this was built from (e.g.
// "https://hg.mozilla.org/mozilla-central/rev/6256ec9113c1")
// On unofficial builds, this is an empty string.
SOURCE_REVISION_URL: "@SOURCE_REV_URL@"
});

View File

@ -107,7 +107,8 @@ for var in ('ANDROID_PACKAGE_NAME',
'MOZ_WIDGET_TOOLKIT',
'DLL_PREFIX',
'DLL_SUFFIX',
'DEBUG_JS_MODULES'):
'DEBUG_JS_MODULES',
'SOURCE_REV_URL'):
DEFINES[var] = CONFIG[var]
for var in ('MOZ_TOOLKIT_SEARCH',

View File

@ -1305,6 +1305,15 @@ KEY_MAP_ANDROID (HomeScreen, AKEYCODE_HOME)
KEY_MAP_QT (CameraFocusAdjust, Qt::Key_CameraFocus)
KEY_MAP_ANDROID (CameraFocusAdjust, AKEYCODE_FOCUS)
// PhoneCall
KEY_MAP_ANDROID (PhoneCall, AKEYCODE_CALL)
// SoftLeft
KEY_MAP_ANDROID (SoftLeft, AKEYCODE_SOFT_LEFT)
// SoftRight
KEY_MAP_ANDROID (SoftRight, AKEYCODE_SOFT_RIGHT)
#undef KEY_MAP_WIN
#undef KEY_MAP_WIN_JPN
#undef KEY_MAP_WIN_KOR

View File

@ -1495,9 +1495,6 @@ ConvertAndroidKeyCodeToKeyNameIndex(AndroidGeckoEvent& aAndroidGeckoEvent)
case AKEYCODE_RO: // Japanese Ro key
return KEY_NAME_INDEX_USE_STRING;
case AKEYCODE_SOFT_LEFT:
case AKEYCODE_SOFT_RIGHT:
case AKEYCODE_CALL:
case AKEYCODE_ENDCALL:
case AKEYCODE_NUM: // XXX Not sure
case AKEYCODE_HEADSETHOOK:

View File

@ -430,7 +430,11 @@ TimerThread::Run()
bool forceRunThisTimer = forceRunNextTimer;
forceRunNextTimer = false;
if (mSleeping) {
if (mSleeping
#ifdef MOZ_NUWA_PROCESS
|| IsNuwaProcess() // Don't fire timers or deadlock will result.
#endif
) {
// Sleep for 0.1 seconds while not firing timers.
uint32_t milliseconds = 100;
if (ChaosMode::isActive(ChaosFeature::TimerScheduling)) {