| Index: chrome/browser/chrome_browser_main.cc
|
| diff --git a/chrome/browser/chrome_browser_main.cc b/chrome/browser/chrome_browser_main.cc
|
| index af8f4bc474373ec36f79ca75cb94b11032151cec..65cbf261fe71ac6841fde083a4c2ea62daeb87b2 100644
|
| --- a/chrome/browser/chrome_browser_main.cc
|
| +++ b/chrome/browser/chrome_browser_main.cc
|
| @@ -69,6 +69,7 @@
|
| #include "chrome/browser/policy/policy_service.h"
|
| #include "chrome/browser/prefs/chrome_pref_service_factory.h"
|
| #include "chrome/browser/prefs/command_line_pref_store.h"
|
| +#include "chrome/browser/prefs/pref_registry_simple.h"
|
| #include "chrome/browser/prefs/pref_service.h"
|
| #include "chrome/browser/prefs/pref_value_store.h"
|
| #include "chrome/browser/prefs/scoped_user_pref_update.h"
|
| @@ -232,27 +233,10 @@ PrefService* InitializeLocalState(
|
| bool local_state_file_exists = file_util::PathExists(local_state_path);
|
|
|
| // Load local state. This includes the application locale so we know which
|
| - // locale dll to load.
|
| - PrefServiceSimple* local_state = g_browser_process->local_state();
|
| + // locale dll to load. This also causes local state prefs to be registered.
|
| + PrefService* local_state = g_browser_process->local_state();
|
| DCHECK(local_state);
|
|
|
| - // TODO(brettw,*): this comment about ResourceBundle was here since
|
| - // initial commit. This comment seems unrelated, bit-rotten and
|
| - // a candidate for removal.
|
| - // Initialize ResourceBundle which handles files loaded from external
|
| - // sources. This has to be done before uninstall code path and before prefs
|
| - // are registered.
|
| - local_state->RegisterStringPref(prefs::kApplicationLocale, std::string());
|
| -#if defined(OS_CHROMEOS)
|
| - local_state->RegisterStringPref(prefs::kOwnerLocale, std::string());
|
| - local_state->RegisterStringPref(prefs::kHardwareKeyboardLayout,
|
| - std::string());
|
| -#endif // defined(OS_CHROMEOS)
|
| -#if !defined(OS_CHROMEOS)
|
| - local_state->RegisterBooleanPref(prefs::kMetricsReportingEnabled,
|
| - GoogleUpdateSettings::GetCollectStatsConsent());
|
| -#endif // !defined(OS_CHROMEOS)
|
| -
|
| if (is_first_run) {
|
| #if defined(OS_WIN)
|
| // During first run we read the google_update registry key to find what
|
| @@ -277,19 +261,23 @@ PrefService* InitializeLocalState(
|
| // inherit and reset the user's setting.
|
| //
|
| // TODO(mnissler): We should probably just instantiate a
|
| - // JSONPrefStore here instead of an entire PrefService.
|
| + // JSONPrefStore here instead of an entire PrefService. Once this is
|
| + // addressed, the call to browser_prefs::RegisterLocalState can move
|
| + // to chrome_prefs::CreateLocalState.
|
| if (!local_state_file_exists &&
|
| parsed_command_line.HasSwitch(switches::kParentProfile)) {
|
| FilePath parent_profile =
|
| parsed_command_line.GetSwitchValuePath(switches::kParentProfile);
|
| - scoped_ptr<PrefServiceSimple> parent_local_state(
|
| + scoped_refptr<PrefRegistrySimple> registry = new PrefRegistrySimple();
|
| + scoped_ptr<PrefService> parent_local_state(
|
| chrome_prefs::CreateLocalState(
|
| parent_profile,
|
| local_state_task_runner,
|
| g_browser_process->policy_service(),
|
| - NULL, false));
|
| - parent_local_state->RegisterStringPref(prefs::kApplicationLocale,
|
| - std::string());
|
| + NULL,
|
| + registry,
|
| + false));
|
| + registry->RegisterStringPref(prefs::kApplicationLocale, std::string());
|
| // Right now, we only inherit the locale setting from the parent profile.
|
| local_state->SetString(
|
| prefs::kApplicationLocale,
|
|
|