mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-28 18:42:28 +01:00
Another stab at nuking bootstrap.js sandbox at shutdown. We'll see how this goes...
This commit is contained in:
9
common/bootstrap.js
vendored
9
common/bootstrap.js
vendored
@@ -1,4 +1,4 @@
|
||||
// Copyright (c) 2010-2011 by Kris Maglione <maglione.k@gmail.com>
|
||||
// Copyright (c) 2010-2014 by Kris Maglione <maglione.k@gmail.com>
|
||||
//
|
||||
// This work is licensed for reuse under an MIT license. Details are
|
||||
// given in the LICENSE.txt file included with this file.
|
||||
@@ -63,7 +63,7 @@ let resources = [];
|
||||
let getURI = null;
|
||||
|
||||
let JSMLoader = {
|
||||
SANDBOX: Cu.nukeSandbox && false,
|
||||
SANDBOX: Cu.nukeSandbox,
|
||||
|
||||
get addon() addon,
|
||||
|
||||
@@ -426,10 +426,11 @@ function shutdown(data, reason) {
|
||||
JSMLoader.atexit(strReason);
|
||||
JSMLoader.cleanup(strReason);
|
||||
|
||||
bootstrap_jsm.require = null;
|
||||
if (JSMLoader.SANDBOX)
|
||||
Cu.nukeSandbox(bootstrap);
|
||||
bootstrap_jsm.require = null;
|
||||
Cu.unload(BOOTSTRAP);
|
||||
else
|
||||
Cu.unload(BOOTSTRAP);
|
||||
bootstrap = null;
|
||||
bootstrap_jsm = null;
|
||||
|
||||
|
||||
@@ -313,7 +313,9 @@ function iterOwnProperties(obj) {
|
||||
|
||||
function deprecated(alternative, fn) {
|
||||
if (isObject(fn))
|
||||
return Class.Property(iter(fn).map(([k, v]) => [k, callable(v) ? deprecated(alternative, v) : v])
|
||||
return Class.Property(iter(fn).map(([k, v]) => [k,
|
||||
callable(v) ? deprecated(alternative, v)
|
||||
: v])
|
||||
.toObject());
|
||||
|
||||
let name,
|
||||
@@ -331,6 +333,8 @@ function deprecated(alternative, fn) {
|
||||
alternative);
|
||||
return func.apply(this, arguments);
|
||||
}
|
||||
if (func.name)
|
||||
deprecatedMethod.realName = func.name;
|
||||
|
||||
return callable(fn) ? deprecatedMethod : Class.Property({
|
||||
get: function () deprecatedMethod,
|
||||
|
||||
@@ -826,8 +826,10 @@ var JavaScript = Module("javascript", {
|
||||
|
||||
leave: function leave(params) {
|
||||
leave.superapply(this, arguments);
|
||||
if (!params.push)
|
||||
if (!params.push) {
|
||||
modes.delay(function () { modes.pop(); });
|
||||
Cu.nukeSandbox(this.context);
|
||||
}
|
||||
},
|
||||
|
||||
updatePrompt: function updatePrompt() {
|
||||
|
||||
Reference in New Issue
Block a user