Bug 1406212 - Fix the reftest harness's logic for enabling or disabling e10s. r=jmaher draft
authorBlake Kaplan <mrbkap@gmail.com>
Mon, 16 Oct 2017 14:01:01 -0700
changeset 682788 2d2dbf0706e660fdad4f69ecfb7db2e4ebd7b60a
parent 682787 a5bf4207a0ec5ebaf3af24df800bb26cc6e063a9
child 736431 477198e1369e5baa01a346e0929ba7b241fb36fe
push id85144
push userbmo:mrbkap@mozilla.com
push dateWed, 18 Oct 2017 18:39:48 +0000
Bug 1406212 - Fix the reftest harness's logic for enabling or disabling e10s. r=jmaher Right now, e10s defaults to "on" in Nightly via the default pref browser.tabs.remote.autostart.2=true. The reftest harness ignores that pref and attempts to enable it by setting browser.tabs.remote.autostart to true (as well as disabling the checks for non-mpc-compatible extensions). There's a bug, however, and we overwrite the value for .autostart by reading reftest-prefernces.js (which unconditionally sets .autostart to false). Therefore, the existing code works because it ignores the .autostart.2 pref and whether we enable e10s is entirely controlled by setting extensions.e10sBlocksEnabling (the reftest extension is not mpc-compatible). With this change, we unconditionally set .remote to the value that we want (and we trust that the only non-mpc-compatible extensions are specially vetted and part of our build system) so that things work as advertised on the box. MozReview-Commit-ID: Li5N4NP4PwD
--- a/layout/tools/reftest/reftest-preferences.js
+++ b/layout/tools/reftest/reftest-preferences.js
@@ -116,19 +116,16 @@ user_pref("browser.webapps.checkForUpdat
 user_pref("browser.newtabpage.directory.source", "data:application/json,{\"reftest\":1}");
 // Only allow add-ons from the profile and app and allow foreign
 // injection
 user_pref("extensions.enabledScopes", 5);
 user_pref("extensions.autoDisableScopes", 0);
 // Allow unsigned add-ons
 user_pref("xpinstall.signatures.required", false);
-// Don't use auto-enabled e10s
-user_pref("browser.tabs.remote.autostart", false);
 user_pref("startup.homepage_welcome_url", "");
 user_pref("startup.homepage_welcome_url.additional", "");
 user_pref("startup.homepage_override_url", "");
 user_pref("media.gmp-manager.url.override", "http://localhost/dummy-gmp-manager.xml");
 user_pref("media.gmp-manager.updateEnabled", false);
 // A fake bool pref for "@supports -moz-bool-pref" sanify test.
--- a/layout/tools/reftest/runreftest.py
+++ b/layout/tools/reftest/runreftest.py
@@ -294,19 +294,21 @@ class RefTest(object):
         prefs['reftest.focusFilterMode'] = options.focusFilterMode
         prefs['reftest.logLevel'] = options.log_tbpl_level or 'info'
         prefs['reftest.manifests'] = json.dumps(manifests)
         if startAfter not in (None, self.TEST_SEEN_INITIAL, self.TEST_SEEN_FINAL):
             self.log.info("Setting reftest.startAfter to %s" % startAfter)
             prefs['reftest.startAfter'] = startAfter
+        # Unconditionally update the e10s pref.
         if options.e10s:
             prefs['browser.tabs.remote.autostart'] = True
-            prefs['extensions.e10sBlocksEnabling'] = False
+        else:
+            prefs['browser.tabs.remote.autostart'] = False
         # Bug 1262954: For winXP + e10s disable acceleration
         if platform.system() in ("Windows", "Microsoft") and \
            '5.1' in platform.version() and options.e10s:
             prefs['layers.acceleration.disabled'] = True
         sandbox_whitelist_paths = options.sandboxReadWhitelist
         if (platform.system() == "Linux" or