• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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