Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(159)

Side by Side Diff: chrome/browser/ui/browser_ui_prefs.cc

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

Powered by Google App Engine
This is Rietveld 408576698