mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 05:45:37 +00:00
Bug 953156 - Stop unregistering add-on chrome manifests at app shutdown; r=Unfocused
This commit is contained in:
parent
fbaa743e6a
commit
c636c83e50
@ -4291,7 +4291,7 @@ var XPIProvider = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
if (aMethod == "shutdown") {
|
if (aMethod == "shutdown" && aReason != BOOTSTRAP_REASONS.APP_SHUTDOWN) {
|
||||||
LOG("Removing manifest for " + aFile.path);
|
LOG("Removing manifest for " + aFile.path);
|
||||||
Components.manager.removeBootstrappedManifestLocation(aFile);
|
Components.manager.removeBootstrappedManifestLocation(aFile);
|
||||||
}
|
}
|
||||||
|
51
toolkit/mozapps/extensions/test/xpcshell/test_bug953156.js
Normal file
51
toolkit/mozapps/extensions/test/xpcshell/test_bug953156.js
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/* Any copyright is dedicated to the Public Domain.
|
||||||
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
||||||
|
*/
|
||||||
|
|
||||||
|
function run_test() {
|
||||||
|
do_test_pending();
|
||||||
|
createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1.9.2");
|
||||||
|
startupManager();
|
||||||
|
|
||||||
|
prepare_test({ }, [
|
||||||
|
"onNewInstall"
|
||||||
|
]);
|
||||||
|
|
||||||
|
AddonManager.getInstallForFile(do_get_addon("test_bug675371"), function(install) {
|
||||||
|
ensure_test_completed();
|
||||||
|
|
||||||
|
do_check_neq(install, null);
|
||||||
|
|
||||||
|
prepare_test({
|
||||||
|
"bug675371@tests.mozilla.org": [
|
||||||
|
["onInstalling", false],
|
||||||
|
"onInstalled"
|
||||||
|
]
|
||||||
|
}, [
|
||||||
|
"onInstallStarted",
|
||||||
|
"onInstallEnded"
|
||||||
|
], callback_soon(check_test));
|
||||||
|
install.install();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_test() {
|
||||||
|
AddonManager.getAddonByID("bug675371@tests.mozilla.org", do_exception_wrap(function(addon) {
|
||||||
|
do_check_neq(addon, null);
|
||||||
|
do_check_true(addon.isActive);
|
||||||
|
|
||||||
|
// Tests that chrome.manifest is registered when the addon is installed.
|
||||||
|
var target = { active: false };
|
||||||
|
Services.scriptloader.loadSubScript("chrome://bug675371/content/test.js", target);
|
||||||
|
do_check_true(target.active);
|
||||||
|
|
||||||
|
shutdownManager();
|
||||||
|
|
||||||
|
// Tests that chrome.manifest remains registered at app shutdown.
|
||||||
|
target.active = false;
|
||||||
|
Services.scriptloader.loadSubScript("chrome://bug675371/content/test.js", target);
|
||||||
|
do_check_true(target.active);
|
||||||
|
|
||||||
|
do_execute_soon(do_test_finished);
|
||||||
|
}));
|
||||||
|
}
|
@ -140,6 +140,7 @@ fail-if = os == "android"
|
|||||||
[test_bug740612.js]
|
[test_bug740612.js]
|
||||||
[test_bug753900.js]
|
[test_bug753900.js]
|
||||||
[test_bug757663.js]
|
[test_bug757663.js]
|
||||||
|
[test_bug953156.js]
|
||||||
[test_cacheflush.js]
|
[test_cacheflush.js]
|
||||||
[test_checkcompatibility.js]
|
[test_checkcompatibility.js]
|
||||||
[test_childprocess.js]
|
[test_childprocess.js]
|
||||||
|
Loading…
Reference in New Issue
Block a user