| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/browser_ui_prefs.h" | 5 #include "chrome/browser/ui/browser_ui_prefs.h" |
| 6 | 6 |
| 7 #include "chrome/browser/first_run/first_run.h" | 7 #include "chrome/browser/first_run/first_run.h" |
| 8 #include "chrome/browser/prefs/pref_service.h" | 8 #include "chrome/browser/prefs/pref_service.h" |
| 9 #include "chrome/browser/profiles/profile.h" | 9 #include "chrome/browser/profiles/profile.h" |
| 10 #include "chrome/common/pref_names.h" | 10 #include "chrome/common/pref_names.h" |
| 11 | 11 |
| 12 namespace chrome { | 12 namespace chrome { |
| 13 | 13 |
| 14 void RegisterBrowserPrefs(PrefService* prefs) { | 14 void RegisterBrowserPrefs(PrefServiceSimple* prefs) { |
| 15 prefs->RegisterIntegerPref(prefs::kOptionsWindowLastTabIndex, 0); | 15 prefs->RegisterIntegerPref(prefs::kOptionsWindowLastTabIndex, 0); |
| 16 prefs->RegisterBooleanPref(prefs::kAllowFileSelectionDialogs, true); | 16 prefs->RegisterBooleanPref(prefs::kAllowFileSelectionDialogs, true); |
| 17 prefs->RegisterIntegerPref(prefs::kShowFirstRunBubbleOption, | 17 prefs->RegisterIntegerPref(prefs::kShowFirstRunBubbleOption, |
| 18 first_run::FIRST_RUN_BUBBLE_DONT_SHOW); | 18 first_run::FIRST_RUN_BUBBLE_DONT_SHOW); |
| 19 } | 19 } |
| 20 | 20 |
| 21 void RegisterBrowserUserPrefs(PrefService* prefs) { | 21 void RegisterBrowserUserPrefs(PrefServiceSyncable* prefs) { |
| 22 prefs->RegisterBooleanPref(prefs::kHomePageChanged, | 22 prefs->RegisterBooleanPref(prefs::kHomePageChanged, |
| 23 false, | 23 false, |
| 24 PrefService::UNSYNCABLE_PREF); | 24 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 25 prefs->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, | 25 prefs->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, |
| 26 true, | 26 true, |
| 27 PrefService::SYNCABLE_PREF); | 27 PrefServiceSyncable::SYNCABLE_PREF); |
| 28 prefs->RegisterBooleanPref(prefs::kShowHomeButton, | 28 prefs->RegisterBooleanPref(prefs::kShowHomeButton, |
| 29 false, | 29 false, |
| 30 PrefService::SYNCABLE_PREF); | 30 PrefServiceSyncable::SYNCABLE_PREF); |
| 31 prefs->RegisterIntegerPref(prefs::kExtensionsSideloadWipeoutBubbleShown, | 31 prefs->RegisterIntegerPref(prefs::kExtensionsSideloadWipeoutBubbleShown, |
| 32 0, | 32 0, |
| 33 PrefService::SYNCABLE_PREF); | 33 PrefServiceSyncable::SYNCABLE_PREF); |
| 34 #if defined(OS_MACOSX) | 34 #if defined(OS_MACOSX) |
| 35 // This really belongs in platform code, but there's no good place to | 35 // This really belongs in platform code, but there's no good place to |
| 36 // initialize it between the time when the AppController is created | 36 // initialize it between the time when the AppController is created |
| 37 // (where there's no profile) and the time the controller gets another | 37 // (where there's no profile) and the time the controller gets another |
| 38 // crack at the start of the main event loop. By that time, | 38 // crack at the start of the main event loop. By that time, |
| 39 // StartupBrowserCreator has already created the browser window, and it's too | 39 // StartupBrowserCreator has already created the browser window, and it's too |
| 40 // late: we need the pref to be already initialized. Doing it here also saves | 40 // late: we need the pref to be already initialized. Doing it here also saves |
| 41 // us from having to hard-code pref registration in the several unit tests | 41 // us from having to hard-code pref registration in the several unit tests |
| 42 // that use this preference. | 42 // that use this preference. |
| 43 prefs->RegisterBooleanPref(prefs::kShowUpdatePromotionInfoBar, | 43 prefs->RegisterBooleanPref(prefs::kShowUpdatePromotionInfoBar, |
| 44 true, | 44 true, |
| 45 PrefService::UNSYNCABLE_PREF); | 45 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 46 #endif | 46 #endif |
| 47 prefs->RegisterBooleanPref(prefs::kDeleteBrowsingHistory, | 47 prefs->RegisterBooleanPref(prefs::kDeleteBrowsingHistory, |
| 48 true, | 48 true, |
| 49 PrefService::SYNCABLE_PREF); | 49 PrefServiceSyncable::SYNCABLE_PREF); |
| 50 prefs->RegisterBooleanPref(prefs::kDeleteDownloadHistory, | 50 prefs->RegisterBooleanPref(prefs::kDeleteDownloadHistory, |
| 51 true, | 51 true, |
| 52 PrefService::SYNCABLE_PREF); | 52 PrefServiceSyncable::SYNCABLE_PREF); |
| 53 prefs->RegisterBooleanPref(prefs::kDeleteCache, | 53 prefs->RegisterBooleanPref(prefs::kDeleteCache, |
| 54 true, | 54 true, |
| 55 PrefService::SYNCABLE_PREF); | 55 PrefServiceSyncable::SYNCABLE_PREF); |
| 56 prefs->RegisterBooleanPref(prefs::kDeleteCookies, | 56 prefs->RegisterBooleanPref(prefs::kDeleteCookies, |
| 57 true, | 57 true, |
| 58 PrefService::SYNCABLE_PREF); | 58 PrefServiceSyncable::SYNCABLE_PREF); |
| 59 prefs->RegisterBooleanPref(prefs::kDeletePasswords, | 59 prefs->RegisterBooleanPref(prefs::kDeletePasswords, |
| 60 false, | 60 false, |
| 61 PrefService::SYNCABLE_PREF); | 61 PrefServiceSyncable::SYNCABLE_PREF); |
| 62 prefs->RegisterBooleanPref(prefs::kDeleteFormData, | 62 prefs->RegisterBooleanPref(prefs::kDeleteFormData, |
| 63 false, | 63 false, |
| 64 PrefService::SYNCABLE_PREF); | 64 PrefServiceSyncable::SYNCABLE_PREF); |
| 65 prefs->RegisterBooleanPref(prefs::kDeleteHostedAppsData, | 65 prefs->RegisterBooleanPref(prefs::kDeleteHostedAppsData, |
| 66 false, | 66 false, |
| 67 PrefService::SYNCABLE_PREF); | 67 PrefServiceSyncable::SYNCABLE_PREF); |
| 68 prefs->RegisterIntegerPref(prefs::kDeleteTimePeriod, | 68 prefs->RegisterIntegerPref(prefs::kDeleteTimePeriod, |
| 69 0, | 69 0, |
| 70 PrefService::SYNCABLE_PREF); | 70 PrefServiceSyncable::SYNCABLE_PREF); |
| 71 prefs->RegisterBooleanPref(prefs::kCheckDefaultBrowser, | 71 prefs->RegisterBooleanPref(prefs::kCheckDefaultBrowser, |
| 72 true, | 72 true, |
| 73 PrefService::UNSYNCABLE_PREF); | 73 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 74 #if defined(OS_WIN) | 74 #if defined(OS_WIN) |
| 75 // As with Mac-spacific code above, it should be in a platform-specific | 75 // As with Mac-spacific code above, it should be in a platform-specific |
| 76 // section somewhere, but there is no good place for it. | 76 // section somewhere, but there is no good place for it. |
| 77 prefs->RegisterBooleanPref(prefs::kSuppressSwitchToMetroModeOnSetDefault, | 77 prefs->RegisterBooleanPref(prefs::kSuppressSwitchToMetroModeOnSetDefault, |
| 78 false, | 78 false, |
| 79 PrefService::UNSYNCABLE_PREF); | 79 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 80 #endif | 80 #endif |
| 81 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint, | 81 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint, |
| 82 true, | 82 true, |
| 83 PrefService::UNSYNCABLE_PREF); | 83 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 84 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, | 84 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, |
| 85 true, | 85 true, |
| 86 PrefService::UNSYNCABLE_PREF); | 86 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 87 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, | 87 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, |
| 88 true, | 88 true, |
| 89 PrefService::UNSYNCABLE_PREF); | 89 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 90 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, | 90 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, |
| 91 true, | 91 true, |
| 92 PrefService::UNSYNCABLE_PREF); | 92 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 93 prefs->RegisterBooleanPref(prefs::kEnableTranslate, | 93 prefs->RegisterBooleanPref(prefs::kEnableTranslate, |
| 94 true, | 94 true, |
| 95 PrefService::SYNCABLE_PREF); | 95 PrefServiceSyncable::SYNCABLE_PREF); |
| 96 prefs->RegisterStringPref(prefs::kCloudPrintEmail, | 96 prefs->RegisterStringPref(prefs::kCloudPrintEmail, |
| 97 std::string(), | 97 std::string(), |
| 98 PrefService::UNSYNCABLE_PREF); | 98 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 99 prefs->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, | 99 prefs->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, |
| 100 true, | 100 true, |
| 101 PrefService::UNSYNCABLE_PREF); | 101 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 102 prefs->RegisterBooleanPref(prefs::kCloudPrintSubmitEnabled, | 102 prefs->RegisterBooleanPref(prefs::kCloudPrintSubmitEnabled, |
| 103 true, | 103 true, |
| 104 PrefService::UNSYNCABLE_PREF); | 104 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 105 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled, | 105 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled, |
| 106 false, | 106 false, |
| 107 PrefService::UNSYNCABLE_PREF); | 107 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 108 prefs->RegisterIntegerPref(prefs::kDevToolsHSplitLocation, | 108 prefs->RegisterIntegerPref(prefs::kDevToolsHSplitLocation, |
| 109 -1, | 109 -1, |
| 110 PrefService::UNSYNCABLE_PREF); | 110 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 111 prefs->RegisterIntegerPref(prefs::kDevToolsVSplitLocation, | 111 prefs->RegisterIntegerPref(prefs::kDevToolsVSplitLocation, |
| 112 -1, | 112 -1, |
| 113 PrefService::UNSYNCABLE_PREF); | 113 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 114 prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement, | 114 prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement, |
| 115 PrefService::UNSYNCABLE_PREF); | 115 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 116 prefs->RegisterDictionaryPref(prefs::kPreferencesWindowPlacement, | 116 prefs->RegisterDictionaryPref(prefs::kPreferencesWindowPlacement, |
| 117 PrefService::UNSYNCABLE_PREF); | 117 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 118 prefs->RegisterBooleanPref(prefs::kImportBookmarks, | 118 prefs->RegisterBooleanPref(prefs::kImportBookmarks, |
| 119 true, | 119 true, |
| 120 PrefService::UNSYNCABLE_PREF); | 120 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 121 prefs->RegisterBooleanPref(prefs::kImportHistory, | 121 prefs->RegisterBooleanPref(prefs::kImportHistory, |
| 122 true, | 122 true, |
| 123 PrefService::UNSYNCABLE_PREF); | 123 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 124 prefs->RegisterBooleanPref(prefs::kImportHomepage, | 124 prefs->RegisterBooleanPref(prefs::kImportHomepage, |
| 125 true, | 125 true, |
| 126 PrefService::UNSYNCABLE_PREF); | 126 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 127 prefs->RegisterBooleanPref(prefs::kImportSearchEngine, | 127 prefs->RegisterBooleanPref(prefs::kImportSearchEngine, |
| 128 true, | 128 true, |
| 129 PrefService::UNSYNCABLE_PREF); | 129 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 130 prefs->RegisterBooleanPref(prefs::kImportSavedPasswords, | 130 prefs->RegisterBooleanPref(prefs::kImportSavedPasswords, |
| 131 true, | 131 true, |
| 132 PrefService::UNSYNCABLE_PREF); | 132 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 133 prefs->RegisterBooleanPref(prefs::kEnableDoNotTrack, | 133 prefs->RegisterBooleanPref(prefs::kEnableDoNotTrack, |
| 134 false, | 134 false, |
| 135 PrefService::SYNCABLE_PREF); | 135 PrefServiceSyncable::SYNCABLE_PREF); |
| 136 | 136 |
| 137 // Dictionaries to keep track of default tasks in the file browser. | 137 // Dictionaries to keep track of default tasks in the file browser. |
| 138 prefs->RegisterDictionaryPref(prefs::kDefaultTasksByMimeType, | 138 prefs->RegisterDictionaryPref(prefs::kDefaultTasksByMimeType, |
| 139 PrefService::SYNCABLE_PREF); | 139 PrefServiceSyncable::SYNCABLE_PREF); |
| 140 prefs->RegisterDictionaryPref(prefs::kDefaultTasksBySuffix, | 140 prefs->RegisterDictionaryPref(prefs::kDefaultTasksBySuffix, |
| 141 PrefService::SYNCABLE_PREF); | 141 PrefServiceSyncable::SYNCABLE_PREF); |
| 142 | 142 |
| 143 // We need to register the type of these preferences in order to query | 143 // We need to register the type of these preferences in order to query |
| 144 // them even though they're only typically controlled via policy. | 144 // them even though they're only typically controlled via policy. |
| 145 prefs->RegisterBooleanPref(prefs::kPluginsAllowOutdated, | 145 prefs->RegisterBooleanPref(prefs::kPluginsAllowOutdated, |
| 146 false, | 146 false, |
| 147 PrefService::UNSYNCABLE_PREF); | 147 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 148 prefs->RegisterBooleanPref(prefs::kPluginsAlwaysAuthorize, | 148 prefs->RegisterBooleanPref(prefs::kPluginsAlwaysAuthorize, |
| 149 false, | 149 false, |
| 150 PrefService::UNSYNCABLE_PREF); | 150 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 151 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, | 151 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, |
| 152 true, | 152 true, |
| 153 PrefService::UNSYNCABLE_PREF); | 153 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 154 } | 154 } |
| 155 | 155 |
| 156 void RegisterAppPrefs(const std::string& app_name, Profile* profile) { | 156 void RegisterAppPrefs(const std::string& app_name, Profile* profile) { |
| 157 // We need to register the window position pref. | 157 // We need to register the window position pref. |
| 158 // |
| 159 // TODO(mnissler): Use a separate pref name pointing to a single |
| 160 // dictionary instead. Also tracked as http://crbug.com/167256 |
| 158 std::string window_pref(prefs::kBrowserWindowPlacement); | 161 std::string window_pref(prefs::kBrowserWindowPlacement); |
| 159 window_pref.append("_"); | 162 window_pref.append("_"); |
| 160 window_pref.append(app_name); | 163 window_pref.append(app_name); |
| 161 PrefService* prefs = profile->GetPrefs(); | 164 PrefServiceSyncable* prefs = profile->GetPrefs(); |
| 162 if (!prefs->FindPreference(window_pref.c_str())) { | 165 if (!prefs->FindPreference(window_pref.c_str())) { |
| 166 // TODO(joi): Switch to official way of registering local prefs |
| 167 // for this class, i.e. in a function called from |
| 168 // browser_prefs::RegisterUserPrefs. |
| 163 prefs->RegisterDictionaryPref(window_pref.c_str(), | 169 prefs->RegisterDictionaryPref(window_pref.c_str(), |
| 164 PrefService::UNSYNCABLE_PREF); | 170 PrefServiceSyncable::UNSYNCABLE_PREF); |
| 165 } | 171 } |
| 166 } | 172 } |
| 167 | 173 |
| 168 | 174 |
| 169 } // namespace chrome | 175 } // namespace chrome |
| OLD | NEW |