Chromium Code Reviews| Index: chrome/browser/first_run/first_run.cc |
| diff --git a/chrome/browser/first_run/first_run.cc b/chrome/browser/first_run/first_run.cc |
| index a13c299c3ac9743173c7146daf6fbc8d08dcc7da..d2b30dd9518b96f89fb8e671a58c3f530271e3ef 100644 |
| --- a/chrome/browser/first_run/first_run.cc |
| +++ b/chrome/browser/first_run/first_run.cc |
| @@ -5,6 +5,7 @@ |
| #include "chrome/browser/first_run/first_run.h" |
| #include <algorithm> |
| +#include <memory> |
| #include <utility> |
| #include "base/command_line.h" |
| @@ -69,6 +70,7 @@ |
| #include "extensions/browser/extension_system.h" |
| #include "extensions/common/one_shot_event.h" |
| #include "google_apis/gaia/gaia_auth_util.h" |
| +#include "rlz/features/features.h" |
| #include "ui/base/l10n/l10n_util.h" |
| #include "url/gurl.h" |
| @@ -494,9 +496,6 @@ void SetupMasterPrefsFromInstallPrefs( |
| ConvertStringVectorToGURLVector( |
| install_prefs.GetFirstRunTabs(), &out_prefs->new_tabs); |
| - install_prefs.GetInt(installer::master_preferences::kDistroPingDelay, |
| - &out_prefs->ping_delay); |
| - |
| bool value = false; |
| if (install_prefs.GetBool( |
| installer::master_preferences::kDistroImportSearchPref, &value)) { |
| @@ -619,14 +618,12 @@ FirstRunState DetermineFirstRunState(bool has_sentinel, |
| } // namespace internal |
| MasterPrefs::MasterPrefs() |
| - : ping_delay(0), |
| - homepage_defined(false), |
| + : homepage_defined(false), |
| do_import_items(0), |
| dont_import_items(0), |
| make_chrome_default_for_user(false), |
| suppress_first_run_default_browser_prompt(false), |
| - welcome_page_on_os_upgrade_enabled(true) { |
| -} |
| + welcome_page_on_os_upgrade_enabled(true) {} |
| MasterPrefs::~MasterPrefs() {} |
| @@ -660,14 +657,10 @@ void CreateSentinelIfNeeded() { |
| internal::CreateSentinel(); |
| } |
| -std::string GetPingDelayPrefName() { |
| - return base::StringPrintf("%s.%s", |
| - installer::master_preferences::kDistroDict, |
| - installer::master_preferences::kDistroPingDelay); |
| -} |
| - |
| void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry) { |
| - registry->RegisterIntegerPref(GetPingDelayPrefName().c_str(), 0); |
| +#if BUILDFLAG(ENABLE_RLZ) |
| + registry->RegisterIntegerPref(prefs::kRlzPingDelay, 90); |
|
grt (UTC plus 2)
2017/02/24 07:42:20
this doesn't feel like the right place. rlz isn't
grt (UTC plus 2)
2017/02/24 07:42:20
while 90 has been the default, should it really be
Roger Tawa OOO till Jul 10th
2017/02/24 16:02:17
See my other comment. I believe this is a bug tha
Roger Tawa OOO till Jul 10th
2017/02/24 16:02:17
Could be moved to c/b/rlz/chrome_rlz_tracker_deleg
gab
2017/02/28 19:54:45
Done.
gab
2017/02/28 19:54:45
I think it's intentionally tied to the default pro
|
| +#endif |
| } |
| bool SetShowFirstRunBubblePref(FirstRunBubbleOptions show_bubble_option) { |
| @@ -742,16 +735,21 @@ ProcessMasterPreferencesResult ProcessMasterPreferences( |
| std::unique_ptr<installer::MasterPreferences> install_prefs( |
| LoadMasterPrefs()); |
| - // Default value in case master preferences is missing or corrupt, or |
| - // ping_delay is missing. |
| - out_prefs->ping_delay = 90; |
| if (install_prefs.get()) { |
| if (!internal::ShowPostInstallEULAIfNeeded(install_prefs.get())) |
| return EULA_EXIT_NOW; |
| + std::unique_ptr<base::DictionaryValue> master_dictionary = |
| + install_prefs->master_dictionary().CreateDeepCopy(); |
| + // The distribution dictionary (and any prefs below it) are never registered |
| + // for use in Chrome's PrefService. Strip them from the master dictionary |
| + // before mapping it to prefs. |
| + master_dictionary->RemoveWithoutPathExpansion( |
| + installer::master_preferences::kDistroDict, nullptr); |
| + |
| if (!chrome_prefs::InitializePrefsFromMasterPrefs( |
| profiles::GetDefaultProfileDir(user_data_dir), |
| - install_prefs->master_dictionary())) { |
| + std::move(master_dictionary))) { |
| DLOG(ERROR) << "Failed to initialize from master_preferences."; |
| } |