diff options
Diffstat (limited to 'browser/experiments/test/addons/experiment-racybranch')
-rw-r--r-- | browser/experiments/test/addons/experiment-racybranch/bootstrap.js | 35 | ||||
-rw-r--r-- | browser/experiments/test/addons/experiment-racybranch/install.rdf | 16 |
2 files changed, 51 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() { } diff --git a/browser/experiments/test/addons/experiment-racybranch/install.rdf b/browser/experiments/test/addons/experiment-racybranch/install.rdf new file mode 100644 index 000000000..cebaede56 --- /dev/null +++ b/browser/experiments/test/addons/experiment-racybranch/install.rdf @@ -0,0 +1,16 @@ +<?xml version="1.0"?>
+
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:em="http://www.mozilla.org/2004/em-rdf#">
+
+ <Description about="urn:mozilla:install-manifest">
+ <em:id>test-experiment-racybranch@tests.mozilla.org</em:id>
+ <em:version>1</em:version>
+ <em:type>128</em:type>
+
+ <!-- Front End MetaData -->
+ <em:name>Test experiment racybranch</em:name>
+ <em:description>An experiment that sets the experiment branch in a potentially racy way.</em:description>
+
+ </Description>
+</RDF>
|