summaryrefslogtreecommitdiffstats
path: root/browser/tools/mozscreenshots/head.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /browser/tools/mozscreenshots/head.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'browser/tools/mozscreenshots/head.js')
-rw-r--r--browser/tools/mozscreenshots/head.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/browser/tools/mozscreenshots/head.js b/browser/tools/mozscreenshots/head.js
new file mode 100644
index 000000000..c1702ab08
--- /dev/null
+++ b/browser/tools/mozscreenshots/head.js
@@ -0,0 +1,53 @@
+/* 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/. */
+
+/* exported TestRunner, shouldCapture */
+
+"use strict";
+
+const {AddonWatcher} = Cu.import("resource://gre/modules/AddonWatcher.jsm", {});
+const chromeRegistry = Cc["@mozilla.org/chrome/chrome-registry;1"].getService(Ci.nsIChromeRegistry);
+const env = Cc["@mozilla.org/process/environment;1"].getService(Ci.nsIEnvironment);
+const EXTENSION_DIR = "chrome://mochitests/content/extensions/mozscreenshots/browser/";
+
+let TestRunner;
+
+function* setup() {
+ requestLongerTimeout(10);
+
+ info("installing extension temporarily");
+ let chromeURL = Services.io.newURI(EXTENSION_DIR, null, null);
+ let dir = chromeRegistry.convertChromeURL(chromeURL).QueryInterface(Ci.nsIFileURL).file;
+ yield AddonManager.installTemporaryAddon(dir);
+
+ info("Checking for mozscreenshots extension");
+ return new Promise((resolve) => {
+ AddonManager.getAddonByID("mozscreenshots@mozilla.org", function(aAddon) {
+ isnot(aAddon, null, "The mozscreenshots extension should be installed");
+ AddonWatcher.ignoreAddonPermanently(aAddon.id);
+ TestRunner = Cu.import("chrome://mozscreenshots/content/TestRunner.jsm", {}).TestRunner;
+ resolve();
+ });
+ });
+}
+
+function shouldCapture() {
+ // Try pushes only capture in browser_screenshots.js with MOZSCREENSHOTS_SETS.
+ if (env.get("MOZSCREENSHOTS_SETS")) {
+ ok(true, "MOZSCREENSHOTS_SETS was specified so only capture what was " +
+ "requested (in browser_screenshots.js)");
+ return false;
+ }
+
+ // Automation isn't able to schedule test jobs to only run on nightlies so we handle it here
+ // (see also: bug 1116275).
+ let capture = AppConstants.MOZ_UPDATE_CHANNEL == "nightly" ||
+ AppConstants.SOURCE_REVISION_URL == "";
+ if (!capture) {
+ ok(true, "Capturing is disabled for this MOZ_UPDATE_CHANNEL or REPO");
+ }
+ return capture;
+}
+
+add_task(setup);