browser_ui_prefs.cc revision 868fa2fe829687343ffae624259930155e16dbd8
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_ui_prefs.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_registry_simple.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_service.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/first_run/first_run.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/common/pref_names.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "components/user_prefs/pref_registry_syncable.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome { 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void RegisterBrowserPrefs(PrefRegistrySimple* registry) { 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterIntegerPref(prefs::kOptionsWindowLastTabIndex, 0); 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterBooleanPref(prefs::kAllowFileSelectionDialogs, true); 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterIntegerPref(prefs::kShowFirstRunBubbleOption, 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) first_run::FIRST_RUN_BUBBLE_DONT_SHOW); 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kHomePageIsNewTabPage, 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kShowHomeButton, 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // This really belongs in platform code, but there's no good place to 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // initialize it between the time when the AppController is created 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // (where there's no profile) and the time the controller gets another 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // crack at the start of the main event loop. By that time, 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // StartupBrowserCreator has already created the browser window, and it's too 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // late: we need the pref to be already initialized. Doing it here also saves 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // us from having to hard-code pref registration in the several unit tests 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // that use this preference. 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kShowUpdatePromotionInfoBar, 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteBrowsingHistory, 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteDownloadHistory, 52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteCache, 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteCookies, 60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 63c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeletePasswords, 64c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 65c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 66c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 67c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteFormData, 68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 70c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteHostedAppsData, 72c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 73c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterIntegerPref( 75c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteTimePeriod, 76c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 0, 77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 78c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterInt64Pref( 79c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kLastClearBrowsingDataTime, 80c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 0, 81c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 82868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) registry->RegisterIntegerPref(prefs::kModuleConflictBubbleShown, 83868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 0, 84868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 85c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 86c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kCheckDefaultBrowser, 87c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 88c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // As with Mac-spacific code above, it should be in a platform-specific 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // section somewhere, but there is no good place for it. 92c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 93c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kSuppressSwitchToMetroModeOnSetDefault, 94c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 95c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 97c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 98c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kWebAppCreateOnDesktop, 99c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 100c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 101c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 102c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kWebAppCreateInAppsMenu, 103c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 104c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 105c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 106c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kWebAppCreateInQuickLaunchBar, 107c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 108c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 109c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 110c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kEnableTranslate, 111c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 112c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 113c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterStringPref( 114c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kCloudPrintEmail, 115c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) std::string(), 116c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 117c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 118c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kCloudPrintProxyEnabled, 119c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 120c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 121c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 122c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kCloudPrintSubmitEnabled, 123c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 124c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 125c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 126c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDevToolsDisabled, 127c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 128c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 129c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterIntegerPref( 130c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDevToolsHSplitLocation, 131c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) -1, 132c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 133c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterIntegerPref( 134c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDevToolsVSplitLocation, 135c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) -1, 136c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 137c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 138c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kBrowserWindowPlacement, 139c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 140c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 141c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kPreferencesWindowPlacement, 142c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 143c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 144c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportBookmarks, 145c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 146c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 147c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 148c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportHistory, 149c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 150c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 151c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 152c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportHomepage, 153c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 154c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 155c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 156c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportSearchEngine, 157c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 158c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 159c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 160c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportSavedPasswords, 161c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 162c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 163c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 164c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kEnableDoNotTrack, 165c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 166c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Dictionaries to keep track of default tasks in the file browser. 169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDefaultTasksByMimeType, 171c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 172c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 173c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDefaultTasksBySuffix, 174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // We need to register the type of these preferences in order to query 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // them even though they're only typically controlled via policy. 178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 179c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kPluginsAllowOutdated, 180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 183c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kPluginsAlwaysAuthorize, 184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kClearPluginLSODataEnabled, 188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 190c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 191c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kHideWebStoreIcon, 192c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 193c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 19490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 19590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) registry->RegisterBooleanPref( 19690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) prefs::kResetDefaultSearchEngine, 19790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) true, 19890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 19990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) registry->RegisterBooleanPref( 20090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) prefs::kResetHomepage, 20190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) true, 20290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 20390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) registry->RegisterBooleanPref( 20490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) prefs::kResetContentSettings, 20590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) true, 20690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 20790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) registry->RegisterBooleanPref( 20890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) prefs::kResetCookiesAndSiteData, 20990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) true, 21090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 21190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) registry->RegisterBooleanPref( 21290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) prefs::kResetExtensions, 21390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) true, 21490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 21590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) registry->RegisterIntegerPref( 21690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) prefs::kResetExtensionsHandling, 21790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 0, 21890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void RegisterAppPrefs(const std::string& app_name, Profile* profile) { 2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // We need to register the window position pref. 2232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // 2242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // TODO(mnissler): Use a separate pref name pointing to a single 2252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // dictionary instead. Also tracked as http://crbug.com/167256 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string window_pref(prefs::kBrowserWindowPlacement); 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) window_pref.append("_"); 2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) window_pref.append(app_name); 2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefService* prefs = profile->GetPrefs(); 2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!prefs->FindPreference(window_pref.c_str())) { 2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // TODO(joi): Do all registration up front. 232c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) scoped_refptr<user_prefs::PrefRegistrySyncable> registry( 233c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static_cast<user_prefs::PrefRegistrySyncable*>( 234c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs->DeprecatedGetPrefRegistry())); 235c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 236c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) window_pref.c_str(), user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chrome 242