author | Gijs Kruitbosch <gijskruitbosch@gmail.com> |
Thu, 09 May 2019 21:55:46 +0000 (2019-05-09) | |
changeset 473341 | d62e8172a66f2b3956997848b127f31b458e9e9d |
parent 473340 | 3d041b01d6f08fa48a130e02f631132da7d7c0fd |
child 473342 | 55b7de7850bebd08d85caeb719de711a32f71369 |
push id | 85167 |
push user | gijskruitbosch@gmail.com |
push date | Thu, 09 May 2019 22:27:25 +0000 (2019-05-09) |
treeherder | autoland@d62e8172a66f [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bholley, ahal |
bugs | 1548941 |
milestone | 68.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/build/valgrind/mach_commands.py +++ b/build/valgrind/mach_commands.py @@ -96,16 +96,17 @@ class MachCommands(MachCommandBase): locations=locations) firefox_args = [httpd.get_url()] env = os.environ.copy() env['G_SLICE'] = 'always-malloc' env['MOZ_CC_RUN_DURING_SHUTDOWN'] = '1' env['MOZ_CRASHREPORTER_NO_REPORT'] = '1' + env['MOZ_DISABLE_NONLOCAL_CONNECTIONS'] = '1' env['XPCOM_DEBUG_BREAK'] = 'warn' env.update(self.extra_environment_variables) outputHandler = OutputHandler(self.log) kp_kwargs = {'processOutputLine': [outputHandler]} valgrind = 'valgrind'
--- a/testing/gtest/rungtests.py +++ b/testing/gtest/rungtests.py @@ -91,16 +91,17 @@ class GTests(object): env["MOZ_XRE_DIR"] = self.xre_path env["MOZ_GMP_PATH"] = os.pathsep.join( os.path.join(self.xre_path, p, "1.0") for p in ('gmp-fake', 'gmp-fakeopenh264') ) env["XPCOM_DEBUG_BREAK"] = "stack-and-abort" env["MOZ_CRASHREPORTER_NO_REPORT"] = "1" env["MOZ_CRASHREPORTER"] = "1" + env["MOZ_DISABLE_NONLOCAL_CONNECTIONS"] = "1" env["MOZ_RUN_GTEST"] = "1" # Normally we run with GTest default output, override this to use the TBPL test format. env["MOZ_TBPL_PARSER"] = "1" if not mozinfo.has_sandbox: # Bug 1082193 - This is horrible. Our linux build boxes run CentOS 6, # which is too old to support sandboxing. Disable sandbox for gtests # on machines which don't support sandboxing until they can be
--- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp @@ -4902,65 +4902,72 @@ bool XRE_Win32kCallsAllowed() { default: return true; } } #endif // If you add anything to this enum, please update about:support to reflect it enum { - kE10sEnabledByUser = 0, + // kE10sEnabledByUser = 0, removed when ending non-e10s support kE10sEnabledByDefault = 1, kE10sDisabledByUser = 2, // kE10sDisabledInSafeMode = 3, was removed in bug 1172491. // kE10sDisabledForAccessibility = 4, // kE10sDisabledForMacGfx = 5, was removed in bug 1068674. // kE10sDisabledForBidi = 6, removed in bug 1309599 // kE10sDisabledForAddons = 7, removed in bug 1406212 kE10sForceDisabled = 8, // kE10sDisabledForXPAcceleration = 9, removed in bug 1296353 // kE10sDisabledForOperatingSystem = 10, removed due to xp-eol }; -const char* kForceEnableE10sPref = "browser.tabs.remote.force-enable"; -const char* kForceDisableE10sPref = "browser.tabs.remote.force-disable"; - namespace mozilla { bool BrowserTabsRemoteAutostart() { if (gBrowserTabsRemoteAutostartInitialized) { return gBrowserTabsRemoteAutostart; } gBrowserTabsRemoteAutostartInitialized = true; // If we're in the content process, we are running E10S. if (XRE_IsContentProcess()) { gBrowserTabsRemoteAutostart = true; return gBrowserTabsRemoteAutostart; } - bool optInPref = Preferences::GetBool("browser.tabs.remote.autostart", true); +#if defined(MOZILLA_OFFICIAL) && MOZ_BUILD_APP_IS_BROWSER + bool allowSingleProcessOutsideAutomation = false; +#else + bool allowSingleProcessOutsideAutomation = true; +#endif + int status = kE10sEnabledByDefault; - - if (optInPref) { - gBrowserTabsRemoteAutostart = true; + // We use "are non-local connections disabled" as a proxy for + // "are we running some kind of automated test". It would be nicer to use + // xpc::IsInAutomation(), but that depends on some prefs being set, which + // they are not in (at least) gtests (where we can't) and xpcshell. + // Long-term, hopefully we can make tests switch to environment variables + // to disable e10s and then we can get rid of this. + if (allowSingleProcessOutsideAutomation || + xpc::AreNonLocalConnectionsDisabled()) { + bool optInPref = + Preferences::GetBool("browser.tabs.remote.autostart", true); + + if (optInPref) { + gBrowserTabsRemoteAutostart = true; + } else { + status = kE10sDisabledByUser; + } } else { - status = kE10sDisabledByUser; - } - - // Uber override pref for manual testing purposes - if (Preferences::GetBool(kForceEnableE10sPref, false)) { gBrowserTabsRemoteAutostart = true; - status = kE10sEnabledByUser; } // Uber override pref for emergency blocking - if (gBrowserTabsRemoteAutostart && - (Preferences::GetBool(kForceDisableE10sPref, false) || - EnvHasValue("MOZ_FORCE_DISABLE_E10S"))) { + if (gBrowserTabsRemoteAutostart && EnvHasValue("MOZ_FORCE_DISABLE_E10S")) { gBrowserTabsRemoteAutostart = false; status = kE10sForceDisabled; } gBrowserTabsRemoteStatus = status; return gBrowserTabsRemoteAutostart; }