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

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: Merge to head again, previous had unrelated broken win_rel test. 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
« no previous file with comments | « chrome/browser/ui/browser_ui_prefs.h ('k') | chrome/browser/ui/browser_view_prefs.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/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
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser_ui_prefs.h ('k') | chrome/browser/ui/browser_view_prefs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698