Bug 1743714 - Default to fission enabled in wpt, r=ahal

With this change, fission will be enabled by default, unless
--enable-fission or --setpref=fission.autostart=false is passed
on startup. We always set a fission setting, irrespective of
the browser defaults.

Differential Revision: https://phabricator.services.mozilla.com/D132769
This commit is contained in:
James Graham 2021-12-03 19:55:31 +00:00
parent cc5dbe9529
commit 4fd14f973d
2 changed files with 15 additions and 7 deletions

View File

@ -95,7 +95,7 @@ def browser_kwargs(logger, test_type, run_info_data, config, **kwargs):
"ca_certificate_path": config.ssl_config["ca_cert_path"],
"e10s": kwargs["gecko_e10s"],
"enable_webrender": kwargs["enable_webrender"],
"enable_fission": kwargs["enable_fission"],
"enable_fission": run_info_data["fission"],
"stackfix_dir": kwargs["stackfix_dir"],
"binary_args": kwargs["binary_args"],
"timeout_multiplier": get_timeout_multiplier(test_type,
@ -151,7 +151,7 @@ def executor_kwargs(logger, test_type, test_environment, run_info_data,
test_type,
kwargs["extra_prefs"],
kwargs["gecko_e10s"],
kwargs["enable_fission"],
run_info_data["fission"],
kwargs["browser_channel"],
kwargs["binary"],
kwargs["certutil_binary"],
@ -233,13 +233,18 @@ def run_info_extras(**kwargs):
pref_value = get_bool_pref_if_exists(pref)
return pref_value if pref_value is not None else False
# Default fission to on, unless we get --[no-]enable-fission or
# --set-pref fission.autostart=[true|false]
enable_fission = [item for item in [kwargs.get("enable_fission"),
get_bool_pref_if_exists("fission.autostart"),
True] if item is not None][0]
rv = {"e10s": kwargs["gecko_e10s"],
"wasm": kwargs.get("wasm", True),
"verify": kwargs["verify"],
"headless": kwargs.get("headless", False) or "MOZ_HEADLESS" in os.environ,
"fission": kwargs.get("enable_fission") or get_bool_pref("fission.autostart"),
"sessionHistoryInParent": (kwargs.get("enable_fission") or
get_bool_pref("fission.autostart") or
"fission": enable_fission,
"sessionHistoryInParent": (enable_fission or
get_bool_pref("fission.sessionHistoryInParent")),
"swgl": get_bool_pref("gfx.webrender.software")}
@ -709,6 +714,8 @@ class ProfileCreator:
if self.enable_fission:
profile.set_preferences({"fission.autostart": True})
else:
profile.set_preferences({"fission.autostart": False})
if self.test_type in ("reftest", "print-reftest"):
profile.set_preferences({"layout.interruptible-reflow.enabled": False})
@ -778,7 +785,7 @@ class FirefoxBrowser(Browser):
def __init__(self, logger, binary, prefs_root, test_type, extra_prefs=None, debug_info=None,
symbols_path=None, stackwalk_binary=None, certutil_binary=None,
ca_certificate_path=None, e10s=False, enable_webrender=False, enable_fission=False,
ca_certificate_path=None, e10s=False, enable_webrender=False, enable_fission=True,
stackfix_dir=None, binary_args=None, timeout_multiplier=None, leak_check=False,
asan=False, stylo_threads=1, chaos_mode_flags=None, config=None,
browser_channel="nightly", headless=None, preload_browser=False,

View File

@ -291,7 +291,8 @@ scheme host and port.""")
gecko_group.add_argument("--no-enable-webrender", dest="enable_webrender", action="store_false",
help="Disable the WebRender compositor in Gecko.")
gecko_group.add_argument("--enable-fission", dest="enable_fission", action="store_true", default=None,
help="Enable fission in Gecko (defaults to disabled).")
help="Enable fission in Gecko (defaults to enabled; "
"this option only exists for backward compatibility).")
gecko_group.add_argument("--no-enable-fission", dest="enable_fission", action="store_false",
help="Disable fission in Gecko.")
gecko_group.add_argument("--stackfix-dir", dest="stackfix_dir", action="store",