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

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

Issue 6905044: Refactor preference syncing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Really fix. And rebase Created 9 years, 7 months 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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.h" 5 #include "chrome/browser/ui/browser.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <shellapi.h> 8 #include <shellapi.h>
9 #include <windows.h> 9 #include <windows.h>
10 #endif // OS_WIN 10 #endif // OS_WIN
(...skipping 2071 matching lines...) Expand 10 before | Expand all | Expand 10 after
2082 #if defined(GOOGLE_CHROME_BUILD) 2082 #if defined(GOOGLE_CHROME_BUILD)
2083 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, true); 2083 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, true);
2084 #else 2084 #else
2085 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, false); 2085 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, false);
2086 #endif 2086 #endif
2087 } 2087 }
2088 2088
2089 // static 2089 // static
2090 void Browser::RegisterUserPrefs(PrefService* prefs) { 2090 void Browser::RegisterUserPrefs(PrefService* prefs) {
2091 prefs->RegisterStringPref(prefs::kHomePage, 2091 prefs->RegisterStringPref(prefs::kHomePage,
2092 chrome::kChromeUINewTabURL); 2092 chrome::kChromeUINewTabURL,
2093 prefs->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, true); 2093 PrefService::SYNCABLE_PREF);
2094 prefs->RegisterBooleanPref(prefs::kShowHomeButton, false); 2094 prefs->RegisterBooleanPref(prefs::kHomePageIsNewTabPage,
2095 true,
2096 PrefService::SYNCABLE_PREF);
2097 prefs->RegisterBooleanPref(prefs::kShowHomeButton,
2098 false,
2099 PrefService::SYNCABLE_PREF);
2095 #if defined(OS_MACOSX) 2100 #if defined(OS_MACOSX)
2096 // This really belongs in platform code, but there's no good place to 2101 // This really belongs in platform code, but there's no good place to
2097 // initialize it between the time when the AppController is created 2102 // initialize it between the time when the AppController is created
2098 // (where there's no profile) and the time the controller gets another 2103 // (where there's no profile) and the time the controller gets another
2099 // crack at the start of the main event loop. By that time, BrowserInit 2104 // crack at the start of the main event loop. By that time, BrowserInit
2100 // has already created the browser window, and it's too late: we need the 2105 // has already created the browser window, and it's too late: we need the
2101 // pref to be already initialized. Doing it here also saves us from having 2106 // pref to be already initialized. Doing it here also saves us from having
2102 // to hard-code pref registration in the several unit tests that use 2107 // to hard-code pref registration in the several unit tests that use
2103 // this preference. 2108 // this preference.
2104 prefs->RegisterBooleanPref(prefs::kConfirmToQuitEnabled, false); 2109 prefs->RegisterBooleanPref(prefs::kConfirmToQuitEnabled,
2105 prefs->RegisterBooleanPref(prefs::kShowUpdatePromotionInfoBar, true); 2110 false,
2111 PrefService::SYNCABLE_PREF);
2112 prefs->RegisterBooleanPref(prefs::kShowUpdatePromotionInfoBar,
2113 true,
2114 PrefService::UNSYNCABLE_PREF);
2106 #endif 2115 #endif
2107 prefs->RegisterBooleanPref(prefs::kDeleteBrowsingHistory, true); 2116 prefs->RegisterBooleanPref(prefs::kDeleteBrowsingHistory,
2108 prefs->RegisterBooleanPref(prefs::kDeleteDownloadHistory, true); 2117 true,
2109 prefs->RegisterBooleanPref(prefs::kDeleteCache, true); 2118 PrefService::SYNCABLE_PREF);
2110 prefs->RegisterBooleanPref(prefs::kDeleteCookies, true); 2119 prefs->RegisterBooleanPref(prefs::kDeleteDownloadHistory,
2111 prefs->RegisterBooleanPref(prefs::kDeletePasswords, false); 2120 true,
2112 prefs->RegisterBooleanPref(prefs::kDeleteFormData, false); 2121 PrefService::SYNCABLE_PREF);
2113 prefs->RegisterIntegerPref(prefs::kDeleteTimePeriod, 0); 2122 prefs->RegisterBooleanPref(prefs::kDeleteCache,
2114 prefs->RegisterBooleanPref(prefs::kCheckDefaultBrowser, true); 2123 true,
2115 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint, true); 2124 PrefService::SYNCABLE_PREF);
2116 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true); 2125 prefs->RegisterBooleanPref(prefs::kDeleteCookies,
2117 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); 2126 true,
2118 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); 2127 PrefService::SYNCABLE_PREF);
2119 prefs->RegisterBooleanPref(prefs::kUseVerticalTabs, false); 2128 prefs->RegisterBooleanPref(prefs::kDeletePasswords,
2120 prefs->RegisterBooleanPref(prefs::kEnableTranslate, true); 2129 false,
2121 prefs->RegisterBooleanPref(prefs::kEnableBookmarkBar, true); 2130 PrefService::SYNCABLE_PREF);
2122 prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted, false); 2131 prefs->RegisterBooleanPref(prefs::kDeleteFormData,
2123 prefs->RegisterBooleanPref(prefs::kChromotingEnabled, false); 2132 false,
2124 prefs->RegisterBooleanPref(prefs::kChromotingHostEnabled, false); 2133 PrefService::SYNCABLE_PREF);
2125 prefs->RegisterBooleanPref(prefs::kChromotingHostFirewallTraversal, false); 2134 prefs->RegisterIntegerPref(prefs::kDeleteTimePeriod,
2126 prefs->RegisterStringPref(prefs::kCloudPrintEmail, std::string()); 2135 0,
2127 prefs->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true); 2136 PrefService::SYNCABLE_PREF);
2128 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled, false); 2137 prefs->RegisterBooleanPref(prefs::kCheckDefaultBrowser,
2129 prefs->RegisterBooleanPref(prefs::kIncognitoEnabled, true); 2138 true,
2130 prefs->RegisterIntegerPref(prefs::kDevToolsSplitLocation, -1); 2139 PrefService::UNSYNCABLE_PREF);
2131 prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); 2140 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint,
2132 prefs->RegisterDictionaryPref(prefs::kPreferencesWindowPlacement); 2141 true,
2142 PrefService::UNSYNCABLE_PREF);
2143 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop,
2144 true,
2145 PrefService::UNSYNCABLE_PREF);
2146 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu,
2147 true,
2148 PrefService::UNSYNCABLE_PREF);
2149 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar,
2150 true,
2151 PrefService::UNSYNCABLE_PREF);
2152 prefs->RegisterBooleanPref(prefs::kUseVerticalTabs,
2153 false,
2154 PrefService::UNSYNCABLE_PREF);
2155 prefs->RegisterBooleanPref(prefs::kEnableTranslate,
2156 true,
2157 PrefService::SYNCABLE_PREF);
2158 prefs->RegisterBooleanPref(prefs::kEnableBookmarkBar,
2159 true,
2160 PrefService::UNSYNCABLE_PREF);
2161 prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted,
2162 false,
2163 PrefService::UNSYNCABLE_PREF);
2164 prefs->RegisterBooleanPref(prefs::kChromotingEnabled,
2165 false,
2166 PrefService::UNSYNCABLE_PREF);
2167 prefs->RegisterBooleanPref(prefs::kChromotingHostEnabled,
2168 false,
2169 PrefService::UNSYNCABLE_PREF);
2170 prefs->RegisterBooleanPref(prefs::kChromotingHostFirewallTraversal,
2171 false,
2172 PrefService::UNSYNCABLE_PREF);
2173 prefs->RegisterStringPref(prefs::kCloudPrintEmail,
2174 std::string(),
2175 PrefService::UNSYNCABLE_PREF);
2176 prefs->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled,
2177 true,
2178 PrefService::UNSYNCABLE_PREF);
2179 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled,
2180 false,
2181 PrefService::UNSYNCABLE_PREF);
2182 prefs->RegisterBooleanPref(prefs::kIncognitoEnabled,
2183 true,
2184 PrefService::UNSYNCABLE_PREF);
2185 prefs->RegisterIntegerPref(prefs::kDevToolsSplitLocation,
2186 -1,
2187 PrefService::UNSYNCABLE_PREF);
2188 prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement,
2189 PrefService::UNSYNCABLE_PREF);
2190 prefs->RegisterDictionaryPref(prefs::kPreferencesWindowPlacement,
2191 PrefService::UNSYNCABLE_PREF);
2133 // We need to register the type of these preferences in order to query 2192 // We need to register the type of these preferences in order to query
2134 // them even though they're typically only controlled via policy or command 2193 // them even though they're only typically controlled via policy.
2135 // line switches. 2194 prefs->RegisterBooleanPref(prefs::kDisable3DAPIs,
2136 prefs->RegisterBooleanPref(prefs::kDisable3DAPIs, false); 2195 false,
2137 prefs->RegisterBooleanPref(prefs::kPluginsAllowOutdated, false); 2196 PrefService::UNSYNCABLE_PREF);
2138 prefs->RegisterBooleanPref(prefs::kPluginsAlwaysAuthorize, false); 2197 prefs->RegisterBooleanPref(prefs::kPluginsAllowOutdated,
2139 prefs->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, true); 2198 false,
2140 prefs->RegisterBooleanPref(prefs::kEnableReferrers, true); 2199 PrefService::UNSYNCABLE_PREF);
2141 prefs->RegisterBooleanPref(prefs::kWebKitAllowRunningInsecureContent, false); 2200 prefs->RegisterBooleanPref(prefs::kPluginsAlwaysAuthorize,
2201 false,
2202 PrefService::UNSYNCABLE_PREF);
2203 prefs->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing,
2204 true,
2205 PrefService::UNSYNCABLE_PREF);
2206 prefs->RegisterBooleanPref(prefs::kEnableReferrers,
2207 true,
2208 PrefService::UNSYNCABLE_PREF);
2209 prefs->RegisterBooleanPref(prefs::kWebKitAllowRunningInsecureContent,
2210 false,
2211 PrefService::UNSYNCABLE_PREF);
2142 prefs->RegisterBooleanPref(prefs::kWebKitAllowDisplayingInsecureContent, 2212 prefs->RegisterBooleanPref(prefs::kWebKitAllowDisplayingInsecureContent,
2143 true); 2213 true,
2214 PrefService::UNSYNCABLE_PREF);
2144 } 2215 }
2145 2216
2146 // static 2217 // static
2147 bool Browser::RunUnloadEventsHelper(TabContents* contents) { 2218 bool Browser::RunUnloadEventsHelper(TabContents* contents) {
2148 // If the TabContents is not connected yet, then there's no unload 2219 // If the TabContents is not connected yet, then there's no unload
2149 // handler we can fire even if the TabContents has an unload listener. 2220 // handler we can fire even if the TabContents has an unload listener.
2150 // One case where we hit this is in a tab that has an infinite loop 2221 // One case where we hit this is in a tab that has an infinite loop
2151 // before load. 2222 // before load.
2152 if (contents->NeedToFireBeforeUnload()) { 2223 if (contents->NeedToFireBeforeUnload()) {
2153 // If the page has unload listeners, then we tell the renderer to fire 2224 // If the page has unload listeners, then we tell the renderer to fire
(...skipping 2202 matching lines...) Expand 10 before | Expand all | Expand 10 after
4356 Source<TabContents>(contents->tab_contents())); 4427 Source<TabContents>(contents->tab_contents()));
4357 } 4428 }
4358 4429
4359 // static 4430 // static
4360 void Browser::RegisterAppPrefs(const std::string& app_name, Profile* profile) { 4431 void Browser::RegisterAppPrefs(const std::string& app_name, Profile* profile) {
4361 // We need to register the window position pref. 4432 // We need to register the window position pref.
4362 std::string window_pref(prefs::kBrowserWindowPlacement); 4433 std::string window_pref(prefs::kBrowserWindowPlacement);
4363 window_pref.append("_"); 4434 window_pref.append("_");
4364 window_pref.append(app_name); 4435 window_pref.append(app_name);
4365 PrefService* prefs = profile->GetPrefs(); 4436 PrefService* prefs = profile->GetPrefs();
4366 if (!prefs->FindPreference(window_pref.c_str())) 4437 if (!prefs->FindPreference(window_pref.c_str())) {
4367 prefs->RegisterDictionaryPref(window_pref.c_str()); 4438 prefs->RegisterDictionaryPref(window_pref.c_str(),
4439 PrefService::UNSYNCABLE_PREF);
4440 }
4368 } 4441 }
4369 4442
4370 void Browser::TabRestoreServiceChanged(TabRestoreService* service) { 4443 void Browser::TabRestoreServiceChanged(TabRestoreService* service) {
4371 command_updater_.UpdateCommandEnabled(IDC_RESTORE_TAB, 4444 command_updater_.UpdateCommandEnabled(IDC_RESTORE_TAB,
4372 !service->entries().empty()); 4445 !service->entries().empty());
4373 } 4446 }
4374 4447
4375 void Browser::TabRestoreServiceDestroyed(TabRestoreService* service) { 4448 void Browser::TabRestoreServiceDestroyed(TabRestoreService* service) {
4376 if (!tab_restore_service_) 4449 if (!tab_restore_service_)
4377 return; 4450 return;
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
4511 TabContents* current_tab = GetSelectedTabContents(); 4584 TabContents* current_tab = GetSelectedTabContents();
4512 if (current_tab) { 4585 if (current_tab) {
4513 content_restrictions = current_tab->content_restrictions(); 4586 content_restrictions = current_tab->content_restrictions();
4514 NavigationEntry* active_entry = current_tab->controller().GetActiveEntry(); 4587 NavigationEntry* active_entry = current_tab->controller().GetActiveEntry();
4515 // See comment in UpdateCommandsForTabState about why we call url(). 4588 // See comment in UpdateCommandsForTabState about why we call url().
4516 if (!SavePackage::IsSavableURL(active_entry ? active_entry->url() : GURL())) 4589 if (!SavePackage::IsSavableURL(active_entry ? active_entry->url() : GURL()))
4517 content_restrictions |= CONTENT_RESTRICTION_SAVE; 4590 content_restrictions |= CONTENT_RESTRICTION_SAVE;
4518 } 4591 }
4519 return content_restrictions; 4592 return content_restrictions;
4520 } 4593 }
OLDNEW
« no previous file with comments | « chrome/browser/translate/translate_prefs.cc ('k') | chrome/browser/ui/cocoa/extensions/browser_actions_controller.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698