172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 53345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/browser/prefs/browser_prefs.h" 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 7731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "chrome/browser/about_flags.h" 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/autofill/autofill_manager.h" 9c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/background_contents_service.h" 103345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/browser/background_mode_manager.h" 11201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch#include "chrome/browser/background_page_tracker.h" 12c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/bookmarks/bookmark_utils.h" 13c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/browser_shutdown.h" 1421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "chrome/browser/content_settings/host_content_settings_map.h" 15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/custom_handlers/protocol_handler_registry.h" 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/debugger/devtools_manager.h" 173345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/browser/download/download_prefs.h" 18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/extensions/apps_promo.h" 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/extensions/extension_prefs.h" 2072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/extensions/extension_web_ui.h" 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/extensions/extensions_ui.h" 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/external_protocol_handler.h" 23c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/geolocation/geolocation_content_settings_map.h" 24c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/geolocation/geolocation_prefs.h" 253345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/browser/google/google_url_tracker.h" 26731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "chrome/browser/instant/instant_controller.h" 2772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/intranet_redirect_detector.h" 28c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/metrics/metrics_log.h" 29c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/metrics/metrics_service.h" 3072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/net/net_pref_observer.h" 31c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/net/predictor_api.h" 32ac1e49eb6695f711d72215fcdf9388548942a00dBen Murdoch#include "chrome/browser/net/pref_proxy_config_service.h" 33c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/notifications/desktop_notification_service.h" 3472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/notifications/notification_ui_manager.h" 35c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/page_info_model.h" 36c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/password_manager/password_manager.h" 37ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/policy/cloud_policy_subsystem.h" 383345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/browser/prefs/session_startup_pref.h" 3921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "chrome/browser/profiles/profile_impl.h" 40c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/renderer_host/web_cache_manager.h" 41c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/safe_browsing/safe_browsing_service.h" 42731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick#include "chrome/browser/search_engines/template_url_model.h" 43c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/search_engines/template_url_prepopulate_data.h" 44c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/ssl/ssl_manager.h" 453345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/browser/sync/signin_manager.h" 463345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/browser/tabs/pinned_tab_codec.h" 473345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick#include "chrome/browser/task_manager/task_manager.h" 48c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/translate/translate_prefs.h" 494a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "chrome/browser/ui/browser.h" 50dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/ui/search_engines/keyword_editor_controller.h" 51dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 52dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/ui/webui/flags_ui.h" 53dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/ui/webui/new_tab_ui.h" 54dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/ui/webui/plugins_ui.h" 55c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/upgrade_detector.h" 56ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/web_resource/promo_resource_service.h" 5772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/common/pref_names.h" 58dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "content/browser/host_zoom_map.h" 59ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "content/browser/renderer_host/browser_render_process_host.h" 60c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 61c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#if defined(TOOLKIT_VIEWS) // TODO(port): whittle this down as we port 6272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/views/browser_actions_container.h" 6372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/views/frame/browser_view.h" 64c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif 65c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 66c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#if defined(TOOLKIT_GTK) 6772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/ui/gtk/browser_window_gtk.h" 68c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif 69c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 70c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#if defined(OS_CHROMEOS) 7172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/chromeos/audio_mixer_alsa.h" 72ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/chromeos/customization_document.h" 73513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch#include "chrome/browser/chromeos/login/signed_settings_temp_storage.h" 74c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/chromeos/login/user_manager.h" 75c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/chromeos/login/wizard_controller.h" 76c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "chrome/browser/chromeos/preferences.h" 7772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "chrome/browser/chromeos/status/input_method_menu.h" 784a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch#include "chrome/browser/chromeos/user_cros_settings_provider.h" 79c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif 80c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 81c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochnamespace browser { 82c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 83c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid RegisterLocalState(PrefService* local_state) { 84c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Prefs in Local State 85ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen AppsPromo::RegisterPrefs(local_state); 86c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch Browser::RegisterPrefs(local_state); 8772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen FlagsUI::RegisterPrefs(local_state); 88c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch WebCacheManager::RegisterPrefs(local_state); 89c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ExternalProtocolHandler::RegisterPrefs(local_state); 90c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GoogleURLTracker::RegisterPrefs(local_state); 91c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch IntranetRedirectDetector::RegisterPrefs(local_state); 92c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch KeywordEditorController::RegisterPrefs(local_state); 93c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch MetricsLog::RegisterPrefs(local_state); 94c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch MetricsService::RegisterPrefs(local_state); 95ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen PromoResourceService::RegisterPrefs(local_state); 96c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SafeBrowsingService::RegisterPrefs(local_state); 97c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch browser_shutdown::RegisterPrefs(local_state); 98c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#if defined(TOOLKIT_VIEWS) 99c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch BrowserView::RegisterBrowserViewPrefs(local_state); 100c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif 101c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch UpgradeDetector::RegisterPrefs(local_state); 102c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch TaskManager::RegisterPrefs(local_state); 103c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch geolocation::RegisterPrefs(local_state); 104dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen AutofillManager::RegisterBrowserPrefs(local_state); 105ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen BackgroundModeManager::RegisterPrefs(local_state); 106201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch BackgroundPageTracker::RegisterPrefs(local_state); 1073f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen NotificationUIManager::RegisterPrefs(local_state); 108dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen PrefProxyConfigService::RegisterPrefs(local_state); 109ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen policy::CloudPolicySubsystem::RegisterPrefs(local_state); 110c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#if defined(OS_CHROMEOS) 11172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen chromeos::AudioMixerAlsa::RegisterPrefs(local_state); 112c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch chromeos::UserManager::RegisterPrefs(local_state); 1133345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick chromeos::UserCrosSettingsProvider::RegisterPrefs(local_state); 114c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch WizardController::RegisterPrefs(local_state); 11572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen chromeos::InputMethodMenu::RegisterPrefs(local_state); 116ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen chromeos::ServicesCustomizationDocument::RegisterPrefs(local_state); 117513209b27ff55e2841eac0e4120199c23acce758Ben Murdoch chromeos::SignedSettingsTempStorage::RegisterPrefs(local_state); 118c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif 119c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 120c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 121c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid RegisterUserPrefs(PrefService* user_prefs) { 122c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // User prefs 123ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen AppsPromo::RegisterUserPrefs(user_prefs); 124dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen AutofillManager::RegisterUserPrefs(user_prefs); 125c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch SessionStartupPref::RegisterUserPrefs(user_prefs); 126c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch Browser::RegisterUserPrefs(user_prefs); 127c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch PasswordManager::RegisterUserPrefs(user_prefs); 128c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch chrome_browser_net::RegisterUserPrefs(user_prefs); 1293345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick DownloadPrefs::RegisterUserPrefs(user_prefs); 130c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch bookmark_utils::RegisterUserPrefs(user_prefs); 131dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen TabContentsWrapper::RegisterUserPrefs(user_prefs); 132c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch TemplateURLPrepopulateData::RegisterUserPrefs(user_prefs); 13372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen ExtensionWebUI::RegisterUserPrefs(user_prefs); 134c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ExtensionsUI::RegisterUserPrefs(user_prefs); 135c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch NewTabUI::RegisterUserPrefs(user_prefs); 136c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch PluginsUI::RegisterUserPrefs(user_prefs); 137731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick ProfileImpl::RegisterUserPrefs(user_prefs); 138ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen PromoResourceService::RegisterUserPrefs(user_prefs); 139c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch HostContentSettingsMap::RegisterUserPrefs(user_prefs); 140c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch HostZoomMap::RegisterUserPrefs(user_prefs); 141c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch DevToolsManager::RegisterUserPrefs(user_prefs); 142c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch PinnedTabCodec::RegisterUserPrefs(user_prefs); 143c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch ExtensionPrefs::RegisterUserPrefs(user_prefs); 144c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch GeolocationContentSettingsMap::RegisterUserPrefs(user_prefs); 145c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch TranslatePrefs::RegisterUserPrefs(user_prefs); 146c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch DesktopNotificationService::RegisterUserPrefs(user_prefs); 147dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen PrefProxyConfigService::RegisterPrefs(user_prefs); 148c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#if defined(TOOLKIT_VIEWS) 149c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch BrowserActionsContainer::RegisterUserPrefs(user_prefs); 150c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#elif defined(TOOLKIT_GTK) 151c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch BrowserWindowGtk::RegisterUserPrefs(user_prefs); 152c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif 153c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#if defined(OS_CHROMEOS) 154c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch chromeos::Preferences::RegisterUserPrefs(user_prefs); 155c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#endif 156c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch BackgroundContentsService::RegisterUserPrefs(user_prefs); 1573345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick SigninManager::RegisterUserPrefs(user_prefs); 158731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick TemplateURLModel::RegisterUserPrefs(user_prefs); 159731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick InstantController::RegisterUserPrefs(user_prefs); 160731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick NetPrefObserver::RegisterPrefs(user_prefs); 161ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen policy::CloudPolicySubsystem::RegisterPrefs(user_prefs); 162dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen ProtocolHandlerRegistry::RegisterPrefs(user_prefs); 16372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen} 16472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 16572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsenvoid MigrateBrowserPrefs(PrefService* user_prefs, PrefService* local_state) { 16672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // Copy pref values which have been migrated to user_prefs from local_state, 16772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // or remove them from local_state outright, if copying is not required. 16872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen int current_version = 16972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen local_state->GetInteger(prefs::kMultipleProfilePrefMigration); 17072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 17172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if ((current_version & WINDOWS_PREFS) == 0) { 17272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // Migrate the devtools split location preference. 17372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen local_state->RegisterIntegerPref(prefs::kDevToolsSplitLocation, -1); 17472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen DCHECK(user_prefs->FindPreference(prefs::kDevToolsSplitLocation)); 17572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (local_state->HasPrefPath(prefs::kDevToolsSplitLocation)) { 17672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen user_prefs->SetInteger(prefs::kDevToolsSplitLocation, 17772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen local_state->GetInteger(prefs::kDevToolsSplitLocation)); 17872a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen } 17972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen local_state->ClearPref(prefs::kDevToolsSplitLocation); 18072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 18172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // Migrate the browser window placement preference. 18272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen local_state->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); 18372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen DCHECK(user_prefs->FindPreference(prefs::kBrowserWindowPlacement)); 18472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen if (local_state->HasPrefPath(prefs::kBrowserWindowPlacement)) { 185ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const PrefService::Preference* pref = 186ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen local_state->FindPreference(prefs::kBrowserWindowPlacement); 187ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen DCHECK(pref); 188ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen user_prefs->Set(prefs::kBrowserWindowPlacement, *(pref->GetValue())); 18972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen } 19072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen local_state->ClearPref(prefs::kBrowserWindowPlacement); 19172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 19272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen local_state->SetInteger(prefs::kMultipleProfilePrefMigration, 19372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen current_version | WINDOWS_PREFS); 19472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen } 195c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 196c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 197c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} // namespace browser 198