Bug 1714112: Add new Fission decision value for phased rollout enablement. r=nika,fluent-reviewers,flod

This should be less confusing to users, and makes it easier to triage
about:support data.

Differential Revision: https://phabricator.services.mozilla.com/D118416
This commit is contained in:
Kris Maglione 2021-06-22 17:28:34 +00:00
Родитель 142c430968
Коммит cd43e30d8b
4 изменённых файлов: 16 добавлений и 2 удалений

Просмотреть файл

@ -149,6 +149,7 @@ var snapshotFormatters = {
enabledByUserPref: "fission-status-enabled-by-user-pref",
disabledByUserPref: "fission-status-disabled-by-user-pref",
disabledByE10sOther: "fission-status-disabled-by-e10s-other",
enabledByRollout: "fission-status-enabled-by-rollout",
};
let statusTextId = STATUS_STRINGS[data.fissionDecisionStatus];

Просмотреть файл

@ -378,6 +378,7 @@ fission-status-disabled-by-default = Disabled by default
fission-status-enabled-by-user-pref = Enabled by user
fission-status-disabled-by-user-pref = Disabled by user
fission-status-disabled-by-e10s-other = E10s disabled
fission-status-enabled-by-rollout = Enabled by phased rollout
async-pan-zoom = Asynchronous Pan/Zoom
apz-none = none

Просмотреть файл

@ -585,7 +585,8 @@ bool BrowserTabsRemoteAutostart() {
bool FissionExperimentEnrolled() {
MOZ_ASSERT(XRE_IsParentProcess());
return gFissionExperimentStatus == nsIXULRuntime::eExperimentStatusControl ||
gFissionExperimentStatus == nsIXULRuntime::eExperimentStatusTreatment;
gFissionExperimentStatus == nsIXULRuntime::eExperimentStatusTreatment ||
gFissionExperimentStatus == nsIXULRuntime::eExperimentStatusRollout;
}
} // namespace mozilla
@ -683,7 +684,8 @@ static void EnsureFissionAutostartInitialized() {
// enrollment status.
if (FissionExperimentEnrolled()) {
bool isTreatment =
gFissionExperimentStatus == nsIXULRuntime::eExperimentStatusTreatment;
gFissionExperimentStatus == nsIXULRuntime::eExperimentStatusTreatment ||
gFissionExperimentStatus == nsIXULRuntime::eExperimentStatusRollout;
Preferences::SetBool(kPrefFissionAutostart, isTreatment,
PrefValueKind::Default);
}
@ -710,6 +712,9 @@ static void EnsureFissionAutostartInitialized() {
} else if (gFissionExperimentStatus ==
nsIXULRuntime::eExperimentStatusTreatment) {
gFissionDecisionStatus = nsIXULRuntime::eFissionExperimentTreatment;
} else if (gFissionExperimentStatus ==
nsIXULRuntime::eExperimentStatusRollout) {
gFissionDecisionStatus = nsIXULRuntime::eFissionEnabledByRollout;
} else if (Preferences::HasUserValue(kPrefFissionAutostart)) {
gFissionDecisionStatus = gFissionAutostart
? nsIXULRuntime::eFissionEnabledByUserPref
@ -1125,6 +1130,9 @@ nsXULAppInfo::GetFissionDecisionStatusString(nsACString& aResult) {
case eFissionDisabledByE10sOther:
aResult = "disabledByE10sOther";
break;
case eFissionEnabledByRollout:
aResult = "enabledByRollout";
break;
default:
MOZ_ASSERT_UNREACHABLE("Unexpected enum value");
}

Просмотреть файл

@ -66,6 +66,8 @@ interface nsIXULRuntime : nsISupports
// The user was enrolled in the experiment, but became ineligible due to
// manually modifying a relevant preference.
eExperimentStatusDisqualified = 3,
// The user was selected for the phased Fission rollout.
eExperimentStatusRollout = 4,
eExperimentStatusCount,
};
@ -103,6 +105,8 @@ interface nsIXULRuntime : nsISupports
eFissionDisabledByUserPref = 9,
// Fission is disabled because e10s is disabled for some other reason.
eFissionDisabledByE10sOther = 10,
// Fission is enabled by a Normandy phased rollout.
eFissionEnabledByRollout = 11,
};
/**