summaryrefslogtreecommitdiff
path: root/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/scriptish/userscript-sandbox.js
diff options
context:
space:
mode:
Diffstat (limited to 'data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/scriptish/userscript-sandbox.js')
-rw-r--r--data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/scriptish/userscript-sandbox.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/scriptish/userscript-sandbox.js b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/scriptish/userscript-sandbox.js
new file mode 100644
index 0000000..1c92066
--- /dev/null
+++ b/data/extensions/jid1-KtlZuoiikVfFew@jetpack/node_modules/pathfinder/lib/scriptish/userscript-sandbox.js
@@ -0,0 +1,24 @@
+'use strict';
+
+var { Cc, Ci, Cu } = require('chrome');
+var {GM_API} = require("./greasemonkey-api");
+
+exports.createSandbox = function createSandbox(safeWin, userScript, aURL) {
+ var script = userScript.source;
+ var sandbox = new Cu.Sandbox(safeWin);
+ sandbox.window = safeWin;
+ sandbox.document = sandbox.window.document;
+ sandbox.__proto__ = safeWin;
+ var api = new GM_API(userScript, aURL, null, safeWin, safeWin.wrappedJSObject);
+
+ for (var key in api) {
+ sandbox[key] = api[key];
+ }
+
+ return sandbox;
+};
+
+exports.evalInSandbox = function(code, sandbox, jsVersion) {
+ jsVersion = jsVersion || "1.8";
+ Cu.evalInSandbox("(function(){"+code+"})();", sandbox, jsVersion);
+}; \ No newline at end of file