browser_ui_prefs.cc revision a02191e04bc25c4935f804f2c080ae28663d096d
15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/browser_ui_prefs.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_registry_simple.h" 82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "base/prefs/pref_service.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/first_run/first_run.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/profiles/profile.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/common/pref_names.h" 125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "components/translate/core/common/translate_pref_names.h" 132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "components/user_prefs/pref_registry_syncable.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chrome { 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void RegisterBrowserPrefs(PrefRegistrySimple* registry) { 182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterIntegerPref(prefs::kOptionsWindowLastTabIndex, 0); 192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterBooleanPref(prefs::kAllowFileSelectionDialogs, true); 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) registry->RegisterIntegerPref(prefs::kShowFirstRunBubbleOption, 212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) first_run::FIRST_RUN_BUBBLE_DONT_SHOW); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 24c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void RegisterBrowserUserPrefs(user_prefs::PrefRegistrySyncable* registry) { 25c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 26c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kHomePageIsNewTabPage, 27c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 28c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 29c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 30c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kShowHomeButton, 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_MACOSX) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // This really belongs in platform code, but there's no good place to 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // initialize it between the time when the AppController is created 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // (where there's no profile) and the time the controller gets another 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // crack at the start of the main event loop. By that time, 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // StartupBrowserCreator has already created the browser window, and it's too 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // late: we need the pref to be already initialized. Doing it here also saves 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // us from having to hard-code pref registration in the several unit tests 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // that use this preference. 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kShowUpdatePromotionInfoBar, 44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteBrowsingHistory, 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteDownloadHistory, 53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteCache, 57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteCookies, 61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 63c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 64c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeletePasswords, 65c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 66c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 67c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteFormData, 69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 70c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 72c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteHostedAppsData, 73c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 74c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 75c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterIntegerPref( 76c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDeleteTimePeriod, 77c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 0, 78c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 79c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterInt64Pref( 80c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kLastClearBrowsingDataTime, 81c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 0, 82c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 83868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) registry->RegisterIntegerPref(prefs::kModuleConflictBubbleShown, 84868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 0, 85868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 86c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 87c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kCheckDefaultBrowser, 88c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 89c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#if defined(OS_WIN) 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // As with Mac-spacific code above, it should be in a platform-specific 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // section somewhere, but there is no good place for it. 93c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 94c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kSuppressSwitchToMetroModeOnSetDefault, 95c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 96c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif 98c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 99c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kWebAppCreateOnDesktop, 100c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 101c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 102c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 103c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kWebAppCreateInAppsMenu, 104c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 105c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 106c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 107c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kWebAppCreateInQuickLaunchBar, 108c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 109c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 110c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 111c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kEnableTranslate, 112c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 113c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 114c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterStringPref( 115c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kCloudPrintEmail, 116c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) std::string(), 117c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 118c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 119c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kCloudPrintProxyEnabled, 120c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 121c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 122c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 123c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kCloudPrintSubmitEnabled, 124c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 125c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 126c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 127c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDevToolsDisabled, 128c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 129c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 130c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 131c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kBrowserWindowPlacement, 132c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 133c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 134a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch prefs::kBrowserWindowPlacementPopup, 135a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 136a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch registry->RegisterDictionaryPref( 137c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kPreferencesWindowPlacement, 138c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 139c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 140c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportBookmarks, 141c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 142c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 143c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 144c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportHistory, 145c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 146c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 147c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 148c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportHomepage, 149c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 150c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 151c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 152c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportSearchEngine, 153c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 154c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 155c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 156c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kImportSavedPasswords, 157c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 158c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 159c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 160c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kEnableDoNotTrack, 161c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 162c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Dictionaries to keep track of default tasks in the file browser. 165c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 166c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDefaultTasksByMimeType, 167c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 168c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 169c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kDefaultTasksBySuffix, 170c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // We need to register the type of these preferences in order to query 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // them even though they're only typically controlled via policy. 174c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 175c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kPluginsAllowOutdated, 176c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 177c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 178c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 179c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kPluginsAlwaysAuthorize, 180c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 181c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 182c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 183c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kClearPluginLSODataEnabled, 184c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) true, 185c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 186c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterBooleanPref( 187c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs::kHideWebStoreIcon, 188c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) false, 189c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 190424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#if !defined(OS_MACOSX) 191424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) registry->RegisterBooleanPref( 192424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) prefs::kFullscreenAllowed, 193424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) true, 194424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles) user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 195424c4d7b64af9d0d8fd9624f381f469654d5e3d2Torne (Richard Coles)#endif 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void RegisterAppPrefs(const std::string& app_name, Profile* profile) { 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // We need to register the window position pref. 2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // 2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // TODO(mnissler): Use a separate pref name pointing to a single 2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // dictionary instead. Also tracked as http://crbug.com/167256 2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) std::string window_pref(prefs::kBrowserWindowPlacement); 2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) window_pref.append("_"); 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) window_pref.append(app_name); 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PrefService* prefs = profile->GetPrefs(); 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (!prefs->FindPreference(window_pref.c_str())) { 2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) // TODO(joi): Do all registration up front. 209c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) scoped_refptr<user_prefs::PrefRegistrySyncable> registry( 210c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) static_cast<user_prefs::PrefRegistrySyncable*>( 211c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) prefs->DeprecatedGetPrefRegistry())); 212c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) registry->RegisterDictionaryPref( 213c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) window_pref.c_str(), user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace chrome 219