@@ -246,6 +246,11 @@ extern void InstallSignalHandlers(const char* ProgramName);
246246#define FILE_INVALIDATE_CACHES NS_LITERAL_CSTRING (" .purgecaches" )
247247#define FILE_STARTUP_INCOMPLETE NS_LITERAL_STRING (" .startup-incomplete" )
248248
249+ #if defined(MOZ_BLOCK_PROFILE_DOWNGRADE) || defined(MOZ_LAUNCHER_PROCESS)
250+ static const char kPrefHealthReportUploadEnabled [] =
251+ " datareporting.healthreport.uploadEnabled" ;
252+ #endif // defined(MOZ_BLOCK_PROFILE_DOWNGRADE) || defined(MOZ_LAUNCHER_PROCESS)
253+
249254int gArgc ;
250255char ** gArgv ;
251256
@@ -1509,30 +1514,25 @@ static void RegisterApplicationRestartChanged(const char* aPref, void* aData) {
15091514
15101515# if defined(MOZ_LAUNCHER_PROCESS)
15111516
1512- static const char kShieldPrefName [] = " app.shield.optoutstudies.enabled" ;
1513-
15141517static void OnLauncherPrefChanged (const char * aPref, void * aData) {
1515- const bool kLauncherPrefDefaultValue =
1516- # if defined(NIGHTLY_BUILD) || (MOZ_UPDATE_CHANNEL == beta)
1517- true
1518- # else
1519- false
1520- # endif // defined(NIGHTLY_BUILD) || (MOZ_UPDATE_CHANNEL == beta)
1521- ;
1522- bool prefVal = Preferences::GetBool (kShieldPrefName , false ) &&
1523- Preferences::GetBool (PREF_WIN_LAUNCHER_PROCESS_ENABLED,
1524- kLauncherPrefDefaultValue );
1518+ bool prefVal = Preferences::GetBool (PREF_WIN_LAUNCHER_PROCESS_ENABLED, true );
15251519
15261520 mozilla::LauncherRegistryInfo launcherRegInfo;
15271521 mozilla::LauncherVoidResult reflectResult =
15281522 launcherRegInfo.ReflectPrefToRegistry (prefVal);
15291523 MOZ_ASSERT (reflectResult.isOk ());
15301524}
15311525
1532- static void SetupLauncherProcessPref () {
1533- // In addition to the launcher pref itself, we also tie the launcher process
1534- // state to the SHIELD opt-out pref.
1526+ static void OnLauncherTelemetryPrefChanged (const char * aPref, void * aData) {
1527+ bool prefVal = Preferences::GetBool (kPrefHealthReportUploadEnabled , true );
1528+
1529+ mozilla::LauncherRegistryInfo launcherRegInfo;
1530+ mozilla::LauncherVoidResult reflectResult =
1531+ launcherRegInfo.ReflectTelemetryPrefToRegistry (prefVal);
1532+ MOZ_ASSERT (reflectResult.isOk ());
1533+ }
15351534
1535+ static void SetupLauncherProcessPref () {
15361536 if (gLauncherProcessState ) {
15371537 // We've already successfully run
15381538 return ;
@@ -1550,28 +1550,22 @@ static void SetupLauncherProcessPref() {
15501550 CrashReporter::Annotation::LauncherProcessState,
15511551 static_cast <uint32_t >(enabledState.unwrap ()));
15521552
1553- # if defined(NIGHTLY_BUILD) || (MOZ_UPDATE_CHANNEL == beta)
1554- // Reflect the pref states into the registry by calling
1555- // OnLauncherPrefChanged.
1556- OnLauncherPrefChanged (PREF_WIN_LAUNCHER_PROCESS_ENABLED, nullptr );
1557-
1558- // Now obtain the revised state of the launcher process for reflection
1559- // into prefs
1560- enabledState = launcherRegInfo.IsEnabled ();
1561- # endif // defined(NIGHTLY_BUILD) || (MOZ_UPDATE_CHANNEL == beta)
1562- }
1563-
1564- if (enabledState.isOk ()) {
15651553 // Reflect the launcher process registry state into user prefs
15661554 Preferences::SetBool (
15671555 PREF_WIN_LAUNCHER_PROCESS_ENABLED,
15681556 enabledState.unwrap () !=
15691557 mozilla::LauncherRegistryInfo::EnabledState::ForceDisabled);
15701558 }
15711559
1572- Preferences::RegisterCallback (&OnLauncherPrefChanged, kShieldPrefName );
1560+ mozilla::LauncherVoidResult reflectResult =
1561+ launcherRegInfo.ReflectTelemetryPrefToRegistry (
1562+ Preferences::GetBool (kPrefHealthReportUploadEnabled , true ));
1563+ MOZ_ASSERT (reflectResult.isOk ());
1564+
15731565 Preferences::RegisterCallback (&OnLauncherPrefChanged,
15741566 PREF_WIN_LAUNCHER_PROCESS_ENABLED);
1567+ Preferences::RegisterCallback (&OnLauncherTelemetryPrefChanged,
1568+ kPrefHealthReportUploadEnabled );
15751569}
15761570
15771571# endif // defined(MOZ_LAUNCHER_PROCESS)
@@ -2070,8 +2064,8 @@ static void SubmitDowngradeTelemetry(const nsCString& aLastVersion,
20702064 NS_ENSURE_TRUE_VOID (prefBranch);
20712065
20722066 bool enabled;
2073- nsresult rv = prefBranch->GetBoolPref (
2074- " datareporting.healthreport.uploadEnabled " , &enabled);
2067+ nsresult rv = prefBranch->GetBoolPref (kPrefHealthReportUploadEnabled ,
2068+ &enabled);
20752069 NS_ENSURE_SUCCESS_VOID (rv);
20762070 if (!enabled) {
20772071 return ;
0 commit comments