#include "chrome/browser/ui/browser_ui_prefs.h"
#include "chrome/browser/prefs/pref_service.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
namespace chrome {
void SetNewHomePagePrefs(PrefService* prefs) {
const PrefService::Preference* home_page_pref =
prefs->FindPreference(prefs::kHomePage);
if (home_page_pref &&
!home_page_pref->IsManaged() &&
!prefs->HasPrefPath(prefs::kHomePage)) {
prefs->SetString(prefs::kHomePage, std::string());
}
const PrefService::Preference* home_page_is_new_tab_page_pref =
prefs->FindPreference(prefs::kHomePageIsNewTabPage);
if (home_page_is_new_tab_page_pref &&
!home_page_is_new_tab_page_pref->IsManaged() &&
!prefs->HasPrefPath(prefs::kHomePageIsNewTabPage))
prefs->SetBoolean(prefs::kHomePageIsNewTabPage, false);
}
void RegisterBrowserPrefs(PrefService* prefs) {
prefs->RegisterIntegerPref(prefs::kOptionsWindowLastTabIndex, 0);
prefs->RegisterBooleanPref(prefs::kAllowFileSelectionDialogs, true);
prefs->RegisterBooleanPref(prefs::kShouldShowFirstRunBubble, false);
}
void RegisterBrowserUserPrefs(PrefService* prefs) {
prefs->RegisterBooleanPref(prefs::kHomePageChanged,
false,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kHomePageIsNewTabPage,
true,
PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kShowHomeButton,
false,
PrefService::SYNCABLE_PREF);
#if defined(OS_MACOSX)
prefs->RegisterBooleanPref(prefs::kShowUpdatePromotionInfoBar,
true,
PrefService::UNSYNCABLE_PREF);
#endif
prefs->RegisterBooleanPref(prefs::kDeleteBrowsingHistory,
true,
PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kDeleteDownloadHistory,
true,
PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kDeleteCache,
true,
PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kDeleteCookies,
true,
PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kDeletePasswords,
false,
PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kDeleteFormData,
false,
PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kDeleteHostedAppsData,
false,
PrefService::SYNCABLE_PREF);
prefs->RegisterIntegerPref(prefs::kDeleteTimePeriod,
0,
PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kCheckDefaultBrowser,
true,
PrefService::UNSYNCABLE_PREF);
#if defined(OS_WIN)
prefs->RegisterBooleanPref(prefs::kSuppressSwitchToMetroModeOnSetDefault,
false,
PrefService::UNSYNCABLE_PREF);
#endif
prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kEnableTranslate,
true,
PrefService::SYNCABLE_PREF);
prefs->RegisterStringPref(prefs::kCloudPrintEmail,
std::string(),
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kCloudPrintSubmitEnabled,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kDevToolsDisabled,
false,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterIntegerPref(prefs::kDevToolsHSplitLocation,
-1,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterIntegerPref(prefs::kDevToolsVSplitLocation,
-1,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterDictionaryPref(prefs::kPreferencesWindowPlacement,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kImportBookmarks,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kImportHistory,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kImportHomepage,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kImportSearchEngine,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kImportSavedPasswords,
true,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kEnableDoNotTrack,
false,
PrefService::SYNCABLE_PREF);
prefs->RegisterDictionaryPref(prefs::kDefaultTasksByMimeType,
PrefService::SYNCABLE_PREF);
prefs->RegisterDictionaryPref(prefs::kDefaultTasksBySuffix,
PrefService::SYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kPluginsAllowOutdated,
false,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kPluginsAlwaysAuthorize,
false,
PrefService::UNSYNCABLE_PREF);
prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled,
true,
PrefService::UNSYNCABLE_PREF);
}
void RegisterAppPrefs(const std::string& app_name, Profile* profile) {
std::string window_pref(prefs::kBrowserWindowPlacement);
window_pref.append("_");
window_pref.append(app_name);
PrefService* prefs = profile->GetPrefs();
if (!prefs->FindPreference(window_pref.c_str())) {
prefs->RegisterDictionaryPref(window_pref.c_str(),
PrefService::UNSYNCABLE_PREF);
}
}
}