Bug 1373707 - Enable e10s-multi for users with webextensions on Release. r=Felipe draft
authorBlake Kaplan <mrbkap@gmail.com>
Fri, 16 Jun 2017 10:28:29 -0700
changeset 595792 8b59c5211d30b3588aa511b45badc0e07bf7b010
parent 595682 58c5151bfd62de934b2286dbd664e69886270e28
child 633805 b489a202e0b0cdfc1cf2207e99d281774cff6eb9
push id64449
push userbmo:mrbkap@mozilla.com
push dateFri, 16 Jun 2017 21:27:14 +0000
reviewersFelipe
bugs1373707
milestone56.0a1
Bug 1373707 - Enable e10s-multi for users with webextensions on Release. r=Felipe MozReview-Commit-ID: 3enqdCkrtpF
browser/extensions/e10srollout/bootstrap.js
browser/extensions/e10srollout/install.rdf.in
--- a/browser/extensions/e10srollout/bootstrap.js
+++ b/browser/extensions/e10srollout/bootstrap.js
@@ -17,19 +17,26 @@ const TEST_THRESHOLD = {
   "release": 1.0,  // 100%
   "esr": 1.0,  // 100%
 };
 
 // If a user qualifies for the e10s-multi experiement, this is how many
 // content processes to use and whether to allow addons for the experiment.
 const MULTI_EXPERIMENT = {
   "beta": { buckets: { 1: .5, 4: 1, }, // 1 process: 50%, 4 processes: 50%
-            addons: true },
+            addonsDisableExperiment: false },
+
   "release": { buckets: { 1: .2, 4: 1 }, // 1 process: 20%, 4 processes: 80%
-               addons: false },
+
+               // When on the "release" channel, getAddonsDisqualifyForMulti
+               // will return true if any addon installed is not a web extension.
+               // Therefore, this returns true if and only if all addons
+               // installed are web extensions or if no addons are installed
+               // at all.
+               get addonsDisableExperiment() { return getAddonsDisqualifyForMulti(); } }
 };
 
 const ADDON_ROLLOUT_POLICY = {
   "beta": "50allmpc",
   "release": "50allmpc",
   "esr": "esrA", // WebExtensions and Addons with mpc=true
 };
 
@@ -168,17 +175,17 @@ function defineCohort() {
   //   (i.e. there's at least one addon installed) we stop here.
   // - We decided above whether this user qualifies for the experiment.
   // - If the user already opted into multi, then their prefs are already set
   //   correctly, we're done.
   // - If the user has addons that disqualify them for multi, leave them with
   //   the default number of content processes (1 on beta) but still in the
   //   test cohort.
   if (!(updateChannel in MULTI_EXPERIMENT) ||
-      (!MULTI_EXPERIMENT[updateChannel].addons && cohortPrefix) ||
+      MULTI_EXPERIMENT[updateChannel].addonsDisableExperiment ||
       !eligibleForMulti ||
       userOptedIn.multi ||
       disqualified) {
     Preferences.reset(PREF_E10S_PROCESSCOUNT + ".web");
     return;
   }
 
   // If we got here with a cohortPrefix, it must be "addons-set50allmpc-",
--- a/browser/extensions/e10srollout/install.rdf.in
+++ b/browser/extensions/e10srollout/install.rdf.in
@@ -5,17 +5,17 @@
 
 #filter substitution
 
 <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>e10srollout@mozilla.org</em:id>
-    <em:version>1.50</em:version>
+    <em:version>1.60</em:version>
     <em:type>2</em:type>
     <em:bootstrap>true</em:bootstrap>
     <em:multiprocessCompatible>true</em:multiprocessCompatible>
 
     <!-- Target Application this theme can install into,
         with minimum and maximum supported versions. -->
     <em:targetApplication>
       <Description>