summaryrefslogtreecommitdiffstats
path: root/toolkit/components/webextensions/test/xpcshell/head_sync.js
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-03-06 12:30:20 +0100
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-03-06 12:30:20 +0100
commite25ad543952b5afc13181aaebef9c5951fc27be0 (patch)
tree456a1359b3e5f810319edd423dd5cc5a1e22ada5 /toolkit/components/webextensions/test/xpcshell/head_sync.js
parent74533a843277c3687c749989ed1522354d1054d2 (diff)
parent5dba1ebe8498286762873fff0016f35f3e14d2d5 (diff)
downloadUXP-2019.03.08.tar
UXP-2019.03.08.tar.gz
UXP-2019.03.08.tar.lz
UXP-2019.03.08.tar.xz
UXP-2019.03.08.zip
Merge branch 'master' into Basilisk-releasev2019.03.08
Diffstat (limited to 'toolkit/components/webextensions/test/xpcshell/head_sync.js')
-rw-r--r--toolkit/components/webextensions/test/xpcshell/head_sync.js67
1 files changed, 0 insertions, 67 deletions
diff --git a/toolkit/components/webextensions/test/xpcshell/head_sync.js b/toolkit/components/webextensions/test/xpcshell/head_sync.js
deleted file mode 100644
index 9b66b78e7..000000000
--- a/toolkit/components/webextensions/test/xpcshell/head_sync.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/* 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/. */
-
-"use strict";
-
-/* exported withSyncContext */
-
-Components.utils.import("resource://gre/modules/Services.jsm", this);
-Components.utils.import("resource://gre/modules/ExtensionCommon.jsm", this);
-
-var {
- BaseContext,
-} = ExtensionCommon;
-
-class Context extends BaseContext {
- constructor(principal) {
- super();
- Object.defineProperty(this, "principal", {
- value: principal,
- configurable: true,
- });
- this.sandbox = Components.utils.Sandbox(principal, {wantXrays: false});
- this.extension = {id: "test@web.extension"};
- }
-
- get cloneScope() {
- return this.sandbox;
- }
-}
-
-/**
- * Call the given function with a newly-constructed context.
- * Unload the context on the way out.
- *
- * @param {function} f the function to call
- */
-function* withContext(f) {
- const ssm = Services.scriptSecurityManager;
- const PRINCIPAL1 = ssm.createCodebasePrincipalFromOrigin("http://www.example.org");
- const context = new Context(PRINCIPAL1);
- try {
- yield* f(context);
- } finally {
- yield context.unload();
- }
-}
-
-/**
- * Like withContext(), but also turn on the "storage.sync" pref for
- * the duration of the function.
- * Calls to this function can be replaced with calls to withContext
- * once the pref becomes on by default.
- *
- * @param {function} f the function to call
- */
-function* withSyncContext(f) {
- const STORAGE_SYNC_PREF = "webextensions.storage.sync.enabled";
- let prefs = Services.prefs;
-
- try {
- prefs.setBoolPref(STORAGE_SYNC_PREF, true);
- yield* withContext(f);
- } finally {
- prefs.clearUserPref(STORAGE_SYNC_PREF);
- }
-}