summaryrefslogtreecommitdiffstats
path: root/browser/experiments/test/addons/experiment-racybranch/bootstrap.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/experiments/test/addons/experiment-racybranch/bootstrap.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/experiments/test/addons/experiment-racybranch/bootstrap.js')
-rw-r--r--browser/experiments/test/addons/experiment-racybranch/bootstrap.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/browser/experiments/test/addons/experiment-racybranch/bootstrap.js b/browser/experiments/test/addons/experiment-racybranch/bootstrap.js
new file mode 100644
index 000000000..e8278f50f
--- /dev/null
+++ b/browser/experiments/test/addons/experiment-racybranch/bootstrap.js
@@ -0,0 +1,35 @@
+/* exported startup, shutdown, install, uninstall */
+
+var {classes: Cc, interfaces: Ci, utils: Cu} = Components;
+
+Cu.import("resource:///modules/experiments/Experiments.jsm");
+
+var gStarted = false;
+
+function startup(data, reasonCode) {
+ if (gStarted) {
+ return;
+ }
+ gStarted = true;
+
+ // delay realstartup to trigger the race condition
+ Cc['@mozilla.org/thread-manager;1'].getService(Ci.nsIThreadManager)
+ .mainThread.dispatch(realstartup, 0);
+}
+
+function realstartup() {
+ let experiments = Experiments.instance();
+ let experiment = experiments._getActiveExperiment();
+ if (experiment.branch) {
+ Cu.reportError("Found pre-existing branch: " + experiment.branch);
+ return;
+ }
+
+ let branch = "racy-set";
+ experiments.setExperimentBranch(experiment.id, branch)
+ .then(null, Cu.reportError);
+}
+
+function shutdown() { }
+function install() { }
+function uninstall() { }