Home | History | Annotate | Download | only in common
      1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/common/pref_names.h"
      6 
      7 namespace prefs {
      8 
      9 // *************** PROFILE PREFS ***************
     10 // These are attached to the user profile
     11 
     12 // A counter that controls whether the apps promo is shown in the app launcher
     13 // or not.
     14 const char kAppsPromoCounter[] = "apps_promo_counter";
     15 
     16 // Whether we have installed default apps yet in this profile.
     17 const char kDefaultAppsInstalled[] = "default_apps_installed";
     18 
     19 // A boolean specifying whether the New Tab page is the home page or not.
     20 const char kHomePageIsNewTabPage[] = "homepage_is_newtabpage";
     21 
     22 // This is the URL of the page to load when opening new tabs.
     23 const char kHomePage[] = "homepage";
     24 
     25 // Used to determine if the last session exited cleanly. Set to false when
     26 // first opened, and to true when closing. On startup if the value is false,
     27 // it means the profile didn't exit cleanly.
     28 const char kSessionExitedCleanly[] = "profile.exited_cleanly";
     29 
     30 // An integer pref. Holds one of several values:
     31 // 0: (or empty) don't do anything special on startup.
     32 // 1: restore the last session.
     33 // 2: this was used to indicate a specific session should be restored. It is
     34 //    no longer used, but saved to avoid conflict with old preferences.
     35 // 3: unused, previously indicated the user wants to restore a saved session.
     36 // 4: restore the URLs defined in kURLsToRestoreOnStartup.
     37 const char kRestoreOnStartup[] = "session.restore_on_startup";
     38 
     39 // The URLs to restore on startup or when the home button is pressed. The URLs
     40 // are only restored on startup if kRestoreOnStartup is 4.
     41 const char kURLsToRestoreOnStartup[] = "session.urls_to_restore_on_startup";
     42 
     43 // The application locale.
     44 // For OS_CHROMEOS we maintain kApplicationLocale property in both local state
     45 // and user's profile.  Global property determines locale of login screen,
     46 // while user's profile determines his personal locale preference.
     47 const char kApplicationLocale[] = "intl.app_locale";
     48 #if defined(OS_CHROMEOS)
     49 // Locale preference of device' owner.  ChromeOS device appears in this locale
     50 // after startup/wakeup/signout.
     51 const char kOwnerLocale[] = "intl.owner_locale";
     52 // Locale accepted by user.  Non-syncable.
     53 // Used to determine whether we need to show Locale Change notification.
     54 const char kApplicationLocaleAccepted[] = "intl.app_locale_accepted";
     55 // Non-syncable item.
     56 // It is used in two distinct ways.
     57 // (1) Used for two-step initialization of locale in ChromeOS
     58 //     because synchronization of kApplicationLocale is not instant.
     59 // (2) Used to detect locale change.  Locale change is detected by
     60 //     LocaleChangeGuard in case values of kApplicationLocaleBackup and
     61 //     kApplicationLocale are both non-empty and differ.
     62 // Following is a table showing how state of those prefs may change upon
     63 // common real-life use cases:
     64 //                                  AppLocale Backup Accepted
     65 // Initial login                       -        A       -
     66 // Sync                                B        A       -
     67 // Accept (B)                          B        B       B
     68 // -----------------------------------------------------------
     69 // Initial login                       -        A       -
     70 // No sync and second login            A        A       -
     71 // Change options                      B        B       -
     72 // -----------------------------------------------------------
     73 // Initial login                       -        A       -
     74 // Sync                                A        A       -
     75 // Locale changed on login screen      A        C       -
     76 // Accept (A)                          A        A       A
     77 // -----------------------------------------------------------
     78 // Initial login                       -        A       -
     79 // Sync                                B        A       -
     80 // Revert                              A        A       -
     81 const char kApplicationLocaleBackup[] = "intl.app_locale_backup";
     82 #endif
     83 
     84 // The default character encoding to assume for a web page in the
     85 // absence of MIME charset specification
     86 const char kDefaultCharset[] = "intl.charset_default";
     87 
     88 // The value to use for Accept-Languages HTTP header when making an HTTP
     89 // request.
     90 const char kAcceptLanguages[] = "intl.accept_languages";
     91 
     92 // The value to use for showing locale-dependent encoding list for different
     93 // locale, it's initialized from the corresponding string resource that is
     94 // stored in non-translatable part of the resource bundle.
     95 const char kStaticEncodings[] = "intl.static_encodings";
     96 
     97 // OBSOLETE.  The list of hostnames for which we whitelist popups (rather than
     98 // blocking).
     99 const char kPopupWhitelistedHosts[] = "profile.popup_whitelisted_sites";
    100 
    101 // WebKit preferences.
    102 const char kWebKitStandardFontFamily[] = "webkit.webprefs.standard_font_family";
    103 const char kWebKitFixedFontFamily[] = "webkit.webprefs.fixed_font_family";
    104 const char kWebKitSerifFontFamily[] = "webkit.webprefs.serif_font_family";
    105 const char kWebKitSansSerifFontFamily[] =
    106     "webkit.webprefs.sansserif_font_family";
    107 const char kWebKitCursiveFontFamily[] = "webkit.webprefs.cursive_font_family";
    108 const char kWebKitFantasyFontFamily[] = "webkit.webprefs.fantasy_font_family";
    109 const char kWebKitDefaultFontSize[] = "webkit.webprefs.default_font_size";
    110 const char kWebKitDefaultFixedFontSize[] =
    111     "webkit.webprefs.default_fixed_font_size";
    112 const char kWebKitMinimumFontSize[] = "webkit.webprefs.minimum_font_size";
    113 const char kWebKitMinimumLogicalFontSize[] =
    114     "webkit.webprefs.minimum_logical_font_size";
    115 const char kWebKitJavascriptEnabled[] = "webkit.webprefs.javascript_enabled";
    116 const char kWebKitWebSecurityEnabled[] = "webkit.webprefs.web_security_enabled";
    117 const char kWebKitJavascriptCanOpenWindowsAutomatically[] =
    118     "webkit.webprefs.javascript_can_open_windows_automatically";
    119 const char kWebKitLoadsImagesAutomatically[] =
    120     "webkit.webprefs.loads_images_automatically";
    121 const char kWebKitPluginsEnabled[] = "webkit.webprefs.plugins_enabled";
    122 const char kWebKitDomPasteEnabled[] = "webkit.webprefs.dom_paste_enabled";
    123 const char kWebKitShrinksStandaloneImagesToFit[] =
    124     "webkit.webprefs.shrinks_standalone_images_to_fit";
    125 const char kWebKitInspectorSettings[] = "webkit.webprefs.inspector_settings";
    126 const char kWebKitUsesUniversalDetector[] =
    127     "webkit.webprefs.uses_universal_detector";
    128 const char kWebKitTextAreasAreResizable[] =
    129     "webkit.webprefs.text_areas_are_resizable";
    130 const char kWebKitJavaEnabled[] = "webkit.webprefs.java_enabled";
    131 const char kWebkitTabsToLinks[] = "webkit.webprefs.tabs_to_links";
    132 
    133 // Boolean which specifies whether the bookmark bar is visible on all tabs.
    134 const char kShowBookmarkBar[] = "bookmark_bar.show_on_all_tabs";
    135 
    136 // Boolean that is true if the password manager is on (will record new
    137 // passwords and fill in known passwords).
    138 const char kPasswordManagerEnabled[] = "profile.password_manager_enabled";
    139 
    140 // Boolean controlling whether the password manager allows to retrieve passwords
    141 // in clear text.
    142 const char kPasswordManagerAllowShowPasswords[] =
    143     "profile.password_manager_allow_show_passwords";
    144 
    145 // Boolean that is true when SafeBrowsing is enabled.
    146 const char kSafeBrowsingEnabled[] = "safebrowsing.enabled";
    147 
    148 // Boolean that is true when SafeBrowsing Malware Report is enabled.
    149 const char kSafeBrowsingReportingEnabled[] =
    150     "safebrowsing.reporting_enabled";
    151 
    152 // Boolean that is true when Incognito support is enabled.
    153 const char kIncognitoEnabled[] = "incognito.enabled";
    154 
    155 // Boolean that is true when Suggest support is enabled.
    156 const char kSearchSuggestEnabled[] = "search.suggest_enabled";
    157 
    158 // Boolean that indicates whether the browser should put up a confirmation
    159 // window when the user is attempting to quit. Mac only.
    160 const char kConfirmToQuitEnabled[] = "browser.confirm_to_quit";
    161 
    162 // OBSOLETE.  Enum that specifies whether to enforce a third-party cookie
    163 // blocking policy.  This has been superseded by kDefaultContentSettings +
    164 // kBlockThirdPartyCookies.
    165 // 0 - allow all cookies.
    166 // 1 - block third-party cookies
    167 // 2 - block all cookies
    168 const char kCookieBehavior[] = "security.cookie_behavior";
    169 
    170 // Whether having a default search provider is enabled.
    171 const char kDefaultSearchProviderEnabled[] =
    172     "default_search_provider.enabled";
    173 
    174 // The URL (as understood by TemplateURLRef) the default search provider uses
    175 // for searches.
    176 const char kDefaultSearchProviderSearchURL[] =
    177     "default_search_provider.search_url";
    178 
    179 // The URL (as understood by TemplateURLRef) the default search provider uses
    180 // for suggestions.
    181 const char kDefaultSearchProviderSuggestURL[] =
    182     "default_search_provider.suggest_url";
    183 
    184 // The URL (as understood by TemplateURLRef) the default search provider uses
    185 // for instant results.
    186 const char kDefaultSearchProviderInstantURL[] =
    187     "default_search_provider.instant_url";
    188 
    189 // The Favicon URL (as understood by TemplateURLRef) of the default search
    190 // provider.
    191 const char kDefaultSearchProviderIconURL[] =
    192     "default_search_provider.icon_url";
    193 
    194 // The input encoding (as understood by TemplateURLRef) supported by the default
    195 // search provider.  The various encodings are separated by ';'
    196 const char kDefaultSearchProviderEncodings[] =
    197     "default_search_provider.encodings";
    198 
    199 // The name of the default search provider.
    200 const char kDefaultSearchProviderName[] = "default_search_provider.name";
    201 
    202 // The keyword of the default search provider.
    203 const char kDefaultSearchProviderKeyword[] = "default_search_provider.keyword";
    204 
    205 // The id of the default search provider.
    206 const char kDefaultSearchProviderID[] = "default_search_provider.id";
    207 
    208 // The prepopulate id of the default search provider.
    209 const char kDefaultSearchProviderPrepopulateID[] =
    210     "default_search_provider.prepopulate_id";
    211 
    212 // The dictionary key used when the default search providers are given
    213 // in the preferences file. Normally they are copied from the master
    214 // preferences file.
    215 const char kSearchProviderOverrides[] = "search_provider_overrides";
    216 // The format version for the dictionary above.
    217 const char kSearchProviderOverridesVersion[] =
    218     "search_provider_overrides_version";
    219 
    220 // Boolean which specifies whether we should ask the user if we should download
    221 // a file (true) or just download it automatically.
    222 const char kPromptForDownload[] = "download.prompt_for_download";
    223 
    224 // A boolean pref set to true if we're using Link Doctor error pages.
    225 const char kAlternateErrorPagesEnabled[] = "alternate_error_pages.enabled";
    226 
    227 // OBSOLETE: new pref now stored with user prefs instead of profile, as
    228 // kDnsPrefetchingStartupList.
    229 const char kDnsStartupPrefetchList[] = "StartupDNSPrefetchList";
    230 
    231 // An adaptively identified list of domain names to be pre-fetched during the
    232 // next startup, based on what was actually needed during this startup.
    233 const char kDnsPrefetchingStartupList[] = "dns_prefetching.startup_list";
    234 
    235 // OBSOLETE: new pref now stored with user prefs instead of profile, as
    236 // kDnsPrefetchingHostReferralList.
    237 const char kDnsHostReferralList[] = "HostReferralList";
    238 
    239 // A list of host names used to fetch web pages, and their commonly used
    240 // sub-resource hostnames (and expected latency benefits from pre-resolving, or
    241 // preconnecting to, such sub-resource hostnames).
    242 // This list is adaptively grown and pruned.
    243 const char kDnsPrefetchingHostReferralList[] =
    244     "dns_prefetching.host_referral_list";
    245 
    246 // Disables the SPDY protocol.
    247 const char kDisableSpdy[] = "spdy.disabled";
    248 
    249 // Disables the listed protocol schemes.
    250 const char kDisabledSchemes[] = "protocol.disabled_schemes";
    251 
    252 // Boolean pref indicating whether the instant confirm dialog has been shown.
    253 const char kInstantConfirmDialogShown[] = "instant.confirm_dialog_shown";
    254 
    255 // Boolean pref indicating if instant is enabled.
    256 const char kInstantEnabled[] = "instant.enabled";
    257 
    258 // Boolean pref indicating if instant was ever enabled.
    259 const char kInstantEnabledOnce[] = "instant.enabled_once";
    260 
    261 // Time when instant was last enabled.
    262 const char kInstantEnabledTime[] = "instant.enabled_time";
    263 
    264 // Used to maintain instant promo keys. See PromoCounter for details of subkeys
    265 // that are used.
    266 const char kInstantPromo[] = "instant.promo";
    267 
    268 // Used to migrate preferences from local state to user preferences to
    269 // enable multiple profiles.
    270 // BITMASK with possible values (see browser_prefs.cc for enum):
    271 // 0: No preferences migrated.
    272 // 1: DNS preferences migrated: kDnsPrefetchingStartupList and HostReferralList
    273 // 2: Browser window preferences migrated: kDevToolsSplitLocation and
    274 //    kBrowserWindowPlacement
    275 const char kMultipleProfilePrefMigration[] =
    276     "local_state.multiple_profile_prefs_version";
    277 
    278 // A boolean pref set to true if prediction of network actions is allowed.
    279 // Actions include DNS prefetching, TCP and SSL preconnection, and prerendering
    280 // of web pages.
    281 // NOTE: The "dns_prefetching.enabled" value is used so that historical user
    282 // preferences are not lost.
    283 const char kNetworkPredictionEnabled[] = "dns_prefetching.enabled";
    284 
    285 #if defined(OS_CHROMEOS)
    286 // An integer pref to initially mute volume if 1.
    287 const char kAudioMute[] = "settings.audio.mute";
    288 
    289 // A double pref to set initial volume.
    290 const char kAudioVolume[] = "settings.audio.volume";
    291 
    292 // A boolean pref set to true if TapToClick is being done in browser.
    293 const char kTapToClickEnabled[] = "settings.touchpad.enable_tap_to_click";
    294 
    295 // A integer pref for the touchpad sensitivity.
    296 const char kTouchpadSensitivity[] = "settings.touchpad.sensitivity2";
    297 
    298 // A boolean pref set to true if time should be displayed in 24-hour clock.
    299 const char kUse24HourClock[] = "settings.clock.use_24hour_clock";
    300 
    301 // A string pref set to the current input method.
    302 const char kLanguageCurrentInputMethod[] =
    303     "settings.language.current_input_method";
    304 
    305 // A string pref set to the previous input method.
    306 const char kLanguagePreviousInputMethod[] =
    307     "settings.language.previous_input_method";
    308 
    309 // A string pref (comma-separated list) set to the "next engine in menu"
    310 // hot-key lists.
    311 const char kLanguageHotkeyNextEngineInMenu[] =
    312     "settings.language.hotkey_next_engine_in_menu";
    313 
    314 // A string pref (comma-separated list) set to the "previous engine"
    315 // hot-key lists.
    316 const char kLanguageHotkeyPreviousEngine[] =
    317     "settings.language.hotkey_previous_engine";
    318 
    319 // A string pref (comma-separated list) set to the preferred language IDs
    320 // (ex. "en-US,fr,ko").
    321 const char kLanguagePreferredLanguages[] =
    322     "settings.language.preferred_languages";
    323 
    324 // A string pref (comma-separated list) set to the preloaded (active) input
    325 // method IDs (ex. "pinyin,mozc").
    326 const char kLanguagePreloadEngines[] = "settings.language.preload_engines";
    327 
    328 // Boolean prefs for ibus-chewing Chinese input method.
    329 const char kLanguageChewingAutoShiftCur[] =
    330     "settings.language.chewing_auto_shift_cur";
    331 const char kLanguageChewingAddPhraseDirection[] =
    332     "settings.language.chewing_add_phrase_direction";
    333 const char kLanguageChewingEasySymbolInput[] =
    334     "settings.language.chewing_easy_symbol_input";
    335 const char kLanguageChewingEscCleanAllBuf[] =
    336     "settings.language.chewing_esc_clean_all_buf";
    337 const char kLanguageChewingForceLowercaseEnglish[] =
    338     "settings.language.chewing_force_lowercase_english";
    339 const char kLanguageChewingPlainZhuyin[] =
    340     "settings.language.chewing_plain_zhuyin";
    341 const char kLanguageChewingPhraseChoiceRearward[] =
    342     "settings.language.chewing_phrase_choice_rearward";
    343 const char kLanguageChewingSpaceAsSelection[] =
    344     "settings.language.chewing_space_as_selection";
    345 
    346 // Integer prefs for ibus-chewing Chinese input method.
    347 const char kLanguageChewingMaxChiSymbolLen[] =
    348     "settings.language.chewing_max_chi_symbol_len";
    349 const char kLanguageChewingCandPerPage[] =
    350     "settings.language.chewing_cand_per_page";
    351 
    352 // String prefs for ibus-chewing Chinese input method.
    353 const char kLanguageChewingKeyboardType[] =
    354     "settings.language.chewing_keyboard_type";
    355 const char kLanguageChewingSelKeys[] =
    356     "settings.language.chewing_sel_keys";
    357 
    358 const char kLanguageChewingHsuSelKeyType[] =
    359     "settings.language.chewing_hsu_sel_key_type";
    360 
    361 // A string pref which determines the keyboard layout for Hangul input method.
    362 const char kLanguageHangulKeyboard[] = "settings.language.hangul_keyboard";
    363 const char kLanguageHangulHanjaKeys[] = "settings.language.hangul_hanja_keys";
    364 
    365 // A boolean prefs for ibus-pinyin Chinese input method.
    366 const char kLanguagePinyinCorrectPinyin[] =
    367     "settings.language.pinyin_correct_pinyin";
    368 const char kLanguagePinyinFuzzyPinyin[] =
    369     "settings.language.pinyin_fuzzy_pinyin";
    370 const char kLanguagePinyinShiftSelectCandidate[] =
    371     "settings.language.pinyin_shift_select_candidate";
    372 const char kLanguagePinyinMinusEqualPage[] =
    373     "settings.language.pinyin_minus_equal_page";
    374 const char kLanguagePinyinCommaPeriodPage[] =
    375     "settings.language.pinyin_comma_period_page";
    376 const char kLanguagePinyinAutoCommit[] =
    377     "settings.language.pinyin_auto_commit";
    378 const char kLanguagePinyinDoublePinyin[] =
    379     "settings.language.pinyin_double_pinyin";
    380 const char kLanguagePinyinInitChinese[] =
    381     "settings.language.pinyin_init_chinese";
    382 const char kLanguagePinyinInitFull[] =
    383     "settings.language.pinyin_init_full";
    384 const char kLanguagePinyinInitFullPunct[] =
    385     "settings.language.pinyin_init_full_punct";
    386 const char kLanguagePinyinInitSimplifiedChinese[] =
    387     "settings.language.pinyin_init_simplified_chinese";
    388 const char kLanguagePinyinTradCandidate[] =
    389     "settings.language.pinyin_trad_candidate";
    390 
    391 // A integer prefs for ibus-pinyin Chinese input method.
    392 const char kLanguagePinyinDoublePinyinSchema[] =
    393     "settings.language.pinyin_double_pinyin_schema";
    394 const char kLanguagePinyinLookupTablePageSize[] =
    395     "settings.language.pinyin_lookup_table_page_size";
    396 
    397 // A string prefs for ibus-mozc Japanese input method.
    398 // ibus-mozc converts the string values to protobuf enum values defined in
    399 // third_party/ibus-mozc/files/src/session/config.proto.
    400 const char kLanguageMozcPreeditMethod[] =
    401     "settings.language.mozc_preedit_method";
    402 const char kLanguageMozcSessionKeymap[] =
    403     "settings.language.mozc_session_keymap";
    404 const char kLanguageMozcPunctuationMethod[] =
    405     "settings.language.mozc_punctuation_method";
    406 const char kLanguageMozcSymbolMethod[] =
    407     "settings.language.mozc_symbol_method";
    408 const char kLanguageMozcSpaceCharacterForm[] =
    409     "settings.language.mozc_space_character_form";
    410 const char kLanguageMozcHistoryLearningLevel[] =
    411     "settings.language.mozc_history_learning_level";
    412 const char kLanguageMozcSelectionShortcut[] =
    413     "settings.language.mozc_selection_shortcut";
    414 const char kLanguageMozcShiftKeyModeSwitch[] =
    415     "settings.language.mozc_shift_key_mode_switch";
    416 const char kLanguageMozcNumpadCharacterForm[] =
    417     "settings.language.mozc_numpad_character_form";
    418 const char kLanguageMozcIncognitoMode[] =
    419     "settings.language.mozc_incognito_mode";
    420 const char kLanguageMozcUseAutoImeTurnOff[] =
    421     "settings.language.mozc_use_auto_ime_turn_off";
    422 const char kLanguageMozcUseDateConversion[] =
    423     "settings.language.mozc_use_date_conversion";
    424 const char kLanguageMozcUseSingleKanjiConversion[] =
    425     "settings.language.mozc_use_single_kanji_conversion";
    426 const char kLanguageMozcUseSymbolConversion[] =
    427     "settings.language.mozc_use_symbol_conversion";
    428 const char kLanguageMozcUseNumberConversion[] =
    429     "settings.language.mozc_use_number_conversion";
    430 const char kLanguageMozcUseHistorySuggest[] =
    431     "settings.language.mozc_use_history_suggest";
    432 const char kLanguageMozcUseDictionarySuggest[] =
    433     "settings.language.mozc_use_dictionary_suggest";
    434 const char kLanguageMozcSuggestionsSize[] =
    435     "settings.language.mozc_suggestions_size";
    436 
    437 // A integer prefs which determine how we remap modifier keys (e.g. swap Alt-L
    438 // and Control-L.) Possible values for these prefs are 0-4. See ModifierKey enum
    439 // in src/third_party/cros/chrome_keyboard.h for details.
    440 const char kLanguageXkbRemapSearchKeyTo[] =
    441     "settings.language.xkb_remap_search_key_to";
    442 const char kLanguageXkbRemapControlKeyTo[] =
    443     "settings.language.xkb_remap_control_key_to";
    444 const char kLanguageXkbRemapAltKeyTo[] =
    445     "settings.language.xkb_remap_alt_key_to";
    446 
    447 // A boolean pref which determines whether key repeat is enabled.
    448 const char kLanguageXkbAutoRepeatEnabled[] =
    449     "settings.language.xkb_auto_repeat_enabled_r2";
    450 // A integer pref which determines key repeat delay (in ms).
    451 const char kLanguageXkbAutoRepeatDelay[] =
    452     "settings.language.xkb_auto_repeat_delay_r2";
    453 // A integer pref which determines key repeat interval (in ms).
    454 const char kLanguageXkbAutoRepeatInterval[] =
    455     "settings.language.xkb_auto_repeat_interval_r2";
    456 // "_r2" suffixes are added to the three prefs above when we change the
    457 // preferences not user-configurable, not to sync them with cloud.
    458 
    459 // A boolean pref which determines whether accessibility is enabled.
    460 const char kAccessibilityEnabled[] = "settings.accessibility";
    461 
    462 // A boolean pref which turns on Advanced Filesystem
    463 // (USB support, SD card, etc).
    464 const char kLabsAdvancedFilesystemEnabled[] =
    465     "settings.labs.advanced_filesystem";
    466 
    467 // A boolean pref which turns on the mediaplayer.
    468 const char kLabsMediaplayerEnabled[] = "settings.labs.mediaplayer";
    469 
    470 // A boolean pref that turns on screen locker.
    471 const char kEnableScreenLock[] = "settings.enable_screen_lock";
    472 
    473 // A boolean pref of whether to show mobile plan notifications.
    474 const char kShowPlanNotifications[] =
    475     "settings.internet.mobile.show_plan_notifications";
    476 
    477 // A boolean pref of whether to show 3G promo notification.
    478 const char kShow3gPromoNotification[] =
    479     "settings.internet.mobile.show_3g_promo_notification";
    480 
    481 // An integer pref which shows number of times carrier deal promo
    482 // notification has been shown to user.
    483 const char kCarrierDealPromoShown[] =
    484     "settings.internet.mobile.carrier_deal_promo_shown";
    485 
    486 // Map of timestamps of the last used file browser tasks.
    487 const char kLastUsedFileBrowserHandlers[] =
    488     "filebrowser.handler.lastused";
    489 #endif  // defined(OS_CHROMEOS)
    490 
    491 // The disabled messages in IPC logging.
    492 const char kIpcDisabledMessages[] = "ipc_log_disabled_messages";
    493 
    494 // A boolean pref set to true if a Home button to open the Home pages should be
    495 // visible on the toolbar.
    496 const char kShowHomeButton[] = "browser.show_home_button";
    497 
    498 // A string value which saves short list of recently user selected encodings
    499 // separated with comma punctuation mark.
    500 const char kRecentlySelectedEncoding[] = "profile.recently_selected_encodings";
    501 
    502 // Clear Browsing Data dialog preferences.
    503 const char kDeleteBrowsingHistory[] = "browser.clear_data.browsing_history";
    504 const char kDeleteDownloadHistory[] = "browser.clear_data.download_history";
    505 const char kDeleteCache[] = "browser.clear_data.cache";
    506 const char kDeleteCookies[] = "browser.clear_data.cookies";
    507 const char kDeletePasswords[] = "browser.clear_data.passwords";
    508 const char kDeleteFormData[] = "browser.clear_data.form_data";
    509 const char kDeleteTimePeriod[] = "browser.clear_data.time_period";
    510 
    511 // Boolean pref to define the default values for using spellchecker.
    512 const char kEnableSpellCheck[] = "browser.enable_spellchecking";
    513 
    514 // List of names of the enabled labs experiments (see chrome/browser/labs.cc).
    515 const char kEnabledLabsExperiments[] = "browser.enabled_labs_experiments";
    516 
    517 // Boolean pref to define the default values for using auto spell correct.
    518 const char kEnableAutoSpellCorrect[] = "browser.enable_autospellcorrect";
    519 
    520 // Boolean controlling whether history saving is disabled.
    521 const char kSavingBrowserHistoryDisabled[] = "history.saving_disabled";
    522 
    523 // Boolean controlling whether printing is enabled.
    524 const char kPrintingEnabled[] = "printing.enabled";
    525 
    526 // String pref to define the default values for print overlays.
    527 const char kPrintingPageHeaderLeft[] = "printing.page.header.left";
    528 const char kPrintingPageHeaderCenter[] = "printing.page.header.center";
    529 const char kPrintingPageHeaderRight[] = "printing.page.header.right";
    530 const char kPrintingPageFooterLeft[] = "printing.page.footer.left";
    531 const char kPrintingPageFooterCenter[] = "printing.page.footer.center";
    532 const char kPrintingPageFooterRight[] = "printing.page.footer.right";
    533 #if defined(TOOLKIT_USES_GTK)
    534 // GTK specific preference on whether we should match the system GTK theme.
    535 const char kUsesSystemTheme[] = "extensions.theme.use_system";
    536 #endif
    537 const char kCurrentThemePackFilename[] = "extensions.theme.pack";
    538 const char kCurrentThemeID[] = "extensions.theme.id";
    539 const char kCurrentThemeImages[] = "extensions.theme.images";
    540 const char kCurrentThemeColors[] = "extensions.theme.colors";
    541 const char kCurrentThemeTints[] = "extensions.theme.tints";
    542 const char kCurrentThemeDisplayProperties[] = "extensions.theme.properties";
    543 
    544 // Boolean pref which persists whether the extensions_ui is in developer mode
    545 // (showing developer packing tools and extensions details)
    546 const char kExtensionsUIDeveloperMode[] = "extensions.ui.developer_mode";
    547 
    548 // Integer pref that tracks the number of browser actions visible in the browser
    549 // actions toolbar.
    550 const char kExtensionToolbarSize[] = "extensions.toolbarsize";
    551 
    552 // Pref containing the directory for internal plugins as written to the plugins
    553 // list (below).
    554 const char kPluginsLastInternalDirectory[] = "plugins.last_internal_directory";
    555 
    556 // List pref containing information (dictionaries) on plugins.
    557 const char kPluginsPluginsList[] = "plugins.plugins_list";
    558 
    559 // List pref containing names of plugins that are disabled by policy.
    560 const char kPluginsDisabledPlugins[] = "plugins.plugins_disabled";
    561 
    562 // List pref containing exceptions to the list of plugins disabled by policy.
    563 const char kPluginsDisabledPluginsExceptions[] =
    564     "plugins.plugins_disabled_exceptions";
    565 
    566 // List pref containing names of plugins that are enabled by policy.
    567 const char kPluginsEnabledPlugins[] = "plugins.plugins_enabled";
    568 
    569 // When first shipped, the pdf plugin will be disabled by default.  When we
    570 // enable it by default, we'll want to do so only once.
    571 const char kPluginsEnabledInternalPDF[] = "plugins.enabled_internal_pdf3";
    572 
    573 const char kPluginsShowSetReaderDefaultInfobar[] =
    574     "plugins.show_set_reader_default";
    575 
    576 // Whether about:plugins is shown in the details mode or not.
    577 const char kPluginsShowDetails[] = "plugins.show_details";
    578 
    579 // Boolean that indicates whether outdated plugins are allowed or not.
    580 const char kPluginsAllowOutdated[] = "plugins.allow_outdated";
    581 
    582 // Boolean that indicates whether we should check if we are the default browser
    583 // on start-up.
    584 const char kCheckDefaultBrowser[] = "browser.check_default_browser";
    585 
    586 // Policy setting whether default browser check should be disabled and default
    587 // browser registration should take place.
    588 const char kDefaultBrowserSettingEnabled[] =
    589     "browser.default_browser_setting_enabled";
    590 
    591 #if defined(OS_MACOSX)
    592 // Boolean that indicates whether the application should show the info bar
    593 // asking the user to set up automatic updates when Keystone promotion is
    594 // required.
    595 const char kShowUpdatePromotionInfoBar[] =
    596     "browser.show_update_promotion_info_bar";
    597 #endif
    598 
    599 // Boolean that is false if we should show window manager decorations.  If
    600 // true, we draw a custom chrome frame (thicker title bar and blue border).
    601 const char kUseCustomChromeFrame[] = "browser.custom_chrome_frame";
    602 
    603 // Boolean that indicates whether the infobar explaining that search can be
    604 // done directly from the omnibox should be shown.
    605 const char kShowOmniboxSearchHint[] = "browser.show_omnibox_search_hint";
    606 
    607 // The list of origins which are allowed|denied to show desktop notifications.
    608 const char kDesktopNotificationDefaultContentSetting[] =
    609     "profile.notifications_default_content_setting";
    610 const char kDesktopNotificationAllowedOrigins[] =
    611     "profile.notification_allowed_sites";
    612 const char kDesktopNotificationDeniedOrigins[] =
    613     "profile.notification_denied_sites";
    614 
    615 // The preferred position (which corner of screen) for desktop notifications.
    616 const char kDesktopNotificationPosition[] =
    617     "browser.desktop_notification_position";
    618 
    619 // Dictionary of content settings applied to all hosts by default.
    620 const char kDefaultContentSettings[] = "profile.default_content_settings";
    621 
    622 // OBSOLETE. Dictionary that maps hostnames to content related settings.
    623 // Default settings will be applied to hosts not in this pref.
    624 const char kPerHostContentSettings[] = "profile.per_host_content_settings";
    625 
    626 // Version of the pattern format used to define content settings.
    627 const char kContentSettingsVersion[] = "profile.content_settings.pref_version";
    628 
    629 // Patterns for mapping hostnames to content related settings. Default settings
    630 // will be applied to hosts that don't match any of the patterns. Replaces
    631 // kPerHostContentSettings. The pattern format used is defined by
    632 // kContentSettingsVersion.
    633 const char kContentSettingsPatterns[] = "profile.content_settings.patterns";
    634 
    635 // Boolean that is true if we should unconditionally block third-party cookies,
    636 // regardless of other content settings.
    637 const char kBlockThirdPartyCookies[] = "profile.block_third_party_cookies";
    638 
    639 // Boolean that is true if non-sandboxed plug-ins should be blocked.
    640 const char kBlockNonsandboxedPlugins[] = "profile.block_nonsandboxed_plugins";
    641 
    642 // Boolean that is true when all locally stored site data (e.g. cookies, local
    643 // storage, etc..) should be deleted on exit.
    644 const char kClearSiteDataOnExit[] = "profile.clear_site_data_on_exit";
    645 
    646 // Double that indicates the default zoom level.
    647 const char kDefaultZoomLevel[] = "profile.default_zoom_level";
    648 
    649 // Dictionary that maps hostnames to zoom levels.  Hosts not in this pref will
    650 // be displayed at the default zoom level.
    651 const char kPerHostZoomLevels[] = "profile.per_host_zoom_levels";
    652 
    653 // Boolean that is true if Autofill is enabled and allowed to save profile data.
    654 const char kAutofillEnabled[] = "autofill.enabled";
    655 
    656 // Boolean that is true when auxiliary Autofill profiles are enabled.
    657 // Currently applies to Address Book "me" card on Mac.  False on Win and Linux.
    658 const char kAutofillAuxiliaryProfilesEnabled[] =
    659     "autofill.auxiliary_profiles_enabled";
    660 
    661 // Position and size of the Autofill dialog.
    662 const char kAutofillDialogPlacement[] = "autofill.dialog_placement";
    663 
    664 // Double that indicates positive (for matched forms) upload rate.
    665 const char kAutofillPositiveUploadRate[] = "autofill.positive_upload_rate";
    666 
    667 // Double that indicates negative (for not matched forms) upload rate.
    668 const char kAutofillNegativeUploadRate[] = "autofill.negative_upload_rate";
    669 
    670 // Boolean option set to true on the first run. Non-persistent.
    671 const char kAutofillPersonalDataManagerFirstRun[] = "autofill.pdm.first_run";
    672 
    673 // Modifying bookmarks is completely disabled when this is set to false.
    674 const char kEditBookmarksEnabled[] = "bookmarks.editing_enabled";
    675 
    676 // Boolean that is true when the tabstrip is to be laid out vertically down the
    677 // side of the browser window.
    678 const char kUseVerticalTabs[] = "tabs.use_vertical_tabs";
    679 
    680 // Boolean that is true when the translate feature is enabled.
    681 const char kEnableTranslate[] = "translate.enabled";
    682 
    683 // Boolean that is true when the bookmark bar for the new tab page is enabled.
    684 const char kEnableBookmarkBar[] = "bookmark_bar.enabled";
    685 
    686 const char kPinnedTabs[] = "pinned_tabs";
    687 
    688 // Boolean that is true when HTTP throttling is enabled.
    689 const char kHttpThrottlingEnabled[] = "http_throttling.enabled";
    690 
    691 // Integer that specifies the policy refresh rate for policy in milliseconds.
    692 // Not all values are meaningful, so it is clamped to a sane range by the cloud
    693 // policy subsystem.
    694 const char kPolicyRefreshRate[] = "policy.refresh_rate";
    695 
    696 // Integer containing the default Geolocation content setting.
    697 const char kGeolocationDefaultContentSetting[] =
    698     "geolocation.default_content_setting";
    699 
    700 // Dictionary that maps [frame, toplevel] to their Geolocation content setting.
    701 const char kGeolocationContentSettings[] = "geolocation.content_settings";
    702 
    703 // Preference to disable 3D APIs (WebGL, Pepper 3D).
    704 const char kDisable3DAPIs[] = "disable_3d_apis";
    705 
    706 // Whether to enable hyperlink auditing ("<a ping>").
    707 const char kEnableHyperlinkAuditing[] = "enable_a_ping";
    708 
    709 // Whether to enable sending referrers.
    710 const char kEnableReferrers[] = "enable_referrers";
    711 
    712 // *************** LOCAL STATE ***************
    713 // These are attached to the machine/installation
    714 
    715 // Prefs for SSLConfigServicePref.
    716 const char kCertRevocationCheckingEnabled[] = "ssl.rev_checking.enabled";
    717 const char kSSL3Enabled[] = "ssl.ssl3.enabled";
    718 const char kTLS1Enabled[] = "ssl.tls1.enabled";
    719 
    720 // The metrics client GUID and session ID.
    721 const char kMetricsClientID[] = "user_experience_metrics.client_id";
    722 const char kMetricsSessionID[] = "user_experience_metrics.session_id";
    723 
    724 // Date/time when the current metrics profile ID was created
    725 // (which hopefully corresponds to first run).
    726 const char kMetricsClientIDTimestamp[] =
    727     "user_experience_metrics.client_id_timestamp";
    728 
    729 // Boolean that specifies whether or not crash reporting and metrics reporting
    730 // are sent over the network for analysis.
    731 const char kMetricsReportingEnabled[] =
    732     "user_experience_metrics.reporting_enabled";
    733 
    734 // Array of strings that are each UMA logs that were supposed to be sent in the
    735 // first minute of a browser session. These logs include things like crash count
    736 // info, etc.
    737 const char kMetricsInitialLogs[] =
    738     "user_experience_metrics.initial_logs";
    739 
    740 // Array of strings that are each UMA logs that were not sent because the
    741 // browser terminated before these accumulated metrics could be sent.  These
    742 // logs typically include histograms and memory reports, as well as ongoing
    743 // user activities.
    744 const char kMetricsOngoingLogs[] =
    745     "user_experience_metrics.ongoing_logs";
    746 
    747 // Where profile specific metrics are placed.
    748 const char kProfileMetrics[] = "user_experience_metrics.profiles";
    749 
    750 // The metrics for a profile are stored as dictionary values under the
    751 // path kProfileMetrics. The individual metrics are placed under the path
    752 // kProfileMetrics.kProfilePrefix<hashed-profile-id>.
    753 const char kProfilePrefix[] = "profile-";
    754 
    755 // True if the previous run of the program exited cleanly.
    756 const char kStabilityExitedCleanly[] =
    757     "user_experience_metrics.stability.exited_cleanly";
    758 
    759 // Version string of previous run, which is used to assure that stability
    760 // metrics reported under current version reflect stability of the same version.
    761 const char kStabilityStatsVersion[] =
    762     "user_experience_metrics.stability.stats_version";
    763 
    764 // Build time, in seconds since an epoch, which is used to assure that stability
    765 // metrics reported reflect stability of the same build.
    766 const char kStabilityStatsBuildTime[] =
    767     "user_experience_metrics.stability.stats_buildtime";
    768 
    769 // False if we received a session end and either we crashed during processing
    770 // the session end or ran out of time and windows terminated us.
    771 const char kStabilitySessionEndCompleted[] =
    772     "user_experience_metrics.stability.session_end_completed";
    773 
    774 // Number of times the application was launched since last report.
    775 const char kStabilityLaunchCount[] =
    776     "user_experience_metrics.stability.launch_count";
    777 
    778 // Number of times the application exited uncleanly since the last report.
    779 const char kStabilityCrashCount[] =
    780     "user_experience_metrics.stability.crash_count";
    781 
    782 // Number of times the session end did not complete.
    783 const char kStabilityIncompleteSessionEndCount[] =
    784     "user_experience_metrics.stability.incomplete_session_end_count";
    785 
    786 // Number of times a page load event occurred since the last report.
    787 const char kStabilityPageLoadCount[] =
    788     "user_experience_metrics.stability.page_load_count";
    789 
    790 // Number of times a renderer process crashed since the last report.
    791 const char kStabilityRendererCrashCount[] =
    792     "user_experience_metrics.stability.renderer_crash_count";
    793 
    794 // Number of times an extension renderer process crashed since the last report.
    795 const char kStabilityExtensionRendererCrashCount[] =
    796     "user_experience_metrics.stability.extension_renderer_crash_count";
    797 
    798 // Time when the app was last launched, in seconds since the epoch.
    799 const char kStabilityLaunchTimeSec[] =
    800     "user_experience_metrics.stability.launch_time_sec";
    801 
    802 // Time when the app was last known to be running, in seconds since
    803 // the epoch.
    804 const char kStabilityLastTimestampSec[] =
    805     "user_experience_metrics.stability.last_timestamp_sec";
    806 
    807 // This is the location of a list of dictionaries of plugin stability stats.
    808 const char kStabilityPluginStats[] =
    809     "user_experience_metrics.stability.plugin_stats2";
    810 
    811 // Number of times the renderer has become non-responsive since the last
    812 // report.
    813 const char kStabilityRendererHangCount[] =
    814     "user_experience_metrics.stability.renderer_hang_count";
    815 
    816 // Total number of child process crashes (other than renderer / extension
    817 // renderer ones, and plugin children, which are counted separately) since the
    818 // last report.
    819 const char kStabilityChildProcessCrashCount[] =
    820     "user_experience_metrics.stability.child_process_crash_count";
    821 
    822 // On Chrome OS, total number of non-Chrome user process crashes
    823 // since the last report.
    824 const char kStabilityOtherUserCrashCount[] =
    825     "user_experience_metrics.stability.other_user_crash_count";
    826 
    827 // On Chrome OS, total number of kernel crashes since the last report.
    828 const char kStabilityKernelCrashCount[] =
    829     "user_experience_metrics.stability.kernel_crash_count";
    830 
    831 // On Chrome OS, total number of unclean system shutdowns since the
    832 // last report.
    833 const char kStabilitySystemUncleanShutdownCount[] =
    834     "user_experience_metrics.stability.system_unclean_shutdowns";
    835 
    836 // Number of times the browser has been able to register crash reporting.
    837 const char kStabilityBreakpadRegistrationSuccess[] =
    838     "user_experience_metrics.stability.breakpad_registration_ok";
    839 
    840 // Number of times the browser has failed to register crash reporting.
    841 const char kStabilityBreakpadRegistrationFail[] =
    842     "user_experience_metrics.stability.breakpad_registration_fail";
    843 
    844 // Number of times the browser has been run under a debugger.
    845 const char kStabilityDebuggerPresent[] =
    846     "user_experience_metrics.stability.debugger_present";
    847 
    848 // Number of times the browser has not been run under a debugger.
    849 const char kStabilityDebuggerNotPresent[] =
    850     "user_experience_metrics.stability.debugger_not_present";
    851 
    852 // The keys below are used for the dictionaries in the
    853 // kStabilityPluginStats list.
    854 const char kStabilityPluginName[] = "name";
    855 const char kStabilityPluginLaunches[] = "launches";
    856 const char kStabilityPluginInstances[] = "instances";
    857 const char kStabilityPluginCrashes[] = "crashes";
    858 
    859 // The keys below are strictly increasing counters over the lifetime of
    860 // a chrome installation. They are (optionally) sent up to the uninstall
    861 // survey in the event of uninstallation.
    862 const char kUninstallMetricsPageLoadCount[] =
    863     "uninstall_metrics.page_load_count";
    864 const char kUninstallLaunchCount[] = "uninstall_metrics.launch_count";
    865 const char kUninstallMetricsInstallDate[] =
    866     "uninstall_metrics.installation_date2";
    867 const char kUninstallMetricsUptimeSec[] = "uninstall_metrics.uptime_sec";
    868 const char kUninstallLastLaunchTimeSec[] =
    869     "uninstall_metrics.last_launch_time_sec";
    870 const char kUninstallLastObservedRunTimeSec[] =
    871     "uninstall_metrics.last_observed_running_time_sec";
    872 
    873 // A collection of position, size, and other data relating to the browser
    874 // window to restore on startup.
    875 const char kBrowserWindowPlacement[] = "browser.window_placement";
    876 
    877 // A collection of position, size, and other data relating to the task
    878 // manager window to restore on startup.
    879 const char kTaskManagerWindowPlacement[] = "task_manager.window_placement";
    880 
    881 // A collection of position, size, and other data relating to the keyword
    882 // editor window to restore on startup.
    883 const char kKeywordEditorWindowPlacement[] = "keyword_editor.window_placement";
    884 
    885 // A collection of position, size, and other data relating to the preferences
    886 // window to restore on startup.
    887 const char kPreferencesWindowPlacement[] = "preferences.window_placement";
    888 
    889 // An integer specifying the total number of bytes to be used by the
    890 // renderer's in-memory cache of objects.
    891 const char kMemoryCacheSize[] = "renderer.memory_cache.size";
    892 
    893 // String which specifies where to download files to by default.
    894 const char kDownloadDefaultDirectory[] = "download.default_directory";
    895 
    896 // Boolean that records if the download directory was changed by an
    897 // upgrade a unsafe location to a safe location.
    898 const char kDownloadDirUpgraded[] = "download.directory_upgrade";
    899 
    900 // String which specifies where to save html files to by default.
    901 const char kSaveFileDefaultDirectory[] = "savefile.default_directory";
    902 
    903 // The type used to save the page. See the enum SavePackage::SavePackageType in
    904 // the chrome/browser/download/save_package.h for the possible values.
    905 const char kSaveFileType[] = "savefile.type";
    906 
    907 // String which specifies the last directory that was chosen for uploading
    908 // or opening a file.
    909 const char kSelectFileLastDirectory[] = "selectfile.last_directory";
    910 
    911 // Boolean that specifies if file selection dialogs are shown.
    912 const char kAllowFileSelectionDialogs[] = "select_file_dialogs.allowed";
    913 
    914 // Extensions which should be opened upon completion.
    915 const char kDownloadExtensionsToOpen[] = "download.extensions_to_open";
    916 
    917 // Integer which specifies the frequency in milliseconds for detecting whether
    918 // plugin windows are hung.
    919 const char kHungPluginDetectFrequency[] = "browser.hung_plugin_detect_freq";
    920 
    921 // Integer which specifies the timeout value to be used for SendMessageTimeout
    922 // to detect a hung plugin window.
    923 const char kPluginMessageResponseTimeout[] =
    924     "browser.plugin_message_response_timeout";
    925 
    926 // String which represents the dictionary name for our spell-checker.
    927 const char kSpellCheckDictionary[] = "spellcheck.dictionary";
    928 
    929 // Dictionary of schemes used by the external protocol handler.
    930 // The value is true if the scheme must be ignored.
    931 const char kExcludedSchemes[] = "protocol_handler.excluded_schemes";
    932 
    933 // Keys used for MAC handling of SafeBrowsing requests.
    934 const char kSafeBrowsingClientKey[] = "safe_browsing.client_key";
    935 const char kSafeBrowsingWrappedKey[] = "safe_browsing.wrapped_key";
    936 
    937 // Integer that specifies the index of the tab the user was on when they
    938 // last visited the options window.
    939 const char kOptionsWindowLastTabIndex[] = "options_window.last_tab_index";
    940 
    941 // Integer that specifies the index of the tab the user was on when they
    942 // last visited the content settings window.
    943 const char kContentSettingsWindowLastTabIndex[] =
    944     "content_settings_window.last_tab_index";
    945 
    946 // Integer that specifies the index of the tab the user was on when they
    947 // last visited the Certificate Manager window.
    948 const char kCertificateManagerWindowLastTabIndex[] =
    949     "certificate_manager_window.last_tab_index";
    950 
    951 // The mere fact that this pref is registered signals that we should show the
    952 // First Run Search Information bubble when the first browser window appears.
    953 // This preference is only registered by the first-run procedure.
    954 const char kShouldShowFirstRunBubble[] = "show-first-run-bubble";
    955 
    956 // The mere fact that this pref is registered signals that we should show the
    957 // smaller OEM First Run Search Information bubble when the first
    958 // browser window appears.
    959 // This preference is only registered by the first-run procedure.
    960 const char kShouldUseOEMFirstRunBubble[] = "show-OEM-first-run-bubble";
    961 
    962 // The mere fact that this pref is registered signals that we should show the
    963 // minimal First Run omnibox information bubble when the first
    964 // browser window appears.
    965 // This preference is only registered by the first-run procedure.
    966 const char kShouldUseMinimalFirstRunBubble[] = "show-minimal-first-run-bubble";
    967 
    968 // Signal that we should show the welcome page when we launch Chrome.
    969 const char kShouldShowWelcomePage[] = "show-welcome-page";
    970 
    971 // String containing the last known Google URL.  We re-detect this on startup in
    972 // most cases, and use it to send traffic to the correct Google host or with the
    973 // correct Google domain/country code for whatever location the user is in.
    974 const char kLastKnownGoogleURL[] = "browser.last_known_google_url";
    975 
    976 // String containing the last prompted Google URL to the user.
    977 // If the user is using .x TLD for Google URL and gets prompted about .y TLD
    978 // for Google URL, and says "no", we should leave the search engine set to .x
    979 // but not prompt again until the domain changes away from .y.
    980 const char kLastPromptedGoogleURL[] = "browser.last_prompted_google_url";
    981 
    982 // String containing the last known intranet redirect URL, if any.  See
    983 // intranet_redirect_detector.h for more information.
    984 const char kLastKnownIntranetRedirectOrigin[] = "browser.last_redirect_origin";
    985 
    986 // Integer containing the system Country ID the first time we checked the
    987 // template URL prepopulate data.  This is used to avoid adding a whole bunch of
    988 // new search engine choices if prepopulation runs when the user's Country ID
    989 // differs from their previous Country ID.  This pref does not exist until
    990 // prepopulation has been run at least once.
    991 const char kCountryIDAtInstall[] = "countryid_at_install";
    992 // OBSOLETE. Same as above, but uses the Windows-specific GeoID value instead.
    993 // Updated if found to the above key.
    994 const char kGeoIDAtInstall[] = "geoid_at_install";
    995 
    996 // An enum value of how the browser was shut down (see browser_shutdown.h).
    997 const char kShutdownType[] = "shutdown.type";
    998 // Number of processes that were open when the user shut down.
    999 const char kShutdownNumProcesses[] = "shutdown.num_processes";
   1000 // Number of processes that were shut down using the slow path.
   1001 const char kShutdownNumProcessesSlow[] = "shutdown.num_processes_slow";
   1002 
   1003 // Whether to restart the current Chrome session automatically as the last thing
   1004 // before shutting everything down.
   1005 const char kRestartLastSessionOnShutdown[] = "restart.last.session.on.shutdown";
   1006 
   1007 // Number of bookmarks/folders on the bookmark bar/other bookmark folder.
   1008 const char kNumBookmarksOnBookmarkBar[] =
   1009     "user_experience_metrics.num_bookmarks_on_bookmark_bar";
   1010 const char kNumFoldersOnBookmarkBar[] =
   1011     "user_experience_metrics.num_folders_on_bookmark_bar";
   1012 const char kNumBookmarksInOtherBookmarkFolder[] =
   1013     "user_experience_metrics.num_bookmarks_in_other_bookmark_folder";
   1014 const char kNumFoldersInOtherBookmarkFolder[] =
   1015     "user_experience_metrics.num_folders_in_other_bookmark_folder";
   1016 
   1017 // Number of keywords.
   1018 const char kNumKeywords[] = "user_experience_metrics.num_keywords";
   1019 
   1020 // Placeholder preference for disabling voice / video chat if it is ever added.
   1021 // Currently, this does not change any behavior.
   1022 const char kDisableVideoAndChat[] = "disable_video_chat";
   1023 
   1024 // Whether Extensions are enabled.
   1025 const char kDisableExtensions[] = "extensions.disabled";
   1026 
   1027 // Whether the plugin finder in the default plugin is enabled.
   1028 const char kDisablePluginFinder[] = "plugins.disable_plugin_finder";
   1029 
   1030 // Integer boolean representing the width (in pixels) of the container for
   1031 // browser actions.
   1032 const char kBrowserActionContainerWidth[] =
   1033     "extensions.browseractions.container.width";
   1034 
   1035 // A whitelist of extension ids the user can install: exceptions from the
   1036 // following blacklist. This is controlled by the administrator.
   1037 const char kExtensionInstallAllowList[] = "extensions.install.allowlist";
   1038 // A blacklist, containing extensions the user cannot install. This list can
   1039 // conatin "*" meaning all extensions. This is controlled by the administrator.
   1040 // This list should not be confused with the extension blacklist, which is
   1041 // Google controlled.
   1042 const char kExtensionInstallDenyList[] = "extensions.install.denylist";
   1043 
   1044 // A list containing extensions that Chrome will silently install
   1045 // at startup time. It is a list of strings, each string contains
   1046 // an extension ID and an update URL, delimited by a semicolon.
   1047 // This preference is set by an admin policy, and meant to be only
   1048 // accessed through ExternalPolicyExtensionProvider.
   1049 const char kExtensionInstallForceList[] = "extensions.install.forcelist";
   1050 
   1051 // Time of the last, and next scheduled, extensions auto-update checks.
   1052 const char kLastExtensionsUpdateCheck[] = "extensions.autoupdate.last_check";
   1053 const char kNextExtensionsUpdateCheck[] = "extensions.autoupdate.next_check";
   1054 // Version number of last blacklist check
   1055 const char kExtensionBlacklistUpdateVersion[] =
   1056     "extensions.blacklistupdate.version";
   1057 
   1058 const char kExtensionSidebarWidth[] = "extensions.sidebar.width";
   1059 
   1060 // New Tab Page URLs that should not be shown as most visited thumbnails.
   1061 const char kNTPMostVisitedURLsBlacklist[] = "ntp.most_visited_blacklist";
   1062 
   1063 // The URLs that have been pinned to the Most Visited section of the New Tab
   1064 // Page.
   1065 const char kNTPMostVisitedPinnedURLs[] = "ntp.pinned_urls";
   1066 
   1067 // Data downloaded from promo resource pages (JSON, RSS) to be used to
   1068 // dynamically deliver data for the new tab page.
   1069 const char kNTPPromoResourceCache[] = "ntp.promo_resource_cache";
   1070 
   1071 // Last time of update of promo_resource_cache.
   1072 const char kNTPPromoResourceCacheUpdate[] = "ntp.promo_resource_cache_update";
   1073 
   1074 // Serves promo resources for the NTP.
   1075 const char kNTPPromoResourceServer[] = "ntp.web_resource_server";
   1076 
   1077 // Serves tips for the NTP.
   1078 const char kNTPTipsResourceServer[] = "ntp.tips_resource_server";
   1079 
   1080 // Serves dates to determine display of elements on the NTP.
   1081 const char kNTPDateResourceServer[] = "ntp.date_resource_server";
   1082 
   1083 // Which sections should be visible on the new tab page
   1084 // 1 - Show the most visited sites in a grid
   1085 // 2 - Show the most visited sites as a list
   1086 // 4 - Show the recent section
   1087 // 8 - (Show tips -- DEPRECATED)
   1088 // 16 - Show sync status
   1089 const char kNTPShownSections[] = "ntp.shown_sections";
   1090 
   1091 // This pref is used for migrating the prefs for the NTP
   1092 const char kNTPPrefVersion[] = "ntp.pref_version";
   1093 
   1094 // Dates between which the NTP should show a custom logo rather than the
   1095 // standard one.
   1096 const char kNTPCustomLogoStart[] = "ntp.alt_logo_start";
   1097 const char kNTPCustomLogoEnd[] = "ntp.alt_logo_end";
   1098 
   1099 // The promo resource service version number.
   1100 const char kNTPPromoVersion[] = "ntp.promo_version";
   1101 
   1102 // The last locale the promo was fetched for.
   1103 const char kNTPPromoLocale[] = "ntp.promo_locale";
   1104 
   1105 // Whether promo should be shown to Dev builds, Beta and Dev, or all builds.
   1106 const char kNTPPromoBuild[] = "ntp.promo_build";
   1107 
   1108 // True if user has explicitly closed the promo line.
   1109 const char kNTPPromoClosed[] = "ntp.promo_closed";
   1110 
   1111 // Users are randomly divided into 16 groups in order to slowly roll out
   1112 // special promos.
   1113 const char kNTPPromoGroup[] = "ntp.promo_group";
   1114 
   1115 // Amount of time each promo group should be shown a promo that is being slowly
   1116 // rolled out, in hours.
   1117 const char kNTPPromoGroupTimeSlice[] = "ntp.promo_group_timeslice";
   1118 
   1119 // Promo line from server.
   1120 const char kNTPPromoLine[] = "ntp.promo_line";
   1121 
   1122 // Dates between which the NTP should show a promotional line downloaded
   1123 // from the promo server.
   1124 const char kNTPPromoStart[] = "ntp.promo_start";
   1125 const char kNTPPromoEnd[] = "ntp.promo_end";
   1126 
   1127 // The id of the last web store promo actually displayed on the NTP.
   1128 const char kNTPWebStorePromoLastId[] = "ntp.webstore_last_promo_id";
   1129 
   1130 // The id of the current web store promo.
   1131 const char kNTPWebStorePromoId[] = "ntp.webstorepromo.id";
   1132 
   1133 // The header line for the NTP web store promo.
   1134 const char kNTPWebStorePromoHeader[] = "ntp.webstorepromo.header";
   1135 
   1136 // The button text for the NTP web store promo.
   1137 const char kNTPWebStorePromoButton[] = "ntp.webstorepromo.button";
   1138 
   1139 // The button link for the NTP web store promo.
   1140 const char kNTPWebStorePromoLink[] = "ntp.webstorepromo.link";
   1141 
   1142 // The "hide this" link text for the NTP web store promo.
   1143 const char kNTPWebStorePromoExpire[] = "ntp.webstorepromo.expire";
   1144 
   1145 // The most up-to-date GPU blacklist downloaded from the web, which replaces
   1146 // the one that's installed with chrome.
   1147 const char kGpuBlacklist[] = "gpu_blacklist";
   1148 
   1149 // Last time of update of gpu_blacklist.
   1150 const char kGpuBlacklistUpdate[] = "gpu_blacklist_update";
   1151 
   1152 const char kDevToolsDisabled[] = "devtools.disabled";
   1153 
   1154 // A boolean specifying whether dev tools window should be opened docked.
   1155 const char kDevToolsOpenDocked[] = "devtools.open_docked";
   1156 
   1157 // Integer location of the split bar in the browser view.
   1158 const char kDevToolsSplitLocation[] = "devtools.split_location";
   1159 
   1160 // 64-bit integer serialization of the base::Time when the last sync occurred.
   1161 const char kSyncLastSyncedTime[] = "sync.last_synced_time";
   1162 
   1163 // Boolean specifying whether the user finished setting up sync.
   1164 const char kSyncHasSetupCompleted[] = "sync.has_setup_completed";
   1165 
   1166 // Boolean specifying whether to automatically sync all data types (including
   1167 // future ones, as they're added).  If this is true, the following preferences
   1168 // (kSyncBookmarks, kSyncPasswords, etc.) can all be ignored.
   1169 const char kKeepEverythingSynced[] = "sync.keep_everything_synced";
   1170 
   1171 // Booleans specifying whether the user has selected to sync the following
   1172 // datatypes.
   1173 const char kSyncBookmarks[] = "sync.bookmarks";
   1174 const char kSyncPasswords[] = "sync.passwords";
   1175 const char kSyncPreferences[] = "sync.preferences";
   1176 const char kSyncApps[] = "sync.apps";
   1177 const char kSyncAutofill[] = "sync.autofill";
   1178 const char kSyncAutofillProfile[] = "sync.autofill_profile";
   1179 const char kSyncThemes[] = "sync.themes";
   1180 const char kSyncTypedUrls[] = "sync.typed_urls";
   1181 const char kSyncExtensions[] = "sync.extensions";
   1182 const char kSyncSessions[] = "sync.sessions";
   1183 
   1184 // Boolean used by enterprise configuration management in order to lock down
   1185 // sync.
   1186 const char kSyncManaged[] = "sync.managed";
   1187 
   1188 // Boolean to prevent sync from automatically starting up.  This is
   1189 // used when sync is disabled by the user via the privacy dashboard.
   1190 const char kSyncSuppressStart[] = "sync.suppress_start";
   1191 
   1192 // Boolean to represent whether the legacy autofill profile data has been
   1193 // migrated to the new model.
   1194 const char kAutofillProfileMigrated[] = "sync.autofill_migrated";
   1195 
   1196 // A string that can be used to restore sync encryption infrastructure on
   1197 // startup so that the user doesn't need to provide credentials on each start.
   1198 const char kEncryptionBootstrapToken[] = "sync.encryption_bootstrap_token";
   1199 
   1200 // Boolean tracking whether the user chose to specify a secondary encryption
   1201 // passphrase.
   1202 const char kSyncUsingSecondaryPassphrase[] = "sync.using_secondary_passphrase";
   1203 
   1204 // String that identifies the user logged into sync and other google services.
   1205 const char kGoogleServicesUsername[] = "google.services.username";
   1206 
   1207 // Create web application shortcut dialog preferences.
   1208 const char kWebAppCreateOnDesktop[] = "browser.web_app.create_on_desktop";
   1209 const char kWebAppCreateInAppsMenu[] = "browser.web_app.create_in_apps_menu";
   1210 const char kWebAppCreateInQuickLaunchBar[] =
   1211     "browser.web_app.create_in_quick_launch_bar";
   1212 
   1213 // Dictionary that maps Geolocation network provider server URLs to
   1214 // corresponding access token.
   1215 const char kGeolocationAccessToken[] = "geolocation.access_token";
   1216 
   1217 // Whether PasswordForms have been migrated from the WedDataService to the
   1218 // LoginDatabase.
   1219 const char kLoginDatabaseMigrated[] = "login_database.migrated";
   1220 
   1221 // The root URL of the cloud print service.
   1222 const char kCloudPrintServiceURL[] = "cloud_print.service_url";
   1223 
   1224 // The last requested size of the dialog as it was closed.
   1225 const char kCloudPrintDialogWidth[] = "cloud_print.dialog_size.width";
   1226 const char kCloudPrintDialogHeight[] = "cloud_print.dialog_size.height";
   1227 
   1228 const char kRemotingHasSetupCompleted[] = "remoting.has_setup_completed";
   1229 
   1230 // The list of BackgroundContents that should be loaded when the browser
   1231 // launches.
   1232 const char kRegisteredBackgroundContents[] = "background_contents.registered";
   1233 
   1234 // String that lists supported HTTP authentication schemes.
   1235 const char kAuthSchemes[] = "auth.schemes";
   1236 
   1237 // Boolean that specifies whether to disable CNAME lookups when generating
   1238 // Kerberos SPN.
   1239 const char kDisableAuthNegotiateCnameLookup[] =
   1240     "auth.disable_negotiate_cname_lookup";
   1241 // Boolean that specifies whether to include the port in a generated Kerberos
   1242 // SPN.
   1243 const char kEnableAuthNegotiatePort[] = "auth.enable_negotiate_port";
   1244 // Whitelist containing servers for which Integrated Authentication is enabled.
   1245 const char kAuthServerWhitelist[] = "auth.server_whitelist";
   1246 // Whitelist containing servers Chrome is allowed to do Kerberos delegation
   1247 // with.
   1248 const char kAuthNegotiateDelegateWhitelist[] =
   1249     "auth.negotiate_delegate_whitelist";
   1250 // String that specifies the name of a custom GSSAPI library to load.
   1251 const char kGSSAPILibraryName[] = "auth.gssapi_library_name";
   1252 
   1253 #if defined(OS_CHROMEOS)
   1254 // Dictionary for transient storage of settings that should go into signed
   1255 // settings storage before owner has been assigned.
   1256 const char kSignedSettingsTempStorage[] = "signed_settings_temp_storage";
   1257 
   1258 // The hardware keyboard layout of the device. This should look like
   1259 // "xkb:us::eng".
   1260 const char kHardwareKeyboardLayout[] = "intl.hardware_keyboard";
   1261 #endif
   1262 
   1263 // Whether there is a Flash version installed that supports clearing LSO data.
   1264 const char kClearPluginLSODataEnabled[] = "browser.clear_lso_data_enabled";
   1265 
   1266 // *************** SERVICE PREFS ***************
   1267 // These are attached to the service process.
   1268 
   1269 const char kCloudPrintProxyEnabled[] = "cloud_print.enabled";
   1270 // The unique id for this instance of the cloud print proxy.
   1271 const char kCloudPrintProxyId[] = "cloud_print.proxy_id";
   1272 // The GAIA auth token for Cloud Print
   1273 const char kCloudPrintAuthToken[] = "cloud_print.auth_token";
   1274 // The GAIA auth token used by Cloud Print to authenticate with the XMPP server
   1275 // This should eventually go away because the above token should work for both.
   1276 const char kCloudPrintXMPPAuthToken[] = "cloud_print.xmpp_auth_token";
   1277 // The email address of the account used to authenticate with the Cloud Print
   1278 // server.
   1279 const char kCloudPrintEmail[] = "cloud_print.email";
   1280 // Settings specific to underlying print system.
   1281 const char kCloudPrintPrintSystemSettings[] =
   1282     "cloud_print.print_system_settings";
   1283 // A boolean indicating whether we should poll for print jobs when don't have
   1284 // an XMPP connection (false by default).
   1285 const char kCloudPrintEnableJobPoll[] = "cloud_print.enable_job_poll";
   1286 
   1287 // Used by the service process to determine if the remoting host is enabled.
   1288 const char kRemotingHostEnabled[] = "remoting.host_enabled";
   1289 
   1290 // Preference to story proxy settings.
   1291 const char kProxy[] = "proxy";
   1292 
   1293 // Preferences that are exclusivly used to store managed values for default
   1294 // content settings.
   1295 const char kManagedDefaultCookiesSetting[] =
   1296     "profile.managed_default_content_settings.cookies";
   1297 const char kManagedDefaultImagesSetting[] =
   1298     "profile.managed_default_content_settings.images";
   1299 const char kManagedDefaultJavaScriptSetting[] =
   1300     "profile.managed_default_content_settings.javascript";
   1301 const char kManagedDefaultPluginsSetting[] =
   1302     "profile.managed_default_content_settings.plugins";
   1303 const char kManagedDefaultPopupsSetting[] =
   1304     "profile.managed_default_content_settings.popups";
   1305 
   1306 // Preferences that are exclusivly used to store managed
   1307 // content settings patterns.
   1308 const char kManagedCookiesAllowedForUrls[] =
   1309     "profile.managed_cookies_allowed_for_urls";
   1310 const char kManagedCookiesBlockedForUrls[] =
   1311     "profile.managed_cookies_blocked_for_urls";
   1312 const char kManagedCookiesSessionOnlyForUrls[] =
   1313     "profile.managed_cookies_sessiononly_for_urls";
   1314 const char kManagedImagesAllowedForUrls[] =
   1315     "profile.managed_images_allowed_for_urls";
   1316 const char kManagedImagesBlockedForUrls[] =
   1317     "profile.managed_images_blocked_for_urls";
   1318 const char kManagedJavaScriptAllowedForUrls[] =
   1319     "profile.managed_javascript_allowed_for_urls";
   1320 const char kManagedJavaScriptBlockedForUrls[] =
   1321     "profile.managed_javascript_blocked_for_urls";
   1322 const char kManagedPluginsAllowedForUrls[] =
   1323     "profile.managed_plugins_allowed_for_urls";
   1324 const char kManagedPluginsBlockedForUrls[] =
   1325     "profile.managed_plugins_blocked_for_urls";
   1326 const char kManagedPopupsAllowedForUrls[] =
   1327     "profile.managed_popups_allowed_for_urls";
   1328 const char kManagedPopupsBlockedForUrls[] =
   1329     "profile.managed_popups_blocked_for_urls";
   1330 
   1331 // Dictionary for storing the set of known background pages (keys are extension
   1332 // IDs of background page owners, value is a boolean that is true if the user
   1333 // needs to acknowledge this page.
   1334 const char kKnownBackgroundPages[] = "background_pages.known";
   1335 
   1336 // Dictionary that maps URL schemes (protocols) to URL handlers.
   1337 const char kRegisteredProtocolHandlers[] = "registered_protocol_handlers";
   1338 
   1339 // Set to true if the user created a login item so we should not modify it when
   1340 // uninstalling background apps.
   1341 const char kUserCreatedLoginItem[] = "background_mode.user_created_login_item";
   1342 
   1343 }  // namespace prefs
   1344