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 3 // found in the LICENSE file. 4 5 #include "chrome/common/pref_names.h" 6 7 #include "base/basictypes.h" 8 #include "chrome/common/pref_font_webkit_names.h" 9 10 namespace prefs { 11 12 // *************** PROFILE PREFS *************** 13 // These are attached to the user profile 14 15 // A string property indicating whether default apps should be installed 16 // in this profile. Use the value "install" to enable defaults apps, or 17 // "noinstall" to disable them. This property is usually set in the 18 // master_preferences and copied into the profile preferences on first run. 19 // Defaults apps are installed only when creating a new profile. 20 const char kDefaultApps[] = "default_apps"; 21 22 // Whether we have installed default apps yet in this profile. 23 const char kDefaultAppsInstalled[] = "default_apps_installed"; 24 25 // Disables screenshot accelerators and extension APIs. 26 // This setting resides both in profile prefs and local state. Accelerator 27 // handling code reads local state, while extension APIs use profile pref. 28 const char kDisableScreenshots[] = "disable_screenshots"; 29 30 // If set to true profiles are created in ephemeral mode and do not store their 31 // data in the profile folder on disk but only in memory. 32 const char kForceEphemeralProfiles[] = "profile.ephemeral_mode"; 33 34 // A boolean specifying whether the New Tab page is the home page or not. 35 const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage"; 36 37 // This is the URL of the page to load when opening new tabs. 38 const char kHomePage[] = "homepage"; 39 40 // An integer that keeps track of the profile icon version. This allows us to 41 // determine the state of the profile icon for icon format changes. 42 const char kProfileIconVersion[] = "profile.icon_version"; 43 44 // Used to determine if the last session exited cleanly. Set to false when 45 // first opened, and to true when closing. On startup if the value is false, 46 // it means the profile didn't exit cleanly. 47 // DEPRECATED: this is replaced by kSessionExitType and exists for backwards 48 // compatibility. 49 const char kSessionExitedCleanly[] = "profile.exited_cleanly"; 50 51 // A string pref whose values is one of the values defined by 52 // |ProfileImpl::kPrefExitTypeXXX|. Set to |kPrefExitTypeCrashed| on startup and 53 // one of |kPrefExitTypeNormal| or |kPrefExitTypeSessionEnded| during 54 // shutdown. Used to determine the exit type the last time the profile was open. 55 const char kSessionExitType[] = "profile.exit_type"; 56 57 // An integer pref. Holds one of several values: 58 // 0: (deprecated) open the homepage on startup. 59 // 1: restore the last session. 60 // 2: this was used to indicate a specific session should be restored. It is 61 // no longer used, but saved to avoid conflict with old preferences. 62 // 3: unused, previously indicated the user wants to restore a saved session. 63 // 4: restore the URLs defined in kURLsToRestoreOnStartup. 64 // 5: open the New Tab Page on startup. 65 const char kRestoreOnStartup[] = "session.restore_on_startup"; 66 67 // A preference to keep track of whether we have already checked whether we 68 // need to migrate the user from kRestoreOnStartup=0 to kRestoreOnStartup=4. 69 // We only need to do this check once, on upgrade from m18 or lower to m19 or 70 // higher. 71 const char kRestoreOnStartupMigrated[] = "session.restore_on_startup_migrated"; 72 73 // Serialized migration time of kURLsToRestoreOnStartup (see 74 // base::Time::ToInternalValue for details on serialization format). 75 const char kRestoreStartupURLsMigrationTime[] = 76 "session.startup_urls_migration_time"; 77 78 // The URLs to restore on startup or when the home button is pressed. The URLs 79 // are only restored on startup if kRestoreOnStartup is 4. 80 const char kURLsToRestoreOnStartup[] = "session.startup_urls"; 81 82 // Old startup url pref name for kURLsToRestoreOnStartup. 83 const char kURLsToRestoreOnStartupOld[] = "session.urls_to_restore_on_startup"; 84 85 // Stores the email address associated with the google account of the custodian 86 // of the supervised user, set when the supervised user is created. 87 const char kSupervisedUserCustodianEmail[] = "profile.managed.custodian_email"; 88 89 // Stores the display name associated with the google account of the custodian 90 // of the supervised user, updated (if possible) each time the supervised user 91 // starts a session. 92 const char kSupervisedUserCustodianName[] = "profile.managed.custodian_name"; 93 94 // Stores the URL of the profile image associated with the google account of the 95 // custodian of the supervised user. 96 const char kSupervisedUserCustodianProfileImageURL[] = 97 "profile.managed.custodian_profile_image_url"; 98 99 // Stores the URL of the profile associated with the google account of the 100 // custodian of the supervised user. 101 const char kSupervisedUserCustodianProfileURL[] = 102 "profile.managed.custodian_profile_url"; 103 104 // Maps host names to whether the host is manually allowed or blocked. 105 const char kSupervisedUserManualHosts[] = "profile.managed.manual_hosts"; 106 107 // Maps URLs to whether the URL is manually allowed or blocked. 108 const char kSupervisedUserManualURLs[] = "profile.managed.manual_urls"; 109 110 // Stores the email address associated with the google account of the secondary 111 // custodian of the supervised user, set when the supervised user is created. 112 const char kSupervisedUserSecondCustodianEmail[] = 113 "profile.managed.second_custodian_email"; 114 115 // Stores the display name associated with the google account of the secondary 116 // custodian of the supervised user, updated (if possible) each time the 117 // supervised user starts a session. 118 const char kSupervisedUserSecondCustodianName[] = 119 "profile.managed.second_custodian_name"; 120 121 // Stores the URL of the profile image associated with the google account of the 122 // secondary custodian of the supervised user. 123 const char kSupervisedUserSecondCustodianProfileImageURL[] = 124 "profile.managed.second_custodian_profile_image_url"; 125 126 // Stores the URL of the profile associated with the google account of the 127 // secondary custodian of the supervised user. 128 const char kSupervisedUserSecondCustodianProfileURL[] = 129 "profile.managed.second_custodian_profile_url"; 130 131 // Stores settings that can be modified both by a supervised user and their 132 // manager. See SupervisedUserSharedSettingsService for a description of 133 // the format. 134 const char kSupervisedUserSharedSettings[] = "profile.managed.shared_settings"; 135 136 // The application locale. 137 // For OS_CHROMEOS we maintain kApplicationLocale property in both local state 138 // and user's profile. Global property determines locale of login screen, 139 // while user's profile determines his personal locale preference. 140 const char kApplicationLocale[] = "intl.app_locale"; 141 #if defined(OS_CHROMEOS) 142 // Locale preference of device' owner. ChromeOS device appears in this locale 143 // after startup/wakeup/signout. 144 const char kOwnerLocale[] = "intl.owner_locale"; 145 // Locale accepted by user. Non-syncable. 146 // Used to determine whether we need to show Locale Change notification. 147 const char kApplicationLocaleAccepted[] = "intl.app_locale_accepted"; 148 // Non-syncable item. 149 // It is used in two distinct ways. 150 // (1) Used for two-step initialization of locale in ChromeOS 151 // because synchronization of kApplicationLocale is not instant. 152 // (2) Used to detect locale change. Locale change is detected by 153 // LocaleChangeGuard in case values of kApplicationLocaleBackup and 154 // kApplicationLocale are both non-empty and differ. 155 // Following is a table showing how state of those prefs may change upon 156 // common real-life use cases: 157 // AppLocale Backup Accepted 158 // Initial login - A - 159 // Sync B A - 160 // Accept (B) B B B 161 // ----------------------------------------------------------- 162 // Initial login - A - 163 // No sync and second login A A - 164 // Change options B B - 165 // ----------------------------------------------------------- 166 // Initial login - A - 167 // Sync A A - 168 // Locale changed on login screen A C - 169 // Accept (A) A A A 170 // ----------------------------------------------------------- 171 // Initial login - A - 172 // Sync B A - 173 // Revert A A - 174 const char kApplicationLocaleBackup[] = "intl.app_locale_backup"; 175 #endif 176 177 // The default character encoding to assume for a web page in the 178 // absence of MIME charset specification 179 const char kDefaultCharset[] = "intl.charset_default"; 180 181 // The value to use for Accept-Languages HTTP header when making an HTTP 182 // request. 183 const char kAcceptLanguages[] = "intl.accept_languages"; 184 185 // The value to use for showing locale-dependent encoding list for different 186 // locale, it's initialized from the corresponding string resource that is 187 // stored in non-translatable part of the resource bundle. 188 const char kStaticEncodings[] = "intl.static_encodings"; 189 190 // If these change, the corresponding enums in the extension API 191 // experimental.fontSettings.json must also change. 192 const char* const kWebKitScriptsForFontFamilyMaps[] = { 193 #define EXPAND_SCRIPT_FONT(x, script_name) script_name , 194 #include "chrome/common/pref_font_script_names-inl.h" 195 ALL_FONT_SCRIPTS("unused param") 196 #undef EXPAND_SCRIPT_FONT 197 }; 198 199 const size_t kWebKitScriptsForFontFamilyMapsLength = 200 arraysize(kWebKitScriptsForFontFamilyMaps); 201 202 // Strings for WebKit font family preferences. If these change, the pref prefix 203 // in pref_names_util.cc and the pref format in font_settings_api.cc must also 204 // change. 205 const char kWebKitStandardFontFamilyMap[] = 206 WEBKIT_WEBPREFS_FONTS_STANDARD; 207 const char kWebKitFixedFontFamilyMap[] = 208 WEBKIT_WEBPREFS_FONTS_FIXED; 209 const char kWebKitSerifFontFamilyMap[] = 210 WEBKIT_WEBPREFS_FONTS_SERIF; 211 const char kWebKitSansSerifFontFamilyMap[] = 212 WEBKIT_WEBPREFS_FONTS_SANSERIF; 213 const char kWebKitCursiveFontFamilyMap[] = 214 WEBKIT_WEBPREFS_FONTS_CURSIVE; 215 const char kWebKitFantasyFontFamilyMap[] = 216 WEBKIT_WEBPREFS_FONTS_FANTASY; 217 const char kWebKitPictographFontFamilyMap[] = 218 WEBKIT_WEBPREFS_FONTS_PICTOGRAPH; 219 const char kWebKitStandardFontFamilyArabic[] = 220 "webkit.webprefs.fonts.standard.Arab"; 221 const char kWebKitFixedFontFamilyArabic[] = 222 "webkit.webprefs.fonts.fixed.Arab"; 223 const char kWebKitSerifFontFamilyArabic[] = 224 "webkit.webprefs.fonts.serif.Arab"; 225 const char kWebKitSansSerifFontFamilyArabic[] = 226 "webkit.webprefs.fonts.sansserif.Arab"; 227 const char kWebKitStandardFontFamilyCyrillic[] = 228 "webkit.webprefs.fonts.standard.Cyrl"; 229 const char kWebKitFixedFontFamilyCyrillic[] = 230 "webkit.webprefs.fonts.fixed.Cyrl"; 231 const char kWebKitSerifFontFamilyCyrillic[] = 232 "webkit.webprefs.fonts.serif.Cyrl"; 233 const char kWebKitSansSerifFontFamilyCyrillic[] = 234 "webkit.webprefs.fonts.sansserif.Cyrl"; 235 const char kWebKitStandardFontFamilyGreek[] = 236 "webkit.webprefs.fonts.standard.Grek"; 237 const char kWebKitFixedFontFamilyGreek[] = 238 "webkit.webprefs.fonts.fixed.Grek"; 239 const char kWebKitSerifFontFamilyGreek[] = 240 "webkit.webprefs.fonts.serif.Grek"; 241 const char kWebKitSansSerifFontFamilyGreek[] = 242 "webkit.webprefs.fonts.sansserif.Grek"; 243 const char kWebKitStandardFontFamilyJapanese[] = 244 "webkit.webprefs.fonts.standard.Jpan"; 245 const char kWebKitFixedFontFamilyJapanese[] = 246 "webkit.webprefs.fonts.fixed.Jpan"; 247 const char kWebKitSerifFontFamilyJapanese[] = 248 "webkit.webprefs.fonts.serif.Jpan"; 249 const char kWebKitSansSerifFontFamilyJapanese[] = 250 "webkit.webprefs.fonts.sansserif.Jpan"; 251 const char kWebKitStandardFontFamilyKorean[] = 252 "webkit.webprefs.fonts.standard.Hang"; 253 const char kWebKitFixedFontFamilyKorean[] = 254 "webkit.webprefs.fonts.fixed.Hang"; 255 const char kWebKitSerifFontFamilyKorean[] = 256 "webkit.webprefs.fonts.serif.Hang"; 257 const char kWebKitSansSerifFontFamilyKorean[] = 258 "webkit.webprefs.fonts.sansserif.Hang"; 259 const char kWebKitCursiveFontFamilyKorean[] = 260 "webkit.webprefs.fonts.cursive.Hang"; 261 const char kWebKitStandardFontFamilySimplifiedHan[] = 262 "webkit.webprefs.fonts.standard.Hans"; 263 const char kWebKitFixedFontFamilySimplifiedHan[] = 264 "webkit.webprefs.fonts.fixed.Hans"; 265 const char kWebKitSerifFontFamilySimplifiedHan[] = 266 "webkit.webprefs.fonts.serif.Hans"; 267 const char kWebKitSansSerifFontFamilySimplifiedHan[] = 268 "webkit.webprefs.fonts.sansserif.Hans"; 269 const char kWebKitStandardFontFamilyTraditionalHan[] = 270 "webkit.webprefs.fonts.standard.Hant"; 271 const char kWebKitFixedFontFamilyTraditionalHan[] = 272 "webkit.webprefs.fonts.fixed.Hant"; 273 const char kWebKitSerifFontFamilyTraditionalHan[] = 274 "webkit.webprefs.fonts.serif.Hant"; 275 const char kWebKitSansSerifFontFamilyTraditionalHan[] = 276 "webkit.webprefs.fonts.sansserif.Hant"; 277 278 // WebKit preferences. 279 const char kWebKitWebSecurityEnabled[] = "webkit.webprefs.web_security_enabled"; 280 const char kWebKitDomPasteEnabled[] = "webkit.webprefs.dom_paste_enabled"; 281 const char kWebKitShrinksStandaloneImagesToFit[] = 282 "webkit.webprefs.shrinks_standalone_images_to_fit"; 283 const char kWebKitUsesUniversalDetector[] = 284 "webkit.webprefs.uses_universal_detector"; 285 const char kWebKitTextAreasAreResizable[] = 286 "webkit.webprefs.text_areas_are_resizable"; 287 const char kWebKitJavaEnabled[] = "webkit.webprefs.java_enabled"; 288 const char kWebkitTabsToLinks[] = "webkit.webprefs.tabs_to_links"; 289 const char kWebKitAllowDisplayingInsecureContent[] = 290 "webkit.webprefs.allow_displaying_insecure_content"; 291 const char kWebKitAllowRunningInsecureContent[] = 292 "webkit.webprefs.allow_running_insecure_content"; 293 #if defined(OS_ANDROID) 294 const char kWebKitFontScaleFactor[] = "webkit.webprefs.font_scale_factor"; 295 const char kWebKitForceEnableZoom[] = "webkit.webprefs.force_enable_zoom"; 296 const char kWebKitPasswordEchoEnabled[] = 297 "webkit.webprefs.password_echo_enabled"; 298 #endif 299 300 const char kWebKitCommonScript[] = "Zyyy"; 301 const char kWebKitStandardFontFamily[] = "webkit.webprefs.fonts.standard.Zyyy"; 302 const char kWebKitFixedFontFamily[] = "webkit.webprefs.fonts.fixed.Zyyy"; 303 const char kWebKitSerifFontFamily[] = "webkit.webprefs.fonts.serif.Zyyy"; 304 const char kWebKitSansSerifFontFamily[] = 305 "webkit.webprefs.fonts.sansserif.Zyyy"; 306 const char kWebKitCursiveFontFamily[] = "webkit.webprefs.fonts.cursive.Zyyy"; 307 const char kWebKitFantasyFontFamily[] = "webkit.webprefs.fonts.fantasy.Zyyy"; 308 const char kWebKitPictographFontFamily[] = 309 "webkit.webprefs.fonts.pictograph.Zyyy"; 310 const char kWebKitDefaultFontSize[] = "webkit.webprefs.default_font_size"; 311 const char kWebKitDefaultFixedFontSize[] = 312 "webkit.webprefs.default_fixed_font_size"; 313 const char kWebKitMinimumFontSize[] = "webkit.webprefs.minimum_font_size"; 314 const char kWebKitMinimumLogicalFontSize[] = 315 "webkit.webprefs.minimum_logical_font_size"; 316 const char kWebKitJavascriptEnabled[] = "webkit.webprefs.javascript_enabled"; 317 const char kWebKitJavascriptCanOpenWindowsAutomatically[] = 318 "webkit.webprefs.javascript_can_open_windows_automatically"; 319 const char kWebKitLoadsImagesAutomatically[] = 320 "webkit.webprefs.loads_images_automatically"; 321 const char kWebKitPluginsEnabled[] = "webkit.webprefs.plugins_enabled"; 322 323 // Boolean that is true when SafeBrowsing is enabled. 324 const char kSafeBrowsingEnabled[] = "safebrowsing.enabled"; 325 326 // Boolean that tell us whether Safe Browsing extended reporting is enabled. 327 const char kSafeBrowsingExtendedReportingEnabled[] = 328 "safebrowsing.extended_reporting_enabled"; 329 330 // Boolean that is true when the SafeBrowsing interstitial should not allow 331 // users to proceed anyway. 332 const char kSafeBrowsingProceedAnywayDisabled[] = 333 "safebrowsing.proceed_anyway_disabled"; 334 335 // Boolean that is true when SafeBrowsing has sent an incident report. 336 const char kSafeBrowsingIncidentReportSent[] = 337 "safebrowsing.incident_report_sent"; 338 339 // A dictionary mapping incident types to a dict of incident key:digest pairs. 340 const char kSafeBrowsingIncidentsSent[] = "safebrowsing.incidents_sent"; 341 342 // Enum that specifies whether Incognito mode is: 343 // 0 - Enabled. Default behaviour. Default mode is available on demand. 344 // 1 - Disabled. Used cannot browse pages in Incognito mode. 345 // 2 - Forced. All pages/sessions are forced into Incognito. 346 const char kIncognitoModeAvailability[] = "incognito.mode_availability"; 347 348 // Boolean that is true when Suggest support is enabled. 349 const char kSearchSuggestEnabled[] = "search.suggest_enabled"; 350 351 #if defined(OS_ANDROID) 352 // String indicating the Contextual Search enabled state. 353 // "false" - opt-out (disabled) 354 // "" (empty string) - undecided 355 // "true" - opt-in (enabled) 356 const char kContextualSearchEnabled[] = "search.contextual_search_enabled"; 357 #endif 358 359 // Boolean that indicates whether the browser should put up a confirmation 360 // window when the user is attempting to quit. Mac only. 361 const char kConfirmToQuitEnabled[] = "browser.confirm_to_quit"; 362 363 // OBSOLETE. Enum that specifies whether to enforce a third-party cookie 364 // blocking policy. This has been superseded by kDefaultContentSettings + 365 // kBlockThirdPartyCookies. 366 // 0 - allow all cookies. 367 // 1 - block third-party cookies 368 // 2 - block all cookies 369 const char kCookieBehavior[] = "security.cookie_behavior"; 370 371 // Boolean which specifies whether we should ask the user if we should download 372 // a file (true) or just download it automatically. 373 const char kPromptForDownload[] = "download.prompt_for_download"; 374 375 // A boolean pref set to true if we're using Link Doctor error pages. 376 const char kAlternateErrorPagesEnabled[] = "alternate_error_pages.enabled"; 377 378 // OBSOLETE: new pref now stored with user prefs instead of profile, as 379 // kDnsPrefetchingStartupList. 380 const char kDnsStartupPrefetchList[] = "StartupDNSPrefetchList"; 381 382 // An adaptively identified list of domain names to be pre-fetched during the 383 // next startup, based on what was actually needed during this startup. 384 const char kDnsPrefetchingStartupList[] = "dns_prefetching.startup_list"; 385 386 // OBSOLETE: new pref now stored with user prefs instead of profile, as 387 // kDnsPrefetchingHostReferralList. 388 const char kDnsHostReferralList[] = "HostReferralList"; 389 390 // A list of host names used to fetch web pages, and their commonly used 391 // sub-resource hostnames (and expected latency benefits from pre-resolving, or 392 // preconnecting to, such sub-resource hostnames). 393 // This list is adaptively grown and pruned. 394 const char kDnsPrefetchingHostReferralList[] = 395 "dns_prefetching.host_referral_list"; 396 397 // Disables the SPDY protocol. 398 const char kDisableSpdy[] = "spdy.disabled"; 399 400 // Prefs for persisting HttpServerProperties. 401 const char kHttpServerProperties[] = "net.http_server_properties"; 402 403 // Prefs for server names that support SPDY protocol. 404 const char kSpdyServers[] = "spdy.servers"; 405 406 // Prefs for servers that support Alternate-Protocol. 407 const char kAlternateProtocolServers[] = "spdy.alternate_protocol"; 408 409 // Disables the listed protocol schemes. 410 const char kDisabledSchemes[] = "protocol.disabled_schemes"; 411 412 #if defined(OS_ANDROID) || defined(OS_IOS) 413 // Last time that a check for cloud policy management was done. This time is 414 // recorded on Android so that retries aren't attempted on every startup. 415 // Instead the cloud policy registration is retried at least 1 or 3 days later. 416 const char kLastPolicyCheckTime[] = "policy.last_policy_check_time"; 417 #endif 418 419 // Prefix URL for the experimental Instant ZeroSuggest provider. 420 const char kInstantUIZeroSuggestUrlPrefix[] = 421 "instant_ui.zero_suggest_url_prefix"; 422 423 // Used to migrate preferences from local state to user preferences to 424 // enable multiple profiles. 425 // BITMASK with possible values (see browser_prefs.cc for enum): 426 // 0: No preferences migrated. 427 // 1: DNS preferences migrated: kDnsPrefetchingStartupList and HostReferralList 428 // 2: Browser window preferences migrated: kDevToolsSplitLocation and 429 // kBrowserWindowPlacement 430 const char kMultipleProfilePrefMigration[] = 431 "local_state.multiple_profile_prefs_version"; 432 433 // A boolean pref set to true if prediction of network actions is allowed. 434 // Actions include DNS prefetching, TCP and SSL preconnection, prerendering 435 // of web pages, and resource prefetching. 436 // NOTE: The "dns_prefetching.enabled" value is used so that historical user 437 // preferences are not lost. 438 // TODO(bnc): Remove kNetworkPredictionEnabled once kNetworkPredictionOptions 439 // is functioning as per crbug.com/334602. 440 const char kNetworkPredictionEnabled[] = "dns_prefetching.enabled"; 441 442 // A preference of enum chrome_browser_net::NetworkPredictionOptions shows 443 // if prediction of network actions is allowed, depending on network type. 444 // Actions include DNS prefetching, TCP and SSL preconnection, prerendering 445 // of web pages, and resource prefetching. 446 // TODO(bnc): Implement this preference as per crbug.com/334602. 447 const char kNetworkPredictionOptions[] = "net.network_prediction_options"; 448 449 // An integer representing the state of the default apps installation process. 450 // This value is persisted in the profile's user preferences because the process 451 // is async, and the user may have stopped chrome in the middle. The next time 452 // the profile is opened, the process will continue from where it left off. 453 // 454 // See possible values in external_provider_impl.cc. 455 const char kDefaultAppsInstallState[] = "default_apps_install_state"; 456 457 // A boolean pref set to true if the Chrome Web Store icons should be hidden 458 // from the New Tab Page and app launcher. 459 const char kHideWebStoreIcon[] = "hide_web_store_icon"; 460 461 #if defined(OS_CHROMEOS) 462 // A dictionary pref to hold the mute setting for all the currently known 463 // audio devices. 464 const char kAudioDevicesMute[] = "settings.audio.devices.mute"; 465 466 // A dictionary pref storing the volume settings for all the currently known 467 // audio devices. 468 const char kAudioDevicesVolumePercent[] = 469 "settings.audio.devices.volume_percent"; 470 471 // An integer pref to initially mute volume if 1. This pref is ignored if 472 // |kAudioOutputAllowed| is set to false, but its value is preserved, therefore 473 // when the policy is lifted the original mute state is restored. This setting 474 // is here only for migration purposes now. It is being replaced by the 475 // |kAudioDevicesMute| setting. 476 const char kAudioMute[] = "settings.audio.mute"; 477 478 // A double pref storing the user-requested volume. This setting is here only 479 // for migration purposes now. It is being replaced by the 480 // |kAudioDevicesVolumePercent| setting. 481 const char kAudioVolumePercent[] = "settings.audio.volume_percent"; 482 483 // An integer pref to record user's spring charger check result. 484 // 0 - unknown charger, not checked yet. 485 // 1 - confirmed safe charger. 486 // 2 - confirmed original charger and declined to order new charger. 487 // 3 - confirmed original charger and ordered new charger online. 488 // 4 - confirmed original charger and ordered new charger by phone. 489 // 5 - confirmed original charger, ordered a new one online, but continue to use 490 // the old one. 491 // 6 - confirmed original charger, ordered a new one by phone, but continue to 492 // use the old one. 493 const char kSpringChargerCheck[] = "settings.spring_charger.check_result"; 494 495 // A boolean pref set to true if touchpad tap-to-click is enabled. 496 const char kTapToClickEnabled[] = "settings.touchpad.enable_tap_to_click"; 497 498 // A boolean pref set to true if touchpad tap-dragging is enabled. 499 const char kTapDraggingEnabled[] = "settings.touchpad.enable_tap_dragging"; 500 501 // A boolean pref set to true if touchpad three-finger-click is enabled. 502 const char kEnableTouchpadThreeFingerClick[] = 503 "settings.touchpad.enable_three_finger_click"; 504 505 // A boolean pref set to true if touchpad natural scrolling is enabled. 506 const char kNaturalScroll[] = "settings.touchpad.natural_scroll"; 507 508 // A boolean pref set to true if primary mouse button is the left button. 509 const char kPrimaryMouseButtonRight[] = "settings.mouse.primary_right"; 510 511 // A integer pref for the touchpad sensitivity. 512 const char kMouseSensitivity[] = "settings.mouse.sensitivity2"; 513 514 // A integer pref for the touchpad sensitivity. 515 const char kTouchpadSensitivity[] = "settings.touchpad.sensitivity2"; 516 517 // A boolean pref set to true if time should be displayed in 24-hour clock. 518 const char kUse24HourClock[] = "settings.clock.use_24hour_clock"; 519 520 // A boolean pref to disable Google Drive integration. 521 // The pref prefix should remain as "gdata" for backward compatibility. 522 const char kDisableDrive[] = "gdata.disabled"; 523 524 // A boolean pref to disable Drive over cellular connections. 525 // The pref prefix should remain as "gdata" for backward compatibility. 526 const char kDisableDriveOverCellular[] = "gdata.cellular.disabled"; 527 528 // A boolean pref to disable hosted files on Drive. 529 // The pref prefix should remain as "gdata" for backward compatibility. 530 const char kDisableDriveHostedFiles[] = "gdata.hosted_files.disabled"; 531 532 // A string pref set to the current input method. 533 const char kLanguageCurrentInputMethod[] = 534 "settings.language.current_input_method"; 535 536 // A string pref set to the previous input method. 537 const char kLanguagePreviousInputMethod[] = 538 "settings.language.previous_input_method"; 539 540 // A string pref (comma-separated list) set to the "next engine in menu" 541 // hot-key lists. 542 const char kLanguageHotkeyNextEngineInMenu[] = 543 "settings.language.hotkey_next_engine_in_menu"; 544 545 // A string pref (comma-separated list) set to the "previous engine" 546 // hot-key lists. 547 const char kLanguageHotkeyPreviousEngine[] = 548 "settings.language.hotkey_previous_engine"; 549 550 // A string pref (comma-separated list) set to the preferred language IDs 551 // (ex. "en-US,fr,ko"). 552 const char kLanguagePreferredLanguages[] = 553 "settings.language.preferred_languages"; 554 555 // A string pref (comma-separated list) set to the preloaded (active) input 556 // method IDs (ex. "pinyin,mozc"). 557 const char kLanguagePreloadEngines[] = "settings.language.preload_engines"; 558 559 // A List pref (comma-separated list) set to the extension IMEs to be enabled. 560 const char kLanguageEnabledExtensionImes[] = 561 "settings.language.enabled_extension_imes"; 562 563 // Integer prefs which determine how we remap modifier keys (e.g. swap Alt and 564 // Control.) Possible values for these prefs are 0-4. See ModifierKey enum in 565 // src/chrome/browser/chromeos/input_method/xkeyboard.h 566 const char kLanguageRemapSearchKeyTo[] = 567 // Note: we no longer use XKB for remapping these keys, but we can't change 568 // the pref names since the names are already synced with the cloud. 569 "settings.language.xkb_remap_search_key_to"; 570 const char kLanguageRemapControlKeyTo[] = 571 "settings.language.xkb_remap_control_key_to"; 572 const char kLanguageRemapAltKeyTo[] = 573 "settings.language.xkb_remap_alt_key_to"; 574 const char kLanguageRemapCapsLockKeyTo[] = 575 "settings.language.remap_caps_lock_key_to"; 576 const char kLanguageRemapDiamondKeyTo[] = 577 "settings.language.remap_diamond_key_to"; 578 579 // A boolean pref that causes top-row keys to be interpreted as function keys 580 // instead of as media keys. 581 const char kLanguageSendFunctionKeys[] = 582 "settings.language.send_function_keys"; 583 584 // A boolean pref which determines whether key repeat is enabled. 585 const char kLanguageXkbAutoRepeatEnabled[] = 586 "settings.language.xkb_auto_repeat_enabled_r2"; 587 // A integer pref which determines key repeat delay (in ms). 588 const char kLanguageXkbAutoRepeatDelay[] = 589 "settings.language.xkb_auto_repeat_delay_r2"; 590 // A integer pref which determines key repeat interval (in ms). 591 const char kLanguageXkbAutoRepeatInterval[] = 592 "settings.language.xkb_auto_repeat_interval_r2"; 593 // "_r2" suffixes were added to the three prefs above when we changed the 594 // preferences to not be user-configurable or sync with the cloud. The prefs are 595 // now user-configurable and syncable again, but we don't want to overwrite the 596 // current values with the old synced values, so we continue to use this suffix. 597 598 // A boolean pref which determines whether the large cursor feature is enabled. 599 const char kAccessibilityLargeCursorEnabled[] = 600 "settings.a11y.large_cursor_enabled"; 601 602 // A boolean pref which determines whether the sticky keys feature is enabled. 603 const char kAccessibilityStickyKeysEnabled[] = 604 "settings.a11y.sticky_keys_enabled"; 605 // A boolean pref which determines whether spoken feedback is enabled. 606 const char kAccessibilitySpokenFeedbackEnabled[] = "settings.accessibility"; 607 // A boolean pref which determines whether high conrast is enabled. 608 const char kAccessibilityHighContrastEnabled[] = 609 "settings.a11y.high_contrast_enabled"; 610 // A boolean pref which determines whether screen magnifier is enabled. 611 const char kAccessibilityScreenMagnifierEnabled[] = 612 "settings.a11y.screen_magnifier"; 613 // A integer pref which determines what type of screen magnifier is enabled. 614 // Note that: 'screen_magnifier_type' had been used as string pref. Hence, 615 // we are using another name pref here. 616 const char kAccessibilityScreenMagnifierType[] = 617 "settings.a11y.screen_magnifier_type2"; 618 // A double pref which determines a zooming scale of the screen magnifier. 619 const char kAccessibilityScreenMagnifierScale[] = 620 "settings.a11y.screen_magnifier_scale"; 621 // A boolean pref which determines whether the virtual keyboard is enabled for 622 // accessibility. This feature is separate from displaying an onscreen keyboard 623 // due to lack of a physical keyboard. 624 const char kAccessibilityVirtualKeyboardEnabled[] = 625 "settings.a11y.virtual_keyboard"; 626 // A boolean pref which determines whether autoclick is enabled. 627 const char kAccessibilityAutoclickEnabled[] = "settings.a11y.autoclick"; 628 // An integer pref which determines time in ms between when the mouse cursor 629 // stops and when an autoclick is triggered. 630 const char kAccessibilityAutoclickDelayMs[] = 631 "settings.a11y.autoclick_delay_ms"; 632 // A boolean pref which determines whether the accessibility menu shows 633 // regardless of the state of a11y features. 634 const char kShouldAlwaysShowAccessibilityMenu[] = "settings.a11y.enable_menu"; 635 636 // A boolean pref which turns on Advanced Filesystem 637 // (USB support, SD card, etc). 638 const char kLabsAdvancedFilesystemEnabled[] = 639 "settings.labs.advanced_filesystem"; 640 641 // A boolean pref which turns on the mediaplayer. 642 const char kLabsMediaplayerEnabled[] = "settings.labs.mediaplayer"; 643 644 // A boolean pref that turns on automatic screen locking. 645 const char kEnableAutoScreenLock[] = "settings.enable_screen_lock"; 646 647 // A boolean pref of whether to show mobile plan notifications. 648 const char kShowPlanNotifications[] = 649 "settings.internet.mobile.show_plan_notifications"; 650 651 // A boolean pref of whether to show 3G promo notification. 652 const char kShow3gPromoNotification[] = 653 "settings.internet.mobile.show_3g_promo_notification"; 654 655 // A string pref that contains version where "What's new" promo was shown. 656 const char kChromeOSReleaseNotesVersion[] = "settings.release_notes.version"; 657 658 // A boolean pref that controls whether proxy settings from shared network 659 // settings (accordingly from device policy) are applied or ignored. 660 const char kUseSharedProxies[] = "settings.use_shared_proxies"; 661 662 // Power state of the current displays from the last run. 663 const char kDisplayPowerState[] = "settings.display.power_state"; 664 // A dictionary pref that stores per display preferences. 665 const char kDisplayProperties[] = "settings.display.properties"; 666 667 // A dictionary pref that specifies per-display layout/offset information. 668 // Its key is the ID of the display and its value is a dictionary for the 669 // layout/offset information. 670 const char kSecondaryDisplays[] = "settings.display.secondary_displays"; 671 672 // A dictionary pref that specifies the state of the rotation lock, and the 673 // display orientation, for the internal display. 674 const char kDisplayRotationLock[] = "settings.display.rotation_lock"; 675 676 // A boolean pref indicating whether user activity has been observed in the 677 // current session already. The pref is used to restore information about user 678 // activity after browser crashes. 679 const char kSessionUserActivitySeen[] = "session.user_activity_seen"; 680 681 // A preference to keep track of the session start time. If the session length 682 // limit is configured to start running after initial user activity has been 683 // observed, the pref is set after the first user activity in a session. 684 // Otherwise, it is set immediately after session start. The pref is used to 685 // restore the session start time after browser crashes. The time is expressed 686 // as the serialization obtained from base::TimeTicks::ToInternalValue(). 687 const char kSessionStartTime[] = "session.start_time"; 688 689 // Holds the maximum session time in milliseconds. If this pref is set, the 690 // user is logged out when the maximum session time is reached. The user is 691 // informed about the remaining time by a countdown timer shown in the ash 692 // system tray. 693 const char kSessionLengthLimit[] = "session.length_limit"; 694 695 // Whether the session length limit should start running only after the first 696 // user activity has been observed in a session. 697 const char kSessionWaitForInitialUserActivity[] = 698 "session.wait_for_initial_user_activity"; 699 700 // Inactivity time in milliseconds while the system is on AC power before 701 // the screen should be dimmed, turned off, or locked, before an 702 // IdleActionImminent D-Bus signal should be sent, or before 703 // kPowerAcIdleAction should be performed. 0 disables the delay (N/A for 704 // kPowerAcIdleDelayMs). 705 const char kPowerAcScreenDimDelayMs[] = "power.ac_screen_dim_delay_ms"; 706 const char kPowerAcScreenOffDelayMs[] = "power.ac_screen_off_delay_ms"; 707 const char kPowerAcScreenLockDelayMs[] = "power.ac_screen_lock_delay_ms"; 708 const char kPowerAcIdleWarningDelayMs[] = "power.ac_idle_warning_delay_ms"; 709 const char kPowerAcIdleDelayMs[] = "power.ac_idle_delay_ms"; 710 711 // Similar delays while the system is on battery power. 712 const char kPowerBatteryScreenDimDelayMs[] = 713 "power.battery_screen_dim_delay_ms"; 714 const char kPowerBatteryScreenOffDelayMs[] = 715 "power.battery_screen_off_delay_ms"; 716 const char kPowerBatteryScreenLockDelayMs[] = 717 "power.battery_screen_lock_delay_ms"; 718 const char kPowerBatteryIdleWarningDelayMs[] = 719 "power.battery_idle_warning_delay_ms"; 720 const char kPowerBatteryIdleDelayMs[] = 721 "power.battery_idle_delay_ms"; 722 723 // Action that should be performed when the idle delay is reached while the 724 // system is on AC power or battery power. 725 // Values are from the chromeos::PowerPolicyController::Action enum. 726 const char kPowerAcIdleAction[] = "power.ac_idle_action"; 727 const char kPowerBatteryIdleAction[] = "power.battery_idle_action"; 728 729 // Action that should be performed when the lid is closed. 730 // Values are from the chromeos::PowerPolicyController::Action enum. 731 const char kPowerLidClosedAction[] = "power.lid_closed_action"; 732 733 // Should audio and video activity be used to disable the above delays? 734 const char kPowerUseAudioActivity[] = "power.use_audio_activity"; 735 const char kPowerUseVideoActivity[] = "power.use_video_activity"; 736 737 // Should extensions be able to use the chrome.power API to override 738 // screen-related power management (including locking)? 739 const char kPowerAllowScreenWakeLocks[] = "power.allow_screen_wake_locks"; 740 741 // Amount by which the screen-dim delay should be scaled while the system 742 // is in presentation mode. Values are limited to a minimum of 1.0. 743 const char kPowerPresentationScreenDimDelayFactor[] = 744 "power.presentation_screen_dim_delay_factor"; 745 746 // Amount by which the screen-dim delay should be scaled when user activity is 747 // observed while the screen is dimmed or soon after the screen has been turned 748 // off. Values are limited to a minimum of 1.0. 749 const char kPowerUserActivityScreenDimDelayFactor[] = 750 "power.user_activity_screen_dim_delay_factor"; 751 752 // Whether the power management delays should start running only after the first 753 // user activity has been observed in a session. 754 const char kPowerWaitForInitialUserActivity[] = 755 "power.wait_for_initial_user_activity"; 756 757 // The URL from which the Terms of Service can be downloaded. The value is only 758 // honored for public accounts. 759 const char kTermsOfServiceURL[] = "terms_of_service.url"; 760 761 // Indicates that the Profile has made navigations that used a certificate 762 // installed by the system administrator. If that is true then the local cache 763 // of remote data is tainted (e.g. shared scripts), and future navigations 764 // show a warning indicating that the organization may track the browsing 765 // session. 766 const char kUsedPolicyCertificatesOnce[] = "used_policy_certificates_once"; 767 768 // Indicates whether the remote attestation is enabled for the user. 769 const char kAttestationEnabled[] = "attestation.enabled"; 770 // The list of extensions allowed to use the platformKeysPrivate API for 771 // remote attestation. 772 const char kAttestationExtensionWhitelist[] = "attestation.extension_whitelist"; 773 774 // A boolean pref indicating whether the projection touch HUD is enabled or not. 775 const char kTouchHudProjectionEnabled[] = "touch_hud.projection_enabled"; 776 777 // A pref to configure networks. Its value must be a list of 778 // NetworkConfigurations according to the OpenNetworkConfiguration 779 // specification. 780 // Currently, this pref is only used to store the policy. The user's 781 // configuration is still stored in Shill. 782 const char kOpenNetworkConfiguration[] = "onc"; 783 784 // A boolean pref that tracks whether the user has already given consent for 785 // enabling remote attestation for content protection. 786 const char kRAConsentFirstTime[] = "settings.privacy.ra_consent"; 787 788 // A boolean pref recording whether user has dismissed the multiprofile 789 // itroduction dialog show. 790 const char kMultiProfileNeverShowIntro[] = 791 "settings.multi_profile_never_show_intro"; 792 793 // A boolean pref recording whether user has dismissed the multiprofile 794 // teleport warning dialog show. 795 const char kMultiProfileWarningShowDismissed[] = 796 "settings.multi_profile_warning_show_dismissed"; 797 798 // A string pref that holds string enum values of how the user should behave 799 // in a multiprofile session. See ChromeOsMultiProfileUserBehavior policy 800 // for more details of the valid values. 801 const char kMultiProfileUserBehavior[] = "settings.multiprofile_user_behavior"; 802 803 // A boolean preference indicating whether user has seen first-run tutorial 804 // already. 805 const char kFirstRunTutorialShown[] = "settings.first_run_tutorial_shown"; 806 807 // Indicates the amount of time for which a user authenticated via SAML can use 808 // offline authentication against a cached password before being forced to go 809 // through online authentication against GAIA again. The time is expressed in 810 // seconds. A value of -1 indicates no limit, allowing the user to use offline 811 // authentication indefinitely. The limit is in effect only if GAIA redirected 812 // the user to a SAML IdP during the last online authentication. 813 const char kSAMLOfflineSigninTimeLimit[] = "saml.offline_signin_time_limit"; 814 815 // A preference to keep track of the last time the user authenticated against 816 // GAIA using SAML. The preference is updated whenever the user authenticates 817 // against GAIA: If GAIA redirects to a SAML IdP, the preference is set to the 818 // current time. If GAIA performs the authentication itself, the preference is 819 // cleared. The time is expressed as the serialization obtained from 820 // base::Time::ToInternalValue(). 821 const char kSAMLLastGAIASignInTime[] = "saml.last_gaia_sign_in_time"; 822 823 // The total number of seconds that the machine has spent sitting on the 824 // OOBE screen. 825 const char kTimeOnOobe[] = "settings.time_on_oobe"; 826 827 // The app/extension name who sets the current wallpaper. If current wallpaper 828 // is set by the component wallpaper picker, it is set to an empty string. 829 const char kCurrentWallpaperAppName[] = "wallpaper.app.name"; 830 831 // List of mounted file systems via the File System Provider API. Used to 832 // restore them after a reboot. 833 const char kFileSystemProviderMounted[] = "file_system_provider.mounted"; 834 835 // A boolean pref set to true if the virtual keyboard should be enabled. 836 const char kTouchVirtualKeyboardEnabled[] = "ui.touch_virtual_keyboard_enabled"; 837 838 #endif // defined(OS_CHROMEOS) 839 840 // The disabled messages in IPC logging. 841 const char kIpcDisabledMessages[] = "ipc_log_disabled_messages"; 842 843 // A boolean pref set to true if a Home button to open the Home pages should be 844 // visible on the toolbar. 845 const char kShowHomeButton[] = "browser.show_home_button"; 846 847 // A string value which saves short list of recently user selected encodings 848 // separated with comma punctuation mark. 849 const char kRecentlySelectedEncoding[] = "profile.recently_selected_encodings"; 850 851 // Clear Browsing Data dialog preferences. 852 const char kDeleteBrowsingHistory[] = "browser.clear_data.browsing_history"; 853 const char kDeleteDownloadHistory[] = "browser.clear_data.download_history"; 854 const char kDeleteCache[] = "browser.clear_data.cache"; 855 const char kDeleteCookies[] = "browser.clear_data.cookies"; 856 const char kDeletePasswords[] = "browser.clear_data.passwords"; 857 const char kDeleteFormData[] = "browser.clear_data.form_data"; 858 const char kDeleteHostedAppsData[] = "browser.clear_data.hosted_apps_data"; 859 const char kDeauthorizeContentLicenses[] = 860 "browser.clear_data.content_licenses"; 861 const char kDeleteTimePeriod[] = "browser.clear_data.time_period"; 862 const char kLastClearBrowsingDataTime[] = 863 "browser.last_clear_browsing_data_time"; 864 865 // Boolean pref to define the default values for using spellchecker. 866 const char kEnableContinuousSpellcheck[] = "browser.enable_spellchecking"; 867 868 // List of names of the enabled labs experiments (see chrome/browser/labs.cc). 869 const char kEnabledLabsExperiments[] = "browser.enabled_labs_experiments"; 870 871 // Boolean pref to define the default values for using auto spell correct. 872 const char kEnableAutoSpellCorrect[] = "browser.enable_autospellcorrect"; 873 874 // Boolean pref to define the default setting for "block offensive words". 875 // The old key value is kept to avoid unnecessary migration code. 876 const char kSpeechRecognitionFilterProfanities[] = 877 "browser.speechinput_censor_results"; 878 879 // List of speech recognition context names (extensions or websites) for which 880 // the tray notification balloon has already been shown. 881 const char kSpeechRecognitionTrayNotificationShownContexts[] = 882 "browser.speechinput_tray_notification_shown_contexts"; 883 884 // Boolean controlling whether history saving is disabled. 885 const char kSavingBrowserHistoryDisabled[] = "history.saving_disabled"; 886 887 // Boolean controlling whether deleting browsing and download history is 888 // permitted. 889 const char kAllowDeletingBrowserHistory[] = "history.deleting_enabled"; 890 891 // Boolean controlling whether SafeSearch is mandatory for Google Web Searches. 892 const char kForceSafeSearch[] = "settings.force_safesearch"; 893 894 #if defined(OS_LINUX) && !defined(OS_CHROMEOS) 895 // Linux specific preference on whether we should match the system theme. 896 const char kUsesSystemTheme[] = "extensions.theme.use_system"; 897 #endif 898 const char kCurrentThemePackFilename[] = "extensions.theme.pack"; 899 const char kCurrentThemeID[] = "extensions.theme.id"; 900 const char kCurrentThemeImages[] = "extensions.theme.images"; 901 const char kCurrentThemeColors[] = "extensions.theme.colors"; 902 const char kCurrentThemeTints[] = "extensions.theme.tints"; 903 const char kCurrentThemeDisplayProperties[] = "extensions.theme.properties"; 904 905 // Boolean pref which persists whether the extensions_ui is in developer mode 906 // (showing developer packing tools and extensions details) 907 const char kExtensionsUIDeveloperMode[] = "extensions.ui.developer_mode"; 908 909 // Boolean pref which indicates whether the Chrome Apps & Extensions Developer 910 // Tool promotion has been dismissed by the user. 911 const char kExtensionsUIDismissedADTPromo[] = 912 "extensions.ui.dismissed_adt_promo"; 913 914 // Dictionary pref that tracks which command belongs to which 915 // extension + named command pair. 916 const char kExtensionCommands[] = "extensions.commands"; 917 918 // Pref containing the directory for internal plugins as written to the plugins 919 // list (below). 920 const char kPluginsLastInternalDirectory[] = "plugins.last_internal_directory"; 921 922 // List pref containing information (dictionaries) on plugins. 923 const char kPluginsPluginsList[] = "plugins.plugins_list"; 924 925 // List pref containing names of plugins that are disabled by policy. 926 const char kPluginsDisabledPlugins[] = "plugins.plugins_disabled"; 927 928 // List pref containing exceptions to the list of plugins disabled by policy. 929 const char kPluginsDisabledPluginsExceptions[] = 930 "plugins.plugins_disabled_exceptions"; 931 932 // List pref containing names of plugins that are enabled by policy. 933 const char kPluginsEnabledPlugins[] = "plugins.plugins_enabled"; 934 935 // When bundled NPAPI Flash is removed, if at that point it is enabled while 936 // Pepper Flash is disabled, we would like to turn on Pepper Flash. And we will 937 // want to do so only once. 938 const char kPluginsMigratedToPepperFlash[] = "plugins.migrated_to_pepper_flash"; 939 940 // In the early stage of component-updated PPAPI Flash, we did field trials in 941 // which it was set to disabled by default. The corresponding settings item may 942 // remain in some users' profiles. Currently it affects both the bundled and 943 // component-updated PPAPI Flash (since the two share the same enable/disable 944 // state). We want to remove this item to get those users to use PPAPI Flash. 945 // We will want to do so only once. 946 const char kPluginsRemovedOldComponentPepperFlashSettings[] = 947 "plugins.removed_old_component_pepper_flash_settings"; 948 949 #if !defined(OS_ANDROID) 950 // Whether about:plugins is shown in the details mode or not. 951 const char kPluginsShowDetails[] = "plugins.show_details"; 952 #endif 953 954 // Boolean that indicates whether outdated plugins are allowed or not. 955 const char kPluginsAllowOutdated[] = "plugins.allow_outdated"; 956 957 // Boolean that indicates whether plugins that require authorization should 958 // be always allowed or not. 959 const char kPluginsAlwaysAuthorize[] = "plugins.always_authorize"; 960 961 #if defined(ENABLE_PLUGIN_INSTALLATION) 962 // Dictionary holding plug-ins metadata. 963 const char kPluginsMetadata[] = "plugins.metadata"; 964 965 // Last update time of plug-ins resource cache. 966 const char kPluginsResourceCacheUpdate[] = "plugins.resource_cache_update"; 967 #endif 968 969 // Boolean that indicates whether we should check if we are the default browser 970 // on start-up. 971 const char kCheckDefaultBrowser[] = "browser.check_default_browser"; 972 973 // Policy setting whether default browser check should be disabled and default 974 // browser registration should take place. 975 const char kDefaultBrowserSettingEnabled[] = 976 "browser.default_browser_setting_enabled"; 977 978 #if defined(OS_MACOSX) 979 // Boolean that indicates whether the application should show the info bar 980 // asking the user to set up automatic updates when Keystone promotion is 981 // required. 982 const char kShowUpdatePromotionInfoBar[] = 983 "browser.show_update_promotion_info_bar"; 984 #endif 985 986 // Boolean that is false if we should show window manager decorations. If 987 // true, we draw a custom chrome frame (thicker title bar and blue border). 988 const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame"; 989 990 // Dictionary of content settings applied to all hosts by default. 991 const char kDefaultContentSettings[] = "profile.default_content_settings"; 992 993 // Dictionary of content settings that can globally disallow all hosts by 994 // default. If a value is set, it means the setting is globally disallowed. 995 // If a value is not set, it means the setting is allowed. 996 const char kOverrideContentSettings[] = "profile.override_content_settings"; 997 998 // Boolean indicating whether the clear on exit pref was migrated to content 999 // settings yet. 1000 const char kContentSettingsClearOnExitMigrated[] = 1001 "profile.content_settings.clear_on_exit_migrated"; 1002 1003 // Version of the pattern format used to define content settings. 1004 const char kContentSettingsVersion[] = "profile.content_settings.pref_version"; 1005 1006 // Patterns for mapping origins to origin related settings. Default settings 1007 // will be applied to origins that don't match any of the patterns. The pattern 1008 // format used is defined by kContentSettingsVersion. 1009 const char kContentSettingsPatternPairs[] = 1010 "profile.content_settings.pattern_pairs"; 1011 1012 #if !defined(OS_ANDROID) 1013 // Which plugins have been whitelisted manually by the user. 1014 const char kContentSettingsPluginWhitelist[] = 1015 "profile.content_settings.plugin_whitelist"; 1016 #endif 1017 1018 // Boolean that is true if we should unconditionally block third-party cookies, 1019 // regardless of other content settings. 1020 const char kBlockThirdPartyCookies[] = "profile.block_third_party_cookies"; 1021 1022 // Boolean that is true when all locally stored site data (e.g. cookies, local 1023 // storage, etc..) should be deleted on exit. 1024 const char kClearSiteDataOnExit[] = "profile.clear_site_data_on_exit"; 1025 1026 // Double that indicates the default zoom level. 1027 const char kDefaultZoomLevel[] = "profile.default_zoom_level"; 1028 1029 // Dictionary that maps hostnames to zoom levels. Hosts not in this pref will 1030 // be displayed at the default zoom level. 1031 const char kPerHostZoomLevels[] = "profile.per_host_zoom_levels"; 1032 1033 // A dictionary that tracks the default data model to use for each section of 1034 // the dialog. 1035 const char kAutofillDialogAutofillDefault[] = "autofill.data_model_default"; 1036 1037 // Whether a user opted out of making purchases with Google Wallet; changed via 1038 // the autofill dialog's account chooser and set explicitly on dialog submission 1039 // (but not cancel). If this isn't set, the dialog assumes it's the first run. 1040 const char kAutofillDialogPayWithoutWallet[] = "autofill.pay_without_wallet"; 1041 1042 // Which GAIA users have accepted that use of Google Wallet implies their 1043 // location will be shared with fraud protection services. 1044 const char kAutofillDialogWalletLocationAcceptance[] = 1045 "autofill.wallet_location_disclosure"; 1046 1047 // Whether a user wants to save data locally in Autofill. 1048 const char kAutofillDialogSaveData[] = "autofill.save_data"; 1049 1050 // Whether the user has selected "Same as billing" for the shipping address when 1051 // using Google Wallet. 1052 const char kAutofillDialogWalletShippingSameAsBilling[] = 1053 "autofill.wallet_shipping_same_as_billing"; 1054 1055 // The number of times the generated credit card bubble has been shown. 1056 const char kAutofillGeneratedCardBubbleTimesShown[] = 1057 "autofill.generated_card_bubble_times_shown"; 1058 1059 // A dictionary that tracks the defaults to be set on the next invocation 1060 // of the requestAutocomplete dialog. 1061 const char kAutofillDialogDefaults[] = "autofill.rac_dialog_defaults"; 1062 1063 #if !defined(OS_ANDROID) 1064 const char kPinnedTabs[] = "pinned_tabs"; 1065 #endif 1066 1067 #if defined(OS_ANDROID) 1068 // Boolean that controls the enabled-state of Geolocation in content. 1069 const char kGeolocationEnabled[] = "geolocation.enabled"; 1070 #endif 1071 1072 #if defined(ENABLE_GOOGLE_NOW) 1073 // Boolean that is true when Google services can use the user's location. 1074 const char kGoogleGeolocationAccessEnabled[] = 1075 "googlegeolocationaccess.enabled"; 1076 #endif 1077 1078 // The default audio capture device used by the Media content setting. 1079 const char kDefaultAudioCaptureDevice[] = "media.default_audio_capture_device"; 1080 1081 // The default video capture device used by the Media content setting. 1082 const char kDefaultVideoCaptureDevice[] = "media.default_video_capture_Device"; 1083 1084 // The salt used for creating random MediaSource IDs. 1085 const char kMediaDeviceIdSalt[] = "media.device_id_salt"; 1086 1087 // Preference to disable 3D APIs (WebGL, Pepper 3D). 1088 const char kDisable3DAPIs[] = "disable_3d_apis"; 1089 1090 const char kEnableDeprecatedWebPlatformFeatures[] = 1091 "enable_deprecated_web_platform_features"; 1092 1093 // Whether to enable hyperlink auditing ("<a ping>"). 1094 const char kEnableHyperlinkAuditing[] = "enable_a_ping"; 1095 1096 // Whether to enable sending referrers. 1097 const char kEnableReferrers[] = "enable_referrers"; 1098 1099 // Whether to send the DNT header. 1100 const char kEnableDoNotTrack[] = "enable_do_not_track"; 1101 1102 // GL_VENDOR string. 1103 const char kGLVendorString[] = "gl_vendor_string"; 1104 1105 // GL_RENDERER string. 1106 const char kGLRendererString[] = "gl_renderer_string"; 1107 1108 // GL_VERSION string. 1109 const char kGLVersionString[] = "gl_version_string"; 1110 1111 // Boolean that specifies whether to import the form data for autofill from the 1112 // default browser on first run. 1113 const char kImportAutofillFormData[] = "import_autofill_form_data"; 1114 1115 // Boolean that specifies whether to import bookmarks from the default browser 1116 // on first run. 1117 const char kImportBookmarks[] = "import_bookmarks"; 1118 1119 // Boolean that specifies whether to import the browsing history from the 1120 // default browser on first run. 1121 const char kImportHistory[] = "import_history"; 1122 1123 // Boolean that specifies whether to import the homepage from the default 1124 // browser on first run. 1125 const char kImportHomepage[] = "import_home_page"; 1126 1127 // Boolean that specifies whether to import the saved passwords from the default 1128 // browser on first run. 1129 const char kImportSavedPasswords[] = "import_saved_passwords"; 1130 1131 // Boolean that specifies whether to import the search engine from the default 1132 // browser on first run. 1133 const char kImportSearchEngine[] = "import_search_engine"; 1134 1135 // Profile avatar and name 1136 const char kProfileAvatarIndex[] = "profile.avatar_index"; 1137 const char kProfileName[] = "profile.name"; 1138 // Whether a profile is using a default avatar name (eg. Pickles or Person 1) 1139 // because it was randomly assigned at profile creation time. 1140 const char kProfileUsingDefaultName[] = "profile.using_default_name"; 1141 // Whether a profile is using an avatar without having explicitely chosen it 1142 // (i.e. was assigned by default by legacy profile creation). 1143 const char kProfileUsingDefaultAvatar[] = "profile.using_default_avatar"; 1144 const char kProfileUsingGAIAAvatar[] = "profile.using_gaia_avatar"; 1145 1146 // The supervised user ID. 1147 const char kSupervisedUserId[] = "profile.managed_user_id"; 1148 1149 // 64-bit integer serialization of the base::Time when the user's GAIA info 1150 // was last updated. 1151 const char kProfileGAIAInfoUpdateTime[] = "profile.gaia_info_update_time"; 1152 1153 // The URL from which the GAIA profile picture was downloaded. This is cached to 1154 // prevent the same picture from being downloaded multiple times. 1155 const char kProfileGAIAInfoPictureURL[] = "profile.gaia_info_picture_url"; 1156 1157 // Integer that specifies the number of times that we have shown the upgrade 1158 // tutorial card in the avatar menu bubble. 1159 const char kProfileAvatarTutorialShown[] = 1160 "profile.avatar_bubble_tutorial_shown"; 1161 1162 // Indicates if we've already shown a notification that high contrast 1163 // mode is on, recommending high-contrast extensions and themes. 1164 const char kInvertNotificationShown[] = "invert_notification_version_2_shown"; 1165 1166 // Boolean controlling whether printing is enabled. 1167 const char kPrintingEnabled[] = "printing.enabled"; 1168 1169 // Boolean controlling whether print preview is disabled. 1170 const char kPrintPreviewDisabled[] = "printing.print_preview_disabled"; 1171 1172 // An integer pref specifying the fallback behavior for sites outside of content 1173 // packs. One of: 1174 // 0: Allow (does nothing) 1175 // 1: Warn. 1176 // 2: Block. 1177 const char kDefaultSupervisedUserFilteringBehavior[] = 1178 "profile.managed.default_filtering_behavior"; 1179 1180 // Whether this user is permitted to create supervised users. 1181 const char kSupervisedUserCreationAllowed[] = 1182 "profile.managed_user_creation_allowed"; 1183 1184 // List pref containing the users supervised by this user. 1185 const char kSupervisedUsers[] = "profile.managed_users"; 1186 1187 // String that indicates that the profile reset prompt has already been shown to 1188 // the user (profile). 1189 const char kProfileResetPromptMementoInProfilePrefs[] = 1190 "profile.reset_prompt_memento"; 1191 1192 // List pref containing the extension ids which are not allowed to send 1193 // notifications to the message center. 1194 const char kMessageCenterDisabledExtensionIds[] = 1195 "message_center.disabled_extension_ids"; 1196 1197 // List pref containing the system component ids which are not allowed to send 1198 // notifications to the message center. 1199 const char kMessageCenterDisabledSystemComponentIds[] = 1200 "message_center.disabled_system_component_ids"; 1201 1202 // Boolean pref indicating the Chrome Now welcome notification was dismissed 1203 // by the user. Syncable. 1204 // Note: This is now read-only. The welcome notification writes the _local 1205 // version, below. 1206 extern const char kWelcomeNotificationDismissed[] = 1207 "message_center.welcome_notification_dismissed"; 1208 1209 // Boolean pref indicating the Chrome Now welcome notification was dismissed 1210 // by the user on this machine. 1211 extern const char kWelcomeNotificationDismissedLocal[] = 1212 "message_center.welcome_notification_dismissed_local"; 1213 1214 // Boolean pref indicating the welcome notification was previously popped up. 1215 extern const char kWelcomeNotificationPreviouslyPoppedUp[] = 1216 "message_center.welcome_notification_previously_popped_up"; 1217 1218 // Integer pref containing the expiration timestamp of the welcome notification. 1219 extern const char kWelcomeNotificationExpirationTimestamp[] = 1220 "message_center.welcome_notification_expiration_timestamp"; 1221 1222 // Boolean pref that determines whether the user can enter fullscreen mode. 1223 // Disabling fullscreen mode also makes kiosk mode unavailable on desktop 1224 // platforms. 1225 extern const char kFullscreenAllowed[] = "fullscreen.allowed"; 1226 1227 // Enable notifications for new devices on the local network that can be 1228 // registered to the user's account, e.g. Google Cloud Print printers. 1229 const char kLocalDiscoveryNotificationsEnabled[] = 1230 "local_discovery.notifications_enabled"; 1231 1232 // A timestamp (stored in base::Time::ToInternalValue format) of the last time 1233 // a preference was reset. 1234 const char kPreferenceResetTime[] = "prefs.preference_reset_time"; 1235 1236 // The GCM channel's enabled state. 1237 const char kGCMChannelEnabled[] = "gcm.channel_enabled"; 1238 1239 // How many Service Workers are registered with the Push API (could be zero). 1240 const char kPushMessagingRegistrationCount[] = 1241 "gcm.push_messaging_registration_count"; 1242 1243 // Whether Easy Unlock is enabled. 1244 const char kEasyUnlockEnabled[] = "easy_unlock.enabled"; 1245 1246 // Whether to show the Easy Unlock first run tutorial. 1247 const char kEasyUnlockShowTutorial[] = "easy_unlock.show_tutorial"; 1248 1249 // Preference storing Easy Unlock pairing data. 1250 const char kEasyUnlockPairing[] = "easy_unlock.pairing"; 1251 1252 // Whether a user is allowed to use Easy Unlock. 1253 const char kEasyUnlockAllowed[] = "easy_unlock.allowed"; 1254 1255 // A cache of zero suggest results using JSON serialized into a string. 1256 const char kZeroSuggestCachedResults[] = "zerosuggest.cachedresults"; 1257 1258 // *************** LOCAL STATE *************** 1259 // These are attached to the machine/installation 1260 1261 // A pref to configure networks device-wide. Its value must be a list of 1262 // NetworkConfigurations according to the OpenNetworkConfiguration 1263 // specification. 1264 // Currently, this pref is only used to store the policy. The user's 1265 // configuration is still stored in Shill. 1266 const char kDeviceOpenNetworkConfiguration[] = "device_onc"; 1267 1268 // Directory of the last profile used. 1269 const char kProfileLastUsed[] = "profile.last_used"; 1270 1271 // List of directories of the profiles last active. 1272 const char kProfilesLastActive[] = "profile.last_active_profiles"; 1273 1274 // Total number of profiles created for this Chrome build. Used to tag profile 1275 // directories. 1276 const char kProfilesNumCreated[] = "profile.profiles_created"; 1277 1278 // String containing the version of Chrome that the profile was created by. 1279 // If profile was created before this feature was added, this pref will default 1280 // to "1.0.0.0". 1281 const char kProfileCreatedByVersion[] = "profile.created_by_version"; 1282 1283 // A map of profile data directory to cached information. This cache can be 1284 // used to display information about profiles without actually having to load 1285 // them. 1286 const char kProfileInfoCache[] = "profile.info_cache"; 1287 1288 // Dictionary that maps profile keys to strings that indicate that the profile 1289 // reset prompt has already been shown to the corresponding user (profile). 1290 // This is semantically similar to kProfileResetPromptMementoInProfilePrefs, see 1291 // chrome/browser/profile_resetter/automatic_profile_resetter_mementos.h for an 1292 // explanation of why this redundancy is needed. 1293 const char kProfileResetPromptMementosInLocalState[] = 1294 "profile.reset_prompt_mementos"; 1295 1296 // Prefs for SSLConfigServicePref. 1297 const char kCertRevocationCheckingEnabled[] = "ssl.rev_checking.enabled"; 1298 const char kCertRevocationCheckingRequiredLocalAnchors[] = 1299 "ssl.rev_checking.required_for_local_anchors"; 1300 const char kSSLVersionMin[] = "ssl.version_min"; 1301 const char kSSLVersionMax[] = "ssl.version_max"; 1302 const char kSSLVersionFallbackMin[] = "ssl.version_fallback_min"; 1303 const char kCipherSuiteBlacklist[] = "ssl.cipher_suites.blacklist"; 1304 const char kDisableSSLRecordSplitting[] = "ssl.ssl_record_splitting.disabled"; 1305 1306 // Dictionary of dates when a site's SSL blocking interstitial was proceeded 1307 // through. 1308 const char kSSLBlockingBypassed[] = "ssl.ssl_blocking_bypassed"; 1309 1310 // A boolean pref of the EULA accepted flag. 1311 const char kEulaAccepted[] = "EulaAccepted"; 1312 1313 // Boolean that specifies whether or not crash reporting and metrics reporting 1314 // are sent over the network for analysis. 1315 const char kMetricsReportingEnabled[] = 1316 "user_experience_metrics.reporting_enabled"; 1317 1318 // Boolean that specifies whether or not crash reports are sent 1319 // over the network for analysis. 1320 #if defined(OS_ANDROID) 1321 const char kCrashReportingEnabled[] = 1322 "user_experience_metrics_crash.reporting_enabled"; 1323 #endif 1324 1325 // 64-bit integer serialization of the base::Time from the last successful seed 1326 // fetch (i.e. when the Variations server responds with 200 or 304). 1327 const char kVariationsLastFetchTime[] = "variations_last_fetch_time"; 1328 1329 // String for the restrict parameter to be appended to the variations URL. 1330 const char kVariationsRestrictParameter[] = "variations_restrict_parameter"; 1331 1332 // String serialized form of variations seed protobuf. 1333 const char kVariationsSeed[] = "variations_seed"; 1334 1335 // 64-bit integer serialization of the base::Time from the last seed received. 1336 const char kVariationsSeedDate[] = "variations_seed_date"; 1337 1338 // SHA-1 hash of the serialized variations seed data (hex encoded). 1339 const char kVariationsSeedHash[] = "variations_seed_hash"; 1340 1341 // Digital signature of the binary variations seed data, base64-encoded. 1342 const char kVariationsSeedSignature[] = "variations_seed_signature"; 1343 1344 // Number of times a page load event occurred since the last report. 1345 const char kStabilityPageLoadCount[] = 1346 "user_experience_metrics.stability.page_load_count"; 1347 1348 // Number of times a renderer process crashed since the last report. 1349 const char kStabilityRendererCrashCount[] = 1350 "user_experience_metrics.stability.renderer_crash_count"; 1351 1352 // Number of times an extension renderer process crashed since the last report. 1353 const char kStabilityExtensionRendererCrashCount[] = 1354 "user_experience_metrics.stability.extension_renderer_crash_count"; 1355 1356 // This is the location of a list of dictionaries of plugin stability stats. 1357 const char kStabilityPluginStats[] = 1358 "user_experience_metrics.stability.plugin_stats2"; 1359 1360 // Number of times the renderer has become non-responsive since the last 1361 // report. 1362 const char kStabilityRendererHangCount[] = 1363 "user_experience_metrics.stability.renderer_hang_count"; 1364 1365 // Total number of child process crashes (other than renderer / extension 1366 // renderer ones, and plugin children, which are counted separately) since the 1367 // last report. 1368 const char kStabilityChildProcessCrashCount[] = 1369 "user_experience_metrics.stability.child_process_crash_count"; 1370 1371 // On Chrome OS, total number of non-Chrome user process crashes 1372 // since the last report. 1373 const char kStabilityOtherUserCrashCount[] = 1374 "user_experience_metrics.stability.other_user_crash_count"; 1375 1376 // On Chrome OS, total number of kernel crashes since the last report. 1377 const char kStabilityKernelCrashCount[] = 1378 "user_experience_metrics.stability.kernel_crash_count"; 1379 1380 // On Chrome OS, total number of unclean system shutdowns since the 1381 // last report. 1382 const char kStabilitySystemUncleanShutdownCount[] = 1383 "user_experience_metrics.stability.system_unclean_shutdowns"; 1384 1385 #if defined(OS_ANDROID) 1386 // Activity type that is currently in the foreground for the UMA session. 1387 // Uses the ActivityTypeIds::Type enum. 1388 const char kStabilityForegroundActivityType[] = 1389 "user_experience_metrics.stability.current_foreground_activity_type"; 1390 1391 // Tracks which Activities were launched during the last session. 1392 // See |metrics_service_android.cc| for its usage. 1393 const char kStabilityLaunchedActivityFlags[] = 1394 "user_experience_metrics.stability.launched_activity_flags"; 1395 1396 // List pref: Counts how many times each Activity was launched. 1397 // Indexed into by ActivityTypeIds::Type. 1398 const char kStabilityLaunchedActivityCounts[] = 1399 "user_experience_metrics.stability.launched_activity_counts"; 1400 1401 // List pref: Counts how many times each Activity type was in the foreground 1402 // when a UMA session failed to be shut down properly. 1403 // Indexed into by ActivityTypeIds::Type. 1404 const char kStabilityCrashedActivityCounts[] = 1405 "user_experience_metrics.stability.crashed_activity_counts"; 1406 #endif 1407 1408 // The keys below are used for the dictionaries in the 1409 // kStabilityPluginStats list. 1410 const char kStabilityPluginName[] = "name"; 1411 const char kStabilityPluginLaunches[] = "launches"; 1412 const char kStabilityPluginInstances[] = "instances"; 1413 const char kStabilityPluginCrashes[] = "crashes"; 1414 const char kStabilityPluginLoadingErrors[] = "loading_errors"; 1415 1416 // The keys below are strictly increasing counters over the lifetime of 1417 // a chrome installation. They are (optionally) sent up to the uninstall 1418 // survey in the event of uninstallation. 1419 const char kUninstallMetricsPageLoadCount[] = 1420 "uninstall_metrics.page_load_count"; 1421 const char kUninstallLastLaunchTimeSec[] = 1422 "uninstall_metrics.last_launch_time_sec"; 1423 const char kUninstallLastObservedRunTimeSec[] = 1424 "uninstall_metrics.last_observed_running_time_sec"; 1425 1426 // String containing the version of Chrome for which Chrome will not prompt the 1427 // user about setting Chrome as the default browser. 1428 const char kBrowserSuppressDefaultBrowserPrompt[] = 1429 "browser.suppress_default_browser_prompt_for_version"; 1430 1431 // A collection of position, size, and other data relating to the browser 1432 // window to restore on startup. 1433 const char kBrowserWindowPlacement[] = "browser.window_placement"; 1434 1435 // Browser window placement for popup windows. 1436 const char kBrowserWindowPlacementPopup[] = "browser.window_placement_popup"; 1437 1438 // A collection of position, size, and other data relating to the task 1439 // manager window to restore on startup. 1440 const char kTaskManagerWindowPlacement[] = "task_manager.window_placement"; 1441 1442 // A collection of position, size, and other data relating to app windows to 1443 // restore on startup. 1444 const char kAppWindowPlacement[] = "browser.app_window_placement"; 1445 1446 // An integer specifying the total number of bytes to be used by the 1447 // renderer's in-memory cache of objects. 1448 const char kMemoryCacheSize[] = "renderer.memory_cache.size"; 1449 1450 // String which specifies where to download files to by default. 1451 const char kDownloadDefaultDirectory[] = "download.default_directory"; 1452 1453 // Boolean that records if the download directory was changed by an 1454 // upgrade a unsafe location to a safe location. 1455 const char kDownloadDirUpgraded[] = "download.directory_upgrade"; 1456 1457 #if defined(OS_WIN) 1458 // Whether downloaded PDFs should be opened in Adobe Acrobat Reader. 1459 const char kOpenPdfDownloadInAdobeReader[] = 1460 "download.open_pdf_in_adobe_reader"; 1461 #endif 1462 1463 // String which specifies where to save html files to by default. 1464 const char kSaveFileDefaultDirectory[] = "savefile.default_directory"; 1465 1466 // The type used to save the page. See the enum SavePackage::SavePackageType in 1467 // the chrome/browser/download/save_package.h for the possible values. 1468 const char kSaveFileType[] = "savefile.type"; 1469 1470 // String which specifies the last directory that was chosen for uploading 1471 // or opening a file. 1472 const char kSelectFileLastDirectory[] = "selectfile.last_directory"; 1473 1474 // Boolean that specifies if file selection dialogs are shown. 1475 const char kAllowFileSelectionDialogs[] = "select_file_dialogs.allowed"; 1476 1477 // Map of default tasks, associated by MIME type. 1478 const char kDefaultTasksByMimeType[] = 1479 "filebrowser.tasks.default_by_mime_type"; 1480 1481 // Map of default tasks, associated by file suffix. 1482 const char kDefaultTasksBySuffix[] = 1483 "filebrowser.tasks.default_by_suffix"; 1484 1485 // Extensions which should be opened upon completion. 1486 const char kDownloadExtensionsToOpen[] = "download.extensions_to_open"; 1487 1488 // Integer which specifies the frequency in milliseconds for detecting whether 1489 // plugin windows are hung. 1490 const char kHungPluginDetectFrequency[] = "browser.hung_plugin_detect_freq"; 1491 1492 // Integer which specifies the timeout value to be used for SendMessageTimeout 1493 // to detect a hung plugin window. 1494 const char kPluginMessageResponseTimeout[] = 1495 "browser.plugin_message_response_timeout"; 1496 1497 // String which represents the dictionary name for our spell-checker. 1498 const char kSpellCheckDictionary[] = "spellcheck.dictionary"; 1499 1500 // String which represents whether we use the spelling service. 1501 const char kSpellCheckUseSpellingService[] = "spellcheck.use_spelling_service"; 1502 1503 // Dictionary of schemes used by the external protocol handler. 1504 // The value is true if the scheme must be ignored. 1505 const char kExcludedSchemes[] = "protocol_handler.excluded_schemes"; 1506 1507 // Keys used for MAC handling of SafeBrowsing requests. 1508 const char kSafeBrowsingClientKey[] = "safe_browsing.client_key"; 1509 const char kSafeBrowsingWrappedKey[] = "safe_browsing.wrapped_key"; 1510 1511 // Integer that specifies the index of the tab the user was on when they 1512 // last visited the options window. 1513 const char kOptionsWindowLastTabIndex[] = "options_window.last_tab_index"; 1514 1515 // Integer that specifies the index of the tab the user was on when they 1516 // last visited the content settings window. 1517 const char kContentSettingsWindowLastTabIndex[] = 1518 "content_settings_window.last_tab_index"; 1519 1520 // Integer that specifies the index of the tab the user was on when they 1521 // last visited the Certificate Manager window. 1522 const char kCertificateManagerWindowLastTabIndex[] = 1523 "certificate_manager_window.last_tab_index"; 1524 1525 // Integer that specifies if the first run bubble should be shown. 1526 // This preference is only registered by the first-run procedure. 1527 const char kShowFirstRunBubbleOption[] = "show-first-run-bubble-option"; 1528 1529 // String containing the last known intranet redirect URL, if any. See 1530 // intranet_redirect_detector.h for more information. 1531 const char kLastKnownIntranetRedirectOrigin[] = "browser.last_redirect_origin"; 1532 1533 // An enum value of how the browser was shut down (see browser_shutdown.h). 1534 const char kShutdownType[] = "shutdown.type"; 1535 // Number of processes that were open when the user shut down. 1536 const char kShutdownNumProcesses[] = "shutdown.num_processes"; 1537 // Number of processes that were shut down using the slow path. 1538 const char kShutdownNumProcessesSlow[] = "shutdown.num_processes_slow"; 1539 1540 // Whether to restart the current Chrome session automatically as the last thing 1541 // before shutting everything down. 1542 const char kRestartLastSessionOnShutdown[] = "restart.last.session.on.shutdown"; 1543 1544 // Set before autorestarting Chrome, cleared on clean exit. 1545 const char kWasRestarted[] = "was.restarted"; 1546 1547 #if defined(OS_WIN) 1548 // Preference to be used while relaunching Chrome. This preference dictates if 1549 // Chrome should be launched in Metro or Desktop mode. 1550 // For more info take a look at ChromeRelaunchMode enum. 1551 const char kRelaunchMode[] = "relaunch.mode"; 1552 #endif 1553 1554 // Placeholder preference for disabling voice / video chat if it is ever added. 1555 // Currently, this does not change any behavior. 1556 const char kDisableVideoAndChat[] = "disable_video_chat"; 1557 1558 // Whether Extensions are enabled. 1559 const char kDisableExtensions[] = "extensions.disabled"; 1560 1561 // Whether the plugin finder that lets you install missing plug-ins is enabled. 1562 const char kDisablePluginFinder[] = "plugins.disable_plugin_finder"; 1563 1564 // Customized app page names that appear on the New Tab Page. 1565 const char kNtpAppPageNames[] = "ntp.app_page_names"; 1566 1567 // Keeps track of currently open tabs collapsed state in the Other Devices menu. 1568 const char kNtpCollapsedCurrentlyOpenTabs[] = "ntp.collapsed_open_tabs"; 1569 1570 // Keeps track of which sessions are collapsed in the Other Devices menu. 1571 const char kNtpCollapsedForeignSessions[] = "ntp.collapsed_foreign_sessions"; 1572 1573 // Keeps track of recently closed tabs collapsed state in the Other Devices 1574 // menu. 1575 const char kNtpCollapsedRecentlyClosedTabs[] = 1576 "ntp.collapsed_recently_closed_tabs"; 1577 1578 // Keeps track of snapshot documents collapsed state in the Other Devices menu. 1579 const char kNtpCollapsedSnapshotDocument[] = "ntp.collapsed_snapshot_document"; 1580 1581 // Keeps track of sync promo collapsed state in the Other Devices menu. 1582 const char kNtpCollapsedSyncPromo[] = "ntp.collapsed_sync_promo"; 1583 1584 // Serves dates to determine display of elements on the NTP. 1585 const char kNtpDateResourceServer[] = "ntp.date_resource_server"; 1586 1587 // New Tab Page URLs that should not be shown as most visited thumbnails. 1588 const char kNtpMostVisitedURLsBlacklist[] = "ntp.most_visited_blacklist"; 1589 1590 // True if a desktop sync session was found for this user. 1591 const char kNtpPromoDesktopSessionFound[] = "ntp.promo_desktop_session_found"; 1592 1593 // Last time of update of promo_resource_cache. 1594 const char kNtpPromoResourceCacheUpdate[] = "ntp.promo_resource_cache_update"; 1595 1596 // Which bookmarks folder should be visible on the new tab page v4. 1597 const char kNtpShownBookmarksFolder[] = "ntp.shown_bookmarks_folder"; 1598 1599 // Which page should be visible on the new tab page v4 1600 const char kNtpShownPage[] = "ntp.shown_page"; 1601 1602 // Serves tips for the NTP. 1603 const char kNtpTipsResourceServer[] = "ntp.tips_resource_server"; 1604 1605 // Boolean indicating whether the web store is active for the current locale. 1606 const char kNtpWebStoreEnabled[] = "ntp.webstore_enabled"; 1607 1608 // A private RSA key for ADB handshake. 1609 const char kDevToolsAdbKey[] = "devtools.adb_key"; 1610 1611 const char kDevToolsDisabled[] = "devtools.disabled"; 1612 1613 // Determines whether devtools should be discovering usb devices for 1614 // remote debugging at chrome://inspect. 1615 const char kDevToolsDiscoverUsbDevicesEnabled[] = 1616 "devtools.discover_usb_devices"; 1617 1618 // Maps of files edited locally using DevTools. 1619 const char kDevToolsEditedFiles[] = "devtools.edited_files"; 1620 1621 // List of file system paths added in DevTools. 1622 const char kDevToolsFileSystemPaths[] = "devtools.file_system_paths"; 1623 1624 // A boolean specifying whether dev tools window should be opened docked. 1625 const char kDevToolsOpenDocked[] = "devtools.open_docked"; 1626 1627 // A boolean specifying whether port forwarding should be enabled. 1628 const char kDevToolsPortForwardingEnabled[] = 1629 "devtools.port_forwarding_enabled"; 1630 1631 // A boolean specifying whether default port forwarding configuration has been 1632 // set. 1633 const char kDevToolsPortForwardingDefaultSet[] = 1634 "devtools.port_forwarding_default_set"; 1635 1636 // A dictionary of port->location pairs for port forwarding. 1637 const char kDevToolsPortForwardingConfig[] = "devtools.port_forwarding_config"; 1638 1639 #if defined(OS_ANDROID) 1640 // A boolean specifying whether remote dev tools debugging is enabled. 1641 const char kDevToolsRemoteEnabled[] = "devtools.remote_enabled"; 1642 #endif 1643 1644 // Boolean indicating that TiclInvalidationService should use GCM channel. 1645 // False or lack of settings means XMPPPushClient channel. 1646 const char kInvalidationServiceUseGCMChannel[] = 1647 "invalidation_service.use_gcm_channel"; 1648 1649 // Local hash of authentication password, used for off-line authentication 1650 // when on-line authentication is not available. 1651 const char kGoogleServicesPasswordHash[] = "google.services.password_hash"; 1652 1653 #if !defined(OS_ANDROID) 1654 // Tracks the number of times that we have shown the sign in promo at startup. 1655 const char kSignInPromoStartupCount[] = "sync_promo.startup_count"; 1656 1657 // Boolean tracking whether the user chose to skip the sign in promo. 1658 const char kSignInPromoUserSkipped[] = "sync_promo.user_skipped"; 1659 1660 // Boolean that specifies if the sign in promo is allowed to show on first run. 1661 // This preference is specified in the master preference file to suppress the 1662 // sign in promo for some installations. 1663 const char kSignInPromoShowOnFirstRunAllowed[] = 1664 "sync_promo.show_on_first_run_allowed"; 1665 1666 // Boolean that specifies if we should show a bubble in the new tab page. 1667 // The bubble is used to confirm that the user is signed into sync. 1668 const char kSignInPromoShowNTPBubble[] = "sync_promo.show_ntp_bubble"; 1669 #endif 1670 1671 // Create web application shortcut dialog preferences. 1672 const char kWebAppCreateOnDesktop[] = "browser.web_app.create_on_desktop"; 1673 const char kWebAppCreateInAppsMenu[] = "browser.web_app.create_in_apps_menu"; 1674 const char kWebAppCreateInQuickLaunchBar[] = 1675 "browser.web_app.create_in_quick_launch_bar"; 1676 1677 // Dictionary that maps Geolocation network provider server URLs to 1678 // corresponding access token. 1679 const char kGeolocationAccessToken[] = "geolocation.access_token"; 1680 1681 // Boolean that indicates whether to allow firewall traversal while trying to 1682 // establish the initial connection from the client or host. 1683 const char kRemoteAccessHostFirewallTraversal[] = 1684 "remote_access.host_firewall_traversal"; 1685 1686 // Boolean controlling whether 2-factor auth should be required when connecting 1687 // to a host (instead of a PIN). 1688 const char kRemoteAccessHostRequireTwoFactor[] = 1689 "remote_access.host_require_two_factor"; 1690 1691 // String containing the domain name that hosts must belong to. If blank, then 1692 // hosts can belong to any domain. 1693 const char kRemoteAccessHostDomain[] = "remote_access.host_domain"; 1694 1695 // String containing the domain name of the Chromoting Directory. 1696 // Used by Chromoting host and client. 1697 const char kRemoteAccessHostTalkGadgetPrefix[] = 1698 "remote_access.host_talkgadget_prefix"; 1699 1700 // Boolean controlling whether curtaining is required when connecting to a host. 1701 const char kRemoteAccessHostRequireCurtain[] = 1702 "remote_access.host_require_curtain"; 1703 1704 // Boolean controlling whether curtaining is required when connecting to a host. 1705 const char kRemoteAccessHostAllowClientPairing[] = 1706 "remote_access.host_allow_client_pairing"; 1707 1708 // Whether Chrome Remote Desktop can proxy gnubby authentication traffic. 1709 const char kRemoteAccessHostAllowGnubbyAuth[] = 1710 "remote_access.host_allow_gnubby_auth"; 1711 1712 // Boolean that indicates whether the Chromoting host should allow connections 1713 // using relay servers. 1714 const char kRemoteAccessHostAllowRelayedConnection[] = 1715 "remote_access.host_allow_relayed_connection"; 1716 1717 // String containing the UDP port range that the Chromoting host should used 1718 // when connecting to clients. The port range should be in the form: 1719 // <min_port>-<max_port>. E.g. 12400-12409. 1720 const char kRemoteAccessHostUdpPortRange[] = 1721 "remote_access.host_udp_port_range"; 1722 1723 // The last used printer and its settings. 1724 const char kPrintPreviewStickySettings[] = 1725 "printing.print_preview_sticky_settings"; 1726 1727 // The last requested size of the dialog as it was closed. 1728 const char kCloudPrintDialogWidth[] = "cloud_print.dialog_size.width"; 1729 const char kCloudPrintDialogHeight[] = "cloud_print.dialog_size.height"; 1730 const char kCloudPrintSigninDialogWidth[] = 1731 "cloud_print.signin_dialog_size.width"; 1732 const char kCloudPrintSigninDialogHeight[] = 1733 "cloud_print.signin_dialog_size.height"; 1734 1735 // The list of BackgroundContents that should be loaded when the browser 1736 // launches. 1737 const char kRegisteredBackgroundContents[] = "background_contents.registered"; 1738 1739 #if !defined(OS_ANDROID) 1740 // An int that stores how often we've shown the "Chrome is configured to 1741 // auto-launch" infobar. 1742 const char kShownAutoLaunchInfobar[] = "browser.shown_autolaunch_infobar"; 1743 #endif 1744 1745 // String that lists supported HTTP authentication schemes. 1746 const char kAuthSchemes[] = "auth.schemes"; 1747 1748 // Boolean that specifies whether to disable CNAME lookups when generating 1749 // Kerberos SPN. 1750 const char kDisableAuthNegotiateCnameLookup[] = 1751 "auth.disable_negotiate_cname_lookup"; 1752 1753 // Boolean that specifies whether to include the port in a generated Kerberos 1754 // SPN. 1755 const char kEnableAuthNegotiatePort[] = "auth.enable_negotiate_port"; 1756 1757 // Whitelist containing servers for which Integrated Authentication is enabled. 1758 const char kAuthServerWhitelist[] = "auth.server_whitelist"; 1759 1760 // Whitelist containing servers Chrome is allowed to do Kerberos delegation 1761 // with. 1762 const char kAuthNegotiateDelegateWhitelist[] = 1763 "auth.negotiate_delegate_whitelist"; 1764 1765 // String that specifies the name of a custom GSSAPI library to load. 1766 const char kGSSAPILibraryName[] = "auth.gssapi_library_name"; 1767 1768 // Boolean that specifies whether to allow basic auth prompting on cross- 1769 // domain sub-content requests. 1770 const char kAllowCrossOriginAuthPrompt[] = "auth.allow_cross_origin_prompt"; 1771 1772 // Boolean that specifies whether the built-in asynchronous DNS client is used. 1773 const char kBuiltInDnsClientEnabled[] = "async_dns.enabled"; 1774 1775 // A pref holding the value of the policy used to explicitly allow or deny 1776 // access to audio capture devices. When enabled or not set, the user is 1777 // prompted for device access. When disabled, access to audio capture devices 1778 // is not allowed and no prompt will be shown. 1779 // See also kAudioCaptureAllowedUrls. 1780 const char kAudioCaptureAllowed[] = "hardware.audio_capture_enabled"; 1781 // Holds URL patterns that specify URLs that will be granted access to audio 1782 // capture devices without prompt. NOTE: This whitelist is currently only 1783 // supported when running in kiosk mode. 1784 // TODO(tommi): Update comment when this is supported for all modes. 1785 const char kAudioCaptureAllowedUrls[] = "hardware.audio_capture_allowed_urls"; 1786 1787 // A pref holding the value of the policy used to explicitly allow or deny 1788 // access to video capture devices. When enabled or not set, the user is 1789 // prompted for device access. When disabled, access to video capture devices 1790 // is not allowed and no prompt will be shown. 1791 const char kVideoCaptureAllowed[] = "hardware.video_capture_enabled"; 1792 // Holds URL patterns that specify URLs that will be granted access to video 1793 // capture devices without prompt. NOTE: This whitelist is currently only 1794 // supported when running in kiosk mode. 1795 // TODO(tommi): Update comment when this is supported for all modes. 1796 const char kVideoCaptureAllowedUrls[] = "hardware.video_capture_allowed_urls"; 1797 1798 // A boolean pref that controls the enabled-state of hotword search voice 1799 // trigger. 1800 const char kHotwordSearchEnabled[] = "hotword.search_enabled_2"; 1801 1802 // A boolean pref that controls the enabled-state of hotword search voice 1803 // trigger from any screen. 1804 const char kHotwordAlwaysOnSearchEnabled[] = "hotword.always_on_search_enabled"; 1805 1806 // A boolean pref that controls whether the sound of "Ok, Google" plus a few 1807 // seconds of audio data before is sent back to improve voice search. 1808 const char kHotwordAudioLoggingEnabled[] = "hotword.audio_logging_enabled"; 1809 1810 // A string holding the locale information under which Hotword was installed. 1811 // It is used for comparison since the hotword voice search trigger must be 1812 // reinstalled to handle a new language. 1813 const char kHotwordPreviousLanguage[] = "hotword.previous_language"; 1814 1815 #if defined(OS_ANDROID) 1816 // Boolean that controls the global enabled-state of protected media identifier. 1817 const char kProtectedMediaIdentifierEnabled[] = 1818 "protected_media_identifier.enabled"; 1819 #endif 1820 1821 #if defined(OS_CHROMEOS) 1822 // Dictionary for transient storage of settings that should go into device 1823 // settings storage before owner has been assigned. 1824 const char kDeviceSettingsCache[] = "signed_settings_cache"; 1825 1826 // The hardware keyboard layout of the device. This should look like 1827 // "xkb:us::eng". 1828 const char kHardwareKeyboardLayout[] = "intl.hardware_keyboard"; 1829 1830 // An integer pref which shows number of times carrier deal promo 1831 // notification has been shown to user. 1832 const char kCarrierDealPromoShown[] = 1833 "settings.internet.mobile.carrier_deal_promo_shown"; 1834 1835 // A boolean pref of the auto-enrollment decision. Its value is only valid if 1836 // it's not the default value; otherwise, no auto-enrollment decision has been 1837 // made yet. 1838 const char kShouldAutoEnroll[] = "ShouldAutoEnroll"; 1839 1840 // An integer pref with the maximum number of bits used by the client in a 1841 // previous auto-enrollment request. If the client goes through an auto update 1842 // during OOBE and reboots into a version of the OS with a larger maximum 1843 // modulus, then it will retry auto-enrollment using the updated value. 1844 const char kAutoEnrollmentPowerLimit[] = "AutoEnrollmentPowerLimit"; 1845 1846 // The local state pref that stores device activity times before reporting 1847 // them to the policy server. 1848 const char kDeviceActivityTimes[] = "device_status.activity_times"; 1849 1850 // A pref holding the last known location when device location reporting is 1851 // enabled. 1852 const char kDeviceLocation[] = "device_status.location"; 1853 1854 // A pref holding the value of the policy used to disable mounting of external 1855 // storage for the user. 1856 const char kExternalStorageDisabled[] = "hardware.external_storage_disabled"; 1857 1858 // A pref holding the value of the policy used to disable playing audio on 1859 // ChromeOS devices. This pref overrides |kAudioMute| but does not overwrite 1860 // it, therefore when the policy is lifted the original mute state is restored. 1861 const char kAudioOutputAllowed[] = "hardware.audio_output_enabled"; 1862 1863 // A dictionary that maps usernames to wallpaper properties. 1864 const char kUsersWallpaperInfo[] = "user_wallpaper_info"; 1865 1866 // Copy of owner swap mouse buttons option to use on login screen. 1867 const char kOwnerPrimaryMouseButtonRight[] = "owner.mouse.primary_right"; 1868 1869 // Copy of owner tap-to-click option to use on login screen. 1870 const char kOwnerTapToClickEnabled[] = "owner.touchpad.enable_tap_to_click"; 1871 1872 // The length of device uptime after which an automatic reboot is scheduled, 1873 // expressed in seconds. 1874 const char kUptimeLimit[] = "automatic_reboot.uptime_limit"; 1875 1876 // Whether an automatic reboot should be scheduled when an update has been 1877 // applied and a reboot is required to complete the update process. 1878 const char kRebootAfterUpdate[] = "automatic_reboot.reboot_after_update"; 1879 1880 // An any-api scoped refresh token for enterprise-enrolled devices. Allows 1881 // for connection to Google APIs when the user isn't logged in. Currently used 1882 // for for getting a cloudprint scoped token to allow printing in Guest mode, 1883 // Public Accounts and kiosks. 1884 const char kDeviceRobotAnyApiRefreshToken[] = 1885 "device_robot_refresh_token.any-api"; 1886 1887 // Device requisition for enterprise enrollment. 1888 const char kDeviceEnrollmentRequisition[] = "enrollment.device_requisition"; 1889 1890 // Whether to automatically start the enterprise enrollment step during OOBE. 1891 const char kDeviceEnrollmentAutoStart[] = "enrollment.auto_start"; 1892 1893 // Whether the user may exit enrollment. 1894 const char kDeviceEnrollmentCanExit[] = "enrollment.can_exit"; 1895 1896 // How many times HID detection OOBE dialog was shown. 1897 const char kTimesHIDDialogShown[] = "HIDDialog.shown_how_many_times"; 1898 1899 // Dictionary of per-user Least Recently Used input method (used at login 1900 // screen). 1901 extern const char kUsersLRUInputMethod[] = "UsersLRUInputMethod"; 1902 1903 // A dictionary pref of the echo offer check flag. It sets offer info when 1904 // an offer is checked. 1905 extern const char kEchoCheckedOffers[] = "EchoCheckedOffers"; 1906 1907 // Key name of a dictionary in local state to store cached multiprofle user 1908 // behavior policy value. 1909 const char kCachedMultiProfileUserBehavior[] = "CachedMultiProfileUserBehavior"; 1910 1911 // A string pref with initial locale set in VPD or manifest. 1912 const char kInitialLocale[] = "intl.initial_locale"; 1913 1914 // A boolean pref of the OOBE complete flag (first OOBE part before login). 1915 const char kOobeComplete[] = "OobeComplete"; 1916 1917 // The name of the screen that has to be shown if OOBE has been interrupted. 1918 const char kOobeScreenPending[] = "OobeScreenPending"; 1919 1920 // A boolean pref of the device registered flag (second part after first login). 1921 const char kDeviceRegistered[] = "DeviceRegistered"; 1922 1923 // Boolean pref to signal corrupted enrollment to force the device through 1924 // enrollment recovery flow upon next boot. 1925 const char kEnrollmentRecoveryRequired[] = "EnrollmentRecoveryRequired"; 1926 1927 // List of usernames that used certificates pushed by policy before. 1928 // This is used to prevent these users from joining multiprofile sessions. 1929 const char kUsedPolicyCertificates[] = "policy.used_policy_certificates"; 1930 1931 // A dictionary containing server-provided device state pulled form the cloud 1932 // after recovery. 1933 const char kServerBackedDeviceState[] = "server_backed_device_state"; 1934 1935 // Customized wallpaper URL, which is already downloaded and scaled. 1936 // The URL from this preference must never be fetched. It is compared to the 1937 // URL from customization document to check if wallpaper URL has changed 1938 // since wallpaper was cached. 1939 const char kCustomizationDefaultWallpaperURL[] = 1940 "customization.default_wallpaper_url"; 1941 1942 // System uptime, when last logout started. 1943 // This is saved to file and cleared after chrome process starts. 1944 const char kLogoutStartedLast[] = "chromeos.logout-started"; 1945 1946 // An integer pref of the current consumer management enrollment stage. The 1947 // meaning of the value is defined in the enum EnrollmentStage in: 1948 // chrome/browser/chromeos/policy/consumer_management_service.h 1949 const char kConsumerManagementEnrollmentStage[] = 1950 "consumer_management.enrollment_stage"; 1951 #endif 1952 1953 // Whether there is a Flash version installed that supports clearing LSO data. 1954 const char kClearPluginLSODataEnabled[] = "browser.clear_lso_data_enabled"; 1955 1956 // Whether we should show Pepper Flash-specific settings. 1957 const char kPepperFlashSettingsEnabled[] = 1958 "browser.pepper_flash_settings_enabled"; 1959 1960 // String which specifies where to store the disk cache. 1961 const char kDiskCacheDir[] = "browser.disk_cache_dir"; 1962 // Pref name for the policy specifying the maximal cache size. 1963 const char kDiskCacheSize[] = "browser.disk_cache_size"; 1964 // Pref name for the policy specifying the maximal media cache size. 1965 const char kMediaCacheSize[] = "browser.media_cache_size"; 1966 1967 // Specifies the release channel that the device should be locked to. 1968 // Possible values: "stable-channel", "beta-channel", "dev-channel", or an 1969 // empty string, in which case the value will be ignored. 1970 // TODO(dubroy): This preference may not be necessary once 1971 // http://crosbug.com/17015 is implemented and the update engine can just 1972 // fetch the correct value from the policy. 1973 const char kChromeOsReleaseChannel[] = "cros.system.releaseChannel"; 1974 1975 const char kPerformanceTracingEnabled[] = 1976 "feedback.performance_tracing_enabled"; 1977 1978 // Boolean indicating whether tabstrip uses stacked layout (on touch devices). 1979 // Defaults to false. 1980 const char kTabStripStackedLayout[] = "tab-strip-stacked-layout"; 1981 1982 // Indicates that factory reset was requested from options page or reset screen. 1983 const char kFactoryResetRequested[] = "FactoryResetRequested"; 1984 1985 // Boolean recording whether we have showed a balloon that calls out the message 1986 // center for desktop notifications. 1987 const char kMessageCenterShowedFirstRunBalloon[] = 1988 "message_center.showed_first_run_balloon"; 1989 1990 // Boolean recording whether the user has disabled the notifications 1991 // menubar or systray icon. 1992 const char kMessageCenterShowIcon[] = "message_center.show_icon"; 1993 1994 const char kMessageCenterForcedOnTaskbar[] = 1995 "message_center.was_forced_on_taskbar"; 1996 1997 // *************** SERVICE PREFS *************** 1998 // These are attached to the service process. 1999 2000 const char kCloudPrintRoot[] = "cloud_print"; 2001 const char kCloudPrintProxyEnabled[] = "cloud_print.enabled"; 2002 // The unique id for this instance of the cloud print proxy. 2003 const char kCloudPrintProxyId[] = "cloud_print.proxy_id"; 2004 // The GAIA auth token for Cloud Print 2005 const char kCloudPrintAuthToken[] = "cloud_print.auth_token"; 2006 // The GAIA auth token used by Cloud Print to authenticate with the XMPP server 2007 // This should eventually go away because the above token should work for both. 2008 const char kCloudPrintXMPPAuthToken[] = "cloud_print.xmpp_auth_token"; 2009 // The email address of the account used to authenticate with the Cloud Print 2010 // server. 2011 const char kCloudPrintEmail[] = "cloud_print.email"; 2012 // Settings specific to underlying print system. 2013 const char kCloudPrintPrintSystemSettings[] = 2014 "cloud_print.print_system_settings"; 2015 // A boolean indicating whether we should poll for print jobs when don't have 2016 // an XMPP connection (false by default). 2017 const char kCloudPrintEnableJobPoll[] = "cloud_print.enable_job_poll"; 2018 const char kCloudPrintRobotRefreshToken[] = "cloud_print.robot_refresh_token"; 2019 const char kCloudPrintRobotEmail[] = "cloud_print.robot_email"; 2020 // A boolean indicating whether we should connect to cloud print new printers. 2021 const char kCloudPrintConnectNewPrinters[] = 2022 "cloud_print.user_settings.connectNewPrinters"; 2023 // A boolean indicating whether we should ping XMPP connection. 2024 const char kCloudPrintXmppPingEnabled[] = "cloud_print.xmpp_ping_enabled"; 2025 // An int value indicating the average timeout between xmpp pings. 2026 const char kCloudPrintXmppPingTimeout[] = "cloud_print.xmpp_ping_timeout_sec"; 2027 // Dictionary with settings stored by connector setup page. 2028 const char kCloudPrintUserSettings[] = "cloud_print.user_settings"; 2029 // List of printers settings. 2030 extern const char kCloudPrintPrinters[] = "cloud_print.user_settings.printers"; 2031 // A boolean indicating whether submitting jobs to Google Cloud Print is 2032 // blocked by policy. 2033 const char kCloudPrintSubmitEnabled[] = "cloud_print.submit_enabled"; 2034 2035 // Preference to store proxy settings. 2036 const char kProxy[] = "proxy"; 2037 const char kMaxConnectionsPerProxy[] = "net.max_connections_per_proxy"; 2038 2039 // Preferences that are exclusively used to store managed values for default 2040 // content settings. 2041 const char kManagedDefaultCookiesSetting[] = 2042 "profile.managed_default_content_settings.cookies"; 2043 const char kManagedDefaultImagesSetting[] = 2044 "profile.managed_default_content_settings.images"; 2045 const char kManagedDefaultJavaScriptSetting[] = 2046 "profile.managed_default_content_settings.javascript"; 2047 const char kManagedDefaultPluginsSetting[] = 2048 "profile.managed_default_content_settings.plugins"; 2049 const char kManagedDefaultPopupsSetting[] = 2050 "profile.managed_default_content_settings.popups"; 2051 const char kManagedDefaultGeolocationSetting[] = 2052 "profile.managed_default_content_settings.geolocation"; 2053 const char kManagedDefaultNotificationsSetting[] = 2054 "profile.managed_default_content_settings.notifications"; 2055 const char kManagedDefaultMediaStreamSetting[] = 2056 "profile.managed_default_content_settings.media_stream"; 2057 2058 // Preferences that are exclusively used to store managed 2059 // content settings patterns. 2060 const char kManagedCookiesAllowedForUrls[] = 2061 "profile.managed_cookies_allowed_for_urls"; 2062 const char kManagedCookiesBlockedForUrls[] = 2063 "profile.managed_cookies_blocked_for_urls"; 2064 const char kManagedCookiesSessionOnlyForUrls[] = 2065 "profile.managed_cookies_sessiononly_for_urls"; 2066 const char kManagedImagesAllowedForUrls[] = 2067 "profile.managed_images_allowed_for_urls"; 2068 const char kManagedImagesBlockedForUrls[] = 2069 "profile.managed_images_blocked_for_urls"; 2070 const char kManagedJavaScriptAllowedForUrls[] = 2071 "profile.managed_javascript_allowed_for_urls"; 2072 const char kManagedJavaScriptBlockedForUrls[] = 2073 "profile.managed_javascript_blocked_for_urls"; 2074 const char kManagedPluginsAllowedForUrls[] = 2075 "profile.managed_plugins_allowed_for_urls"; 2076 const char kManagedPluginsBlockedForUrls[] = 2077 "profile.managed_plugins_blocked_for_urls"; 2078 const char kManagedPopupsAllowedForUrls[] = 2079 "profile.managed_popups_allowed_for_urls"; 2080 const char kManagedPopupsBlockedForUrls[] = 2081 "profile.managed_popups_blocked_for_urls"; 2082 const char kManagedNotificationsAllowedForUrls[] = 2083 "profile.managed_notifications_allowed_for_urls"; 2084 const char kManagedNotificationsBlockedForUrls[] = 2085 "profile.managed_notifications_blocked_for_urls"; 2086 const char kManagedAutoSelectCertificateForUrls[] = 2087 "profile.managed_auto_select_certificate_for_urls"; 2088 2089 #if defined(OS_MACOSX) 2090 // Set to true if the user removed our login item so we should not create a new 2091 // one when uninstalling background apps. 2092 const char kUserRemovedLoginItem[] = "background_mode.user_removed_login_item"; 2093 2094 // Set to true if Chrome already created a login item, so there's no need to 2095 // create another one. 2096 const char kChromeCreatedLoginItem[] = 2097 "background_mode.chrome_created_login_item"; 2098 2099 // Set to true once we've initialized kChromeCreatedLoginItem for the first 2100 // time. 2101 const char kMigratedLoginItemPref[] = 2102 "background_mode.migrated_login_item_pref"; 2103 2104 // A boolean that tracks whether to show a notification when trying to quit 2105 // while there are apps running. 2106 const char kNotifyWhenAppsKeepChromeAlive[] = 2107 "apps.notify-when-apps-keep-chrome-alive"; 2108 #endif 2109 2110 // Set to true if background mode is enabled on this browser. 2111 const char kBackgroundModeEnabled[] = "background_mode.enabled"; 2112 2113 // Set to true if hardware acceleration mode is enabled on this browser. 2114 const char kHardwareAccelerationModeEnabled[] = 2115 "hardware_acceleration_mode.enabled"; 2116 2117 // Hardware acceleration mode from previous browser launch. 2118 const char kHardwareAccelerationModePrevious[] = 2119 "hardware_acceleration_mode_previous"; 2120 2121 // List of protocol handlers. 2122 const char kRegisteredProtocolHandlers[] = 2123 "custom_handlers.registered_protocol_handlers"; 2124 2125 // List of protocol handlers the user has requested not to be asked about again. 2126 const char kIgnoredProtocolHandlers[] = 2127 "custom_handlers.ignored_protocol_handlers"; 2128 2129 // List of protocol handlers registered by policy. 2130 const char kPolicyRegisteredProtocolHandlers[] = 2131 "custom_handlers.policy.registered_protocol_handlers"; 2132 2133 // List of protocol handlers the policy has requested to be ignored. 2134 const char kPolicyIgnoredProtocolHandlers[] = 2135 "custom_handlers.policy.ignored_protocol_handlers"; 2136 2137 // Whether user-specified handlers for protocols and content types can be 2138 // specified. 2139 const char kCustomHandlersEnabled[] = "custom_handlers.enabled"; 2140 2141 // Integer that specifies the policy refresh rate for device-policy in 2142 // milliseconds. Not all values are meaningful, so it is clamped to a sane range 2143 // by the cloud policy subsystem. 2144 const char kDevicePolicyRefreshRate[] = "policy.device_refresh_rate"; 2145 2146 // A boolean where true means that the browser has previously attempted to 2147 // enable autoupdate and failed, so the next out-of-date browser start should 2148 // not prompt the user to enable autoupdate, it should offer to reinstall Chrome 2149 // instead. 2150 const char kAttemptedToEnableAutoupdate[] = 2151 "browser.attempted_to_enable_autoupdate"; 2152 2153 // The next media gallery ID to assign. 2154 const char kMediaGalleriesUniqueId[] = "media_galleries.gallery_id"; 2155 2156 // A list of dictionaries, where each dictionary represents a known media 2157 // gallery. 2158 const char kMediaGalleriesRememberedGalleries[] = 2159 "media_galleries.remembered_galleries"; 2160 2161 // The last time a media scan completed. 2162 const char kMediaGalleriesLastScanTime[] = "media_galleries.last_scan_time"; 2163 2164 #if defined(USE_ASH) 2165 // |kShelfAlignment| and |kShelfAutoHideBehavior| have a local variant. The 2166 // local variant is not synced and is used if set. If the local variant is not 2167 // set its value is set from the synced value (once prefs have been 2168 // synced). This gives a per-machine setting that is initialized from the last 2169 // set value. 2170 // These values are default on the machine but can be overridden by per-display 2171 // values in kShelfPreferences (unless overridden by managed policy). 2172 // String value corresponding to ash::Shell::ShelfAlignment. 2173 const char kShelfAlignment[] = "shelf_alignment"; 2174 const char kShelfAlignmentLocal[] = "shelf_alignment_local"; 2175 // String value corresponding to ash::Shell::ShelfAutoHideBehavior. 2176 const char kShelfAutoHideBehavior[] = "auto_hide_behavior"; 2177 const char kShelfAutoHideBehaviorLocal[] = "auto_hide_behavior_local"; 2178 // This value stores chrome icon's index in the launcher. This should be handled 2179 // separately with app shortcut's index because of ShelfModel's backward 2180 // compatibility. If we add chrome icon index to |kPinnedLauncherApps|, its 2181 // index is also stored in the |kPinnedLauncherApp| pref. It may causes 2182 // creating two chrome icons. 2183 const char kShelfChromeIconIndex[] = "shelf_chrome_icon_index"; 2184 // Dictionary value that holds per-display preference of shelf alignment and 2185 // auto-hide behavior. Key of the dictionary is the id of the display, and 2186 // its value is a dictionary whose keys are kShelfAlignment and 2187 // kShelfAutoHideBehavior. 2188 const char kShelfPreferences[] = "shelf_preferences"; 2189 2190 // Integer value in milliseconds indicating the length of time for which a 2191 // confirmation dialog should be shown when the user presses the logout button. 2192 // A value of 0 indicates that logout should happen immediately, without showing 2193 // a confirmation dialog. 2194 const char kLogoutDialogDurationMs[] = "logout_dialog_duration_ms"; 2195 const char kPinnedLauncherApps[] = "pinned_launcher_apps"; 2196 // Boolean value indicating whether to show a logout button in the ash tray. 2197 const char kShowLogoutButtonInTray[] = "show_logout_button_in_tray"; 2198 #endif 2199 2200 #if defined(USE_AURA) 2201 // Tuning settings for gestures. 2202 const char kMaxSeparationForGestureTouchesInPixels[] = 2203 "gesture.max_separation_for_gesture_touches_in_pixels"; 2204 const char kSemiLongPressTimeInSeconds[] = 2205 "gesture.semi_long_press_time_in_seconds"; 2206 const char kTabScrubActivationDelayInMS[] = 2207 "gesture.tab_scrub_activation_delay_in_ms"; 2208 const char kFlingMaxCancelToDownTimeInMs[] = 2209 "gesture.fling_max_cancel_to_down_time_in_ms"; 2210 const char kFlingMaxTapGapTimeInMs[] = 2211 "gesture.fling_max_tap_gap_time_in_ms"; 2212 const char kOverscrollHorizontalThresholdComplete[] = 2213 "overscroll.horizontal_threshold_complete"; 2214 const char kOverscrollVerticalThresholdComplete[] = 2215 "overscroll.vertical_threshold_complete"; 2216 const char kOverscrollMinimumThresholdStart[] = 2217 "overscroll.minimum_threshold_start"; 2218 const char kOverscrollMinimumThresholdStartTouchpad[] = 2219 "overscroll.minimum_threshold_start_touchpad"; 2220 const char kOverscrollVerticalThresholdStart[] = 2221 "overscroll.vertical_threshold_start"; 2222 const char kOverscrollHorizontalResistThreshold[] = 2223 "overscroll.horizontal_resist_threshold"; 2224 const char kOverscrollVerticalResistThreshold[] = 2225 "overscroll.vertical_resist_threshold"; 2226 #endif 2227 2228 // Counts how many more times the 'profile on a network share' warning should be 2229 // shown to the user before the next silence period. 2230 const char kNetworkProfileWarningsLeft[] = "network_profile.warnings_left"; 2231 // Tracks the time of the last shown warning. Used to reset 2232 // |network_profile.warnings_left| after a silence period. 2233 const char kNetworkProfileLastWarningTime[] = 2234 "network_profile.last_warning_time"; 2235 2236 #if defined(OS_CHROMEOS) 2237 // The RLZ brand code, if enabled. 2238 const char kRLZBrand[] = "rlz.brand"; 2239 // Whether RLZ pings are disabled. 2240 const char kRLZDisabled[] = "rlz.disabled"; 2241 #endif 2242 2243 #if defined(ENABLE_APP_LIST) 2244 // The directory in user data dir that contains the profile to be used with the 2245 // app launcher. 2246 const char kAppListProfile[] = "app_list.profile"; 2247 2248 // The number of times the app launcher was launched since last ping and 2249 // the time of the last ping. 2250 const char kAppListLaunchCount[] = "app_list.launch_count"; 2251 const char kLastAppListLaunchPing[] = "app_list.last_launch_ping"; 2252 2253 // The number of times the an app was launched from the app launcher since last 2254 // ping and the time of the last ping. 2255 const char kAppListAppLaunchCount[] = "app_list.app_launch_count"; 2256 const char kLastAppListAppLaunchPing[] = "app_list.last_app_launch_ping"; 2257 2258 // A boolean that tracks whether the user has ever enabled the app launcher. 2259 const char kAppLauncherHasBeenEnabled[] = 2260 "apps.app_launcher.has_been_enabled"; 2261 2262 // An enum indicating how the app launcher was enabled. E.g., via webstore, app 2263 // install, command line, etc. For UMA. 2264 const char kAppListEnableMethod[] = "app_list.how_enabled"; 2265 2266 // The time that the app launcher was enabled. Cleared when UMA is recorded. 2267 const char kAppListEnableTime[] = "app_list.when_enabled"; 2268 2269 // TODO(calamity): remove this pref since app launcher will always be 2270 // installed. 2271 // Local state caching knowledge of whether the app launcher is installed. 2272 const char kAppLauncherIsEnabled[] = 2273 "apps.app_launcher.should_show_apps_page"; 2274 2275 // Integer representing the version of the app launcher shortcut installed on 2276 // the system. Incremented, e.g., when embedded icons change. 2277 const char kAppLauncherShortcutVersion[] = "apps.app_launcher.shortcut_version"; 2278 2279 // A boolean identifying if we should show the app launcher promo or not. 2280 const char kShowAppLauncherPromo[] = "app_launcher.show_promo"; 2281 2282 // A dictionary that tracks the Drive app to Chrome app mapping. The key is 2283 // a Drive app id and the value is the corresponding Chrome app id. The pref 2284 // is unsynable and used to track local mappings only. 2285 const char kAppLauncherDriveAppMapping[] = 2286 "apps.app_launcher.drive_app_mapping"; 2287 #endif 2288 2289 // If set, the user requested to launch the app with this extension id while 2290 // in Metro mode, and then relaunched to Desktop mode to start it. 2291 const char kAppLaunchForMetroRestart[] = "apps.app_launch_for_metro_restart"; 2292 2293 // Set with |kAppLaunchForMetroRestart|, the profile whose loading triggers 2294 // launch of the specified app when restarting Chrome in desktop mode. 2295 const char kAppLaunchForMetroRestartProfile[] = 2296 "apps.app_launch_for_metro_restart_profile"; 2297 2298 // An integer that is incremented whenever changes are made to app shortcuts. 2299 // Increasing this causes all app shortcuts to be recreated. 2300 const char kAppShortcutsVersion[] = "apps.shortcuts_version"; 2301 2302 // How often the bubble has been shown. 2303 extern const char kModuleConflictBubbleShown[] = "module_conflict.bubble_shown"; 2304 2305 // A string pref for storing the salt used to compute the pepper device ID. 2306 const char kDRMSalt[] = "settings.privacy.drm_salt"; 2307 // A boolean pref that enables the (private) pepper GetDeviceID() call and 2308 // enables the use of remote attestation for content protection. 2309 const char kEnableDRM[] = "settings.privacy.drm_enabled"; 2310 2311 // An integer per-profile pref that signals if the watchdog extension is 2312 // installed and active. We need to know if the watchdog extension active for 2313 // ActivityLog initialization before the extension system is initialized. 2314 const char kWatchdogExtensionActive[] = 2315 "profile.extensions.activity_log.num_consumers_active"; 2316 // The old version was a bool. 2317 const char kWatchdogExtensionActiveOld[] = 2318 "profile.extensions.activity_log.watchdog_extension_active"; 2319 2320 #if defined(OS_ANDROID) 2321 // A list of partner bookmark rename/remove mappings. 2322 // Each list item is a dictionary containing a "url", a "provider_title" and 2323 // "mapped_title" entries, detailing the bookmark target URL (if any), the title 2324 // given by the PartnerBookmarksProvider and either the user-visible renamed 2325 // title or an empty string if the bookmark node was removed. 2326 const char kPartnerBookmarkMappings[] = "partnerbookmarks.mappings"; 2327 #endif 2328 2329 // Whether DNS Quick Check is disabled in proxy resolution. 2330 const char kQuickCheckEnabled[] = "proxy.quick_check_enabled"; 2331 2332 // Whether Guest Mode is enabled within the browser. 2333 const char kBrowserGuestModeEnabled[] = "profile.browser_guest_enabled"; 2334 2335 // Whether Adding a new Person is enabled within the user manager. 2336 const char kBrowserAddPersonEnabled[] = "profile.add_person_enabled"; 2337 2338 // A dictionary that maps user id to hardlock state. 2339 const char kEasyUnlockHardlockState[] = "easy_unlock.hardlock_state"; 2340 2341 } // namespace prefs 2342