pref_names.cc revision 06741cbc25cd4227a9fba40dfd0273bfcc1a587a
1// Copyright (c) 2010 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
7namespace prefs {
8
9// *************** PROFILE PREFS ***************
10// These are attached to the user profile
11
12// A boolean specifying whether the New Tab page is the home page or not.
13const wchar_t kHomePageIsNewTabPage[] = L"homepage_is_newtabpage";
14
15// This is the URL of the page to load when opening new tabs.
16const wchar_t kHomePage[] = L"homepage";
17
18// Used to determine if the last session exited cleanly. Set to false when
19// first opened, and to true when closing. On startup if the value is false,
20// it means the profile didn't exit cleanly.
21const wchar_t kSessionExitedCleanly[] = L"profile.exited_cleanly";
22
23// An integer pref. Holds one of several values:
24// 0: (or empty) don't do anything special on startup.
25// 1: restore the last session.
26// 2: this was used to indicate a specific session should be restored. It is
27//    no longer used, but saved to avoid conflict with old preferences.
28// 3: unused, previously indicated the user wants to restore a saved session.
29// 4: restore the URLs defined in kURLsToRestoreOnStartup.
30const wchar_t kRestoreOnStartup[] = L"session.restore_on_startup";
31
32// The URLs to restore on startup or when the home button is pressed. The URLs
33// are only restored on startup if kRestoreOnStartup is 4.
34const wchar_t kURLsToRestoreOnStartup[] =
35    L"session.urls_to_restore_on_startup";
36
37// The application locale.
38const wchar_t kApplicationLocale[] = L"intl.app_locale";
39
40// The default character encoding to assume for a web page in the
41// absence of MIME charset specification
42const wchar_t kDefaultCharset[] = L"intl.charset_default";
43
44// The value to use for Accept-Languages HTTP header when making an HTTP
45// request.
46const wchar_t kAcceptLanguages[] = L"intl.accept_languages";
47
48// The value to use for showing locale-dependent encoding list for different
49// locale, it's initialized from the corresponding string resource that is
50// stored in non-translatable part of the resource bundle.
51const wchar_t kStaticEncodings[] = L"intl.static_encodings";
52
53// OBSOLETE.  The list of hostnames for which we whitelist popups (rather than
54// blocking).
55const wchar_t kPopupWhitelistedHosts[] = L"profile.popup_whitelisted_sites";
56
57// WebKit preferences.
58// A boolean flag to indicate whether WebKit standard font family is
59// serif or sans-serif. We don't have a UI for setting standard family.
60// Instead, we use this pref to map either serif or sans_serif to WebKit
61// standard font family. At the moment, we don't have a UI for this
62// flag, either.
63const wchar_t kWebKitStandardFontIsSerif[] =
64    L"webkit.webprefs.standard_font_is_serif";
65const wchar_t kWebKitFixedFontFamily[] = L"webkit.webprefs.fixed_font_family";
66const wchar_t kWebKitSerifFontFamily[] = L"webkit.webprefs.serif_font_family";
67const wchar_t kWebKitSansSerifFontFamily[] =
68    L"webkit.webprefs.sansserif_font_family";
69const wchar_t kWebKitCursiveFontFamily[] =
70    L"webkit.webprefs.cursive_font_family";
71const wchar_t kWebKitFantasyFontFamily[] =
72    L"webkit.webprefs.fantasy_font_family";
73const wchar_t kWebKitDefaultFontSize[] = L"webkit.webprefs.default_font_size";
74const wchar_t kWebKitDefaultFixedFontSize[] =
75    L"webkit.webprefs.default_fixed_font_size";
76const wchar_t kWebKitMinimumFontSize[] = L"webkit.webprefs.minimum_font_size";
77const wchar_t kWebKitMinimumLogicalFontSize[] =
78    L"webkit.webprefs.minimum_logical_font_size";
79const wchar_t kWebKitJavascriptEnabled[] =
80    L"webkit.webprefs.javascript_enabled";
81const wchar_t kWebKitWebSecurityEnabled[] =
82    L"webkit.webprefs.web_security_enabled";
83const wchar_t kWebKitJavascriptCanOpenWindowsAutomatically[] =
84    L"webkit.webprefs.javascript_can_open_windows_automatically";
85const wchar_t kWebKitLoadsImagesAutomatically[] =
86    L"webkit.webprefs.loads_images_automatically";
87const wchar_t kWebKitPluginsEnabled[] = L"webkit.webprefs.plugins_enabled";
88const wchar_t kWebKitDomPasteEnabled[] = L"webkit.webprefs.dom_paste_enabled";
89const wchar_t kWebKitShrinksStandaloneImagesToFit[] =
90    L"webkit.webprefs.shrinks_standalone_images_to_fit";
91const wchar_t kWebKitInspectorSettings[] =
92    L"webkit.webprefs.inspector_settings";
93const wchar_t kWebKitUsesUniversalDetector[] =
94    L"webkit.webprefs.uses_universal_detector";
95const wchar_t kWebKitTextAreasAreResizable[] =
96    L"webkit.webprefs.text_areas_are_resizable";
97const wchar_t kWebKitJavaEnabled[] =
98    L"webkit.webprefs.java_enabled";
99const wchar_t kWebkitTabsToLinks[] = L"webkit.webprefs.tabs_to_links";
100
101// Boolean which specifies whether the bookmark bar is visible on all tabs.
102const wchar_t kShowBookmarkBar[] = L"bookmark_bar.show_on_all_tabs";
103
104// Boolean that is true if the password manager is on (will record new
105// passwords and fill in known passwords).
106const wchar_t kPasswordManagerEnabled[] = L"profile.password_manager_enabled";
107
108// OBSOLETE.  Boolean that is true if the form AutoFill is on (will record
109// values entered in text inputs in forms and shows them in a popup when user
110// type in a text input with the same name later on).  This has been superseded
111// by kAutoFillEnabled.
112const wchar_t kFormAutofillEnabled[] = L"profile.form_autofill_enabled";
113
114// Boolean that is true when SafeBrowsing is enabled.
115const wchar_t kSafeBrowsingEnabled[] = L"safebrowsing.enabled";
116
117// Boolean that is true when Suggest support is enabled.
118const wchar_t kSearchSuggestEnabled[] = L"search.suggest_enabled";
119
120// OBSOLETE.  Enum that specifies whether to enforce a third-party cookie
121// blocking policy.  This has been superseded by kDefaultContentSettings +
122// kBlockThirdPartyCookies.
123// 0 - allow all cookies.
124// 1 - block third-party cookies
125// 2 - block all cookies
126const wchar_t kCookieBehavior[] = L"security.cookie_behavior";
127
128// The URL (as understood by TemplateURLRef) the default search provider uses
129// for searches.
130const wchar_t kDefaultSearchProviderSearchURL[] =
131    L"default_search_provider.search_url";
132
133// The URL (as understood by TemplateURLRef) the default search provider uses
134// for suggestions.
135const wchar_t kDefaultSearchProviderSuggestURL[] =
136    L"default_search_provider.suggest_url";
137
138// The name of the default search provider.
139const wchar_t kDefaultSearchProviderName[] = L"default_search_provider.name";
140
141// The id of the default search provider.
142const wchar_t kDefaultSearchProviderID[] = L"default_search_provider.id";
143
144// The prepopulate id of the default search provider.
145const wchar_t kDefaultSearchProviderPrepopulateID[] =
146    L"default_search_provider.prepopulate_id";
147
148// The dictionary key used when the default search providers are given
149// in the preferences file. Normally they are copied from the master
150// preferences file.
151const wchar_t kSearchProviderOverrides[] =
152    L"search_provider_overrides";
153// The format version for the dictionary above.
154const wchar_t kSearchProviderOverridesVersion[] =
155    L"search_provider_overrides_version";
156
157// Boolean which specifies whether we should ask the user if we should download
158// a file (true) or just download it automatically.
159const wchar_t kPromptForDownload[] = L"download.prompt_for_download";
160
161// A boolean pref set to true if we're using Link Doctor error pages.
162const wchar_t kAlternateErrorPagesEnabled[] = L"alternate_error_pages.enabled";
163
164// A boolean pref set to true if DNS pre-fetching is being done in browser.
165const wchar_t kDnsPrefetchingEnabled[] = L"dns_prefetching.enabled";
166
167// An adaptively identified list of domain names to be pre-fetched during the
168// next startup, based on what was actually needed during this startup.
169const wchar_t kDnsStartupPrefetchList[] = L"StartupDNSPrefetchList";
170
171// A list of host names used to fetch web pages, and their commonly used
172// sub-resource hostnames (and expected latency benefits from pre-resolving, or
173// preconnecting to, such sub-resource hostnames).
174// This list is adaptively grown and pruned.
175const wchar_t kDnsHostReferralList[] = L"HostReferralList";
176
177// Is the cookie prompt expanded?
178const wchar_t kCookiePromptExpanded[] = L"cookieprompt.expanded";
179
180#if defined(USE_NSS)
181// Prefs for SSLConfigServicePref.  Currently, these are only present on
182// and used by NSS-using OSes.
183const wchar_t kCertRevocationCheckingEnabled[] = L"ssl.rev_checking.enabled";
184const wchar_t kSSL2Enabled[] = L"ssl.ssl2.enabled";
185const wchar_t kSSL3Enabled[] = L"ssl.ssl3.enabled";
186const wchar_t kTLS1Enabled[] = L"ssl.tls1.enabled";
187#endif
188
189#if defined(OS_CHROMEOS)
190// A boolean pref set to true if TapToClick is being done in browser.
191const wchar_t kTapToClickEnabled[] = L"settings.touchpad.enable_tap_to_click";
192
193// A boolean pref set to true if VertEdgeScroll is being done in browser.
194const wchar_t kVertEdgeScrollEnabled[] =
195    L"settings.touchpad.enable_vert_edge_scroll";
196
197// A integer pref for the touchpad speed factor.
198const wchar_t kTouchpadSpeedFactor[] = L"settings.touchpad.speed_factor";
199
200// A integer pref for the touchpad sensitivity.
201const wchar_t kTouchpadSensitivity[] = L"settings.touchpad.sensitivity";
202
203// A string pref set to the current input method.
204const wchar_t kLanguageCurrentInputMethod[] =
205    L"settings.language.current_input_method";
206
207// A string pref set to the previous input method.
208const wchar_t kLanguagePreviousInputMethod[] =
209    L"settings.language.previous_input_method";
210
211// A string pref (comma-separated list) set to the "next engine in menu"
212// hot-key lists.
213const wchar_t kLanguageHotkeyNextEngineInMenu[] =
214    L"settings.language.hotkey_next_engine_in_menu";
215
216// A string pref (comma-separated list) set to the "previous engine"
217// hot-key lists.
218const wchar_t kLanguageHotkeyPreviousEngine[] =
219    L"settings.language.hotkey_previous_engine";
220
221// A string pref (comma-separated list) set to the preferred language IDs
222// (ex. "en-US,fr,ko").
223const wchar_t kLanguagePreferredLanguages[] =
224    L"settings.language.preferred_languages";
225
226// A string pref (comma-separated list) set to the preloaded (active) input
227// method IDs (ex. "pinyin,mozc").
228const wchar_t kLanguagePreloadEngines[] = L"settings.language.preload_engines";
229
230// Boolean prefs for ibus-chewing Chinese input method.
231const wchar_t kLanguageChewingAutoShiftCur[] =
232    L"settings.language.chewing_auto_shift_cur";
233const wchar_t kLanguageChewingAddPhraseDirection[] =
234    L"settings.language.chewing_add_phrase_direction";
235const wchar_t kLanguageChewingEasySymbolInput[] =
236    L"settings.language.chewing_easy_symbol_input";
237const wchar_t kLanguageChewingEscCleanAllBuf[] =
238    L"settings.language.chewing_esc_clean_all_buf";
239const wchar_t kLanguageChewingForceLowercaseEnglish[] =
240    L"settings.language.chewing_force_lowercase_english";
241const wchar_t kLanguageChewingPlainZhuyin[] =
242    L"settings.language.chewing_plain_zhuyin";
243const wchar_t kLanguageChewingPhraseChoiceRearward[] =
244    L"settings.language.chewing_phrase_choice_rearward";
245const wchar_t kLanguageChewingSpaceAsSelection[] =
246    L"settings.language.chewing_space_as_selection";
247
248// Integer prefs for ibus-chewing Chinese input method.
249const wchar_t kLanguageChewingMaxChiSymbolLen[] =
250    L"settings.language.chewing_max_chi_symbol_len";
251const wchar_t kLanguageChewingCandPerPage[] =
252    L"settings.language.chewing_cand_per_page";
253
254// String prefs for ibus-chewing Chinese input method.
255const wchar_t kLanguageChewingKeyboardType[] =
256    L"settings.language.chewing_keyboard_type";
257const wchar_t kLanguageChewingSelKeys[] =
258    L"settings.language.chewing_sel_keys";
259
260const wchar_t kLanguageChewingHsuSelKeyType[] =
261    L"settings.language.chewing_hsu_sel_key_type";
262
263// A string pref which determines the keyboard layout for Hangul input method.
264const wchar_t kLanguageHangulKeyboard[] = L"settings.language.hangul_keyboard";
265const wchar_t kLanguageHangulHanjaKeys[] =
266    L"settings.language.hangul_hanja_keys";
267
268// A boolean prefs for ibus-pinyin Chinese input method.
269const wchar_t kLanguagePinyinCorrectPinyin[] =
270    L"settings.language.pinyin_correct_pinyin";
271const wchar_t kLanguagePinyinFuzzyPinyin[] =
272    L"settings.language.pinyin_fuzzy_pinyin";
273const wchar_t kLanguagePinyinShiftSelectCandidate[] =
274    L"settings.language.pinyin_shift_select_candidate";
275const wchar_t kLanguagePinyinMinusEqualPage[] =
276    L"settings.language.pinyin_minus_equal_page";
277const wchar_t kLanguagePinyinCommaPeriodPage[] =
278    L"settings.language.pinyin_comma_period_page";
279const wchar_t kLanguagePinyinAutoCommit[] =
280    L"settings.language.pinyin_auto_commit";
281const wchar_t kLanguagePinyinDoublePinyin[] =
282    L"settings.language.pinyin_double_pinyin";
283const wchar_t kLanguagePinyinInitChinese[] =
284    L"settings.language.pinyin_init_chinese";
285const wchar_t kLanguagePinyinInitFull[] =
286    L"settings.language.pinyin_init_full";
287const wchar_t kLanguagePinyinInitFullPunct[] =
288    L"settings.language.pinyin_init_full_punct";
289const wchar_t kLanguagePinyinInitSimplifiedChinese[] =
290    L"settings.language.pinyin_init_simplified_chinese";
291const wchar_t kLanguagePinyinTradCandidate[] =
292    L"settings.language.pinyin_trad_candidate";
293
294// A integer prefs for ibus-pinyin Chinese input method.
295const wchar_t kLanguagePinyinDoublePinyinSchema[] =
296    L"settings.language.pinyin_double_pinyin_schema";
297const wchar_t kLanguagePinyinLookupTablePageSize[] =
298    L"settings.language.pinyin_lookup_table_page_size";
299
300// A string prefs for ibus-mozc Japanese input method.
301// ibus-mozc converts the string values to protobuf enum values defined in
302// third_party/ibus-mozc/files/src/session/config.proto.
303const wchar_t kLanguageMozcPreeditMethod[] =
304    L"settings.language.mozc_preedit_method";
305const wchar_t kLanguageMozcSessionKeymap[] =
306    L"settings.language.mozc_sessoin_keymap";
307const wchar_t kLanguageMozcPunctuationMethod[] =
308    L"settings.language.mozc_punctuation_method";
309const wchar_t kLanguageMozcSymbolMethod[] =
310    L"settings.language.mozc_symbol_method";
311const wchar_t kLanguageMozcSpaceCharacterForm[] =
312    L"settings.language.mozc_space_character_form";
313const wchar_t kLanguageMozcHistoryLearningLevel[] =
314    L"settings.language.mozc_history_learning_level";
315const wchar_t kLanguageMozcSelectionShortcut[] =
316    L"settings.language.mozc_selection_shortcut";
317const wchar_t kLanguageMozcShiftKeyModeSwitch[] =
318    L"settings.language.mozc_shift_key_mode_switch";
319const wchar_t kLanguageMozcNumpadCharacterForm[] =
320    L"settings.language.mozc_numpad_character_form";
321const wchar_t kLanguageMozcIncognitoMode[] =
322    L"settings.language.mozc_incognito_mode";
323const wchar_t kLanguageMozcUseAutoImeTurnOff[] =
324    L"settings.language.mozc_use_auto_ime_turn_off";
325const wchar_t kLanguageMozcUseDateConversion[] =
326    L"settings.language.mozc_use_date_conversion";
327const wchar_t kLanguageMozcUseSingleKanjiConversion[] =
328    L"settings.language.mozc_use_single_kanji_conversion";
329const wchar_t kLanguageMozcUseSymbolConversion[] =
330    L"settings.language.mozc_use_symbol_conversion";
331const wchar_t kLanguageMozcUseNumberConversion[] =
332    L"settings.language.mozc_use_number_conversion";
333const wchar_t kLanguageMozcUseHistorySuggest[] =
334    L"settings.language.mozc_use_history_suggest";
335const wchar_t kLanguageMozcUseDictionarySuggest[] =
336    L"settings.language.mozc_use_dictionary_suggest";
337const wchar_t kLanguageMozcSuggestionsSize[] =
338    L"settings.language.mozc_suggestions_size";
339
340// A boolean pref which determines whether accessibility is enabled.
341const wchar_t kAccessibilityEnabled[] = L"settings.accessibility";
342
343// A boolean pref which turns on Advanced Filesystem
344// (USB support, SD card, etc).
345const wchar_t kLabsAdvancedFilesystemEnabled[] =
346    L"settings.labs.advanced_filesystem";
347
348// A boolean pref which turns on the mediaplayer.
349const wchar_t kLabsMediaplayerEnabled[] = L"settings.labs.mediaplayer";
350
351#endif  // defined(OS_CHROMEOS)
352
353// The disabled messages in IPC logging.
354const wchar_t kIpcDisabledMessages[] = L"ipc_log_disabled_messages";
355
356// A boolean pref set to true if a Home button to open the Home pages should be
357// visible on the toolbar.
358const wchar_t kShowHomeButton[] = L"browser.show_home_button";
359
360// A boolean pref set to true if the Page and Options menu buttons should be
361// visible on the toolbar. This is only used for Mac where the default is to
362// have these menu in the main menubar, not as buttons on the toolbar.
363const wchar_t kShowPageOptionsButtons[] = L"browser.show_page_options_buttons";
364
365// A string value which saves short list of recently user selected encodings
366// separated with comma punctuation mark.
367const wchar_t kRecentlySelectedEncoding[] =
368    L"profile.recently_selected_encodings";
369
370// Clear Browsing Data dialog preferences.
371const wchar_t kDeleteBrowsingHistory[] = L"browser.clear_data.browsing_history";
372const wchar_t kDeleteDownloadHistory[] =
373    L"browser.clear_data.download_history";
374const wchar_t kDeleteCache[] = L"browser.clear_data.cache";
375const wchar_t kDeleteCookies[] = L"browser.clear_data.cookies";
376const wchar_t kDeletePasswords[] = L"browser.clear_data.passwords";
377const wchar_t kDeleteFormData[] = L"browser.clear_data.form_data";
378const wchar_t kDeleteTimePeriod[] = L"browser.clear_data.time_period";
379
380// Boolean pref to define the default values for using spellchecker.
381const wchar_t kEnableSpellCheck[] = L"browser.enable_spellchecking";
382
383// Boolean pref to define the default values for using auto spell correct.
384const wchar_t kEnableAutoSpellCorrect[] = L"browser.enable_autospellcorrect";
385
386// String pref to define the default values for print overlays.
387const wchar_t kPrintingPageHeaderLeft[] = L"printing.page.header.left";
388const wchar_t kPrintingPageHeaderCenter[] = L"printing.page.header.center";
389const wchar_t kPrintingPageHeaderRight[] = L"printing.page.header.right";
390const wchar_t kPrintingPageFooterLeft[] = L"printing.page.footer.left";
391const wchar_t kPrintingPageFooterCenter[] = L"printing.page.footer.center";
392const wchar_t kPrintingPageFooterRight[] = L"printing.page.footer.right";
393#if defined(TOOLKIT_USES_GTK)
394// GTK specific preference on whether we should match the system GTK theme.
395const wchar_t kUsesSystemTheme[] = L"extensions.theme.use_system";
396#endif
397const wchar_t kCurrentThemePackFilename[] = L"extensions.theme.pack";
398const wchar_t kCurrentThemeID[] = L"extensions.theme.id";
399const wchar_t kCurrentThemeImages[] = L"extensions.theme.images";
400const wchar_t kCurrentThemeColors[] = L"extensions.theme.colors";
401const wchar_t kCurrentThemeTints[] = L"extensions.theme.tints";
402const wchar_t kCurrentThemeDisplayProperties[] =
403    L"extensions.theme.properties";
404
405// Boolean pref which persists whether the extensions_ui is in developer mode
406// (showing developer packing tools and extensions details)
407const wchar_t kExtensionsUIDeveloperMode[] = L"extensions.ui.developer_mode";
408
409// Integer pref that tracks the number of browser actions visible in the browser
410// actions toolbar.
411const wchar_t kExtensionToolbarSize[] = L"extensions.toolbarsize";
412
413// Pref containing the directory for internal plugins as written to the plugins
414// list (below).
415const wchar_t kPluginsLastInternalDirectory[] =
416    L"plugins.last_internal_directory";
417
418// List pref containing information (dictionaries) on plugins.
419const wchar_t kPluginsPluginsList[] = L"plugins.plugins_list";
420
421// List pref containing names of plugins that are disabled by policy.
422const wchar_t kPluginsPluginsBlacklist[] = L"plugins.plugins_blacklist";
423
424// When first shipped, the pdf plugin will be disabled by default.  When we
425// enable it by default, we'll want to do so only once.
426const wchar_t kPluginsEnabledInternalPDF[] = L"plugins.enabled_internal_pdf";
427
428// Boolean that indicates whether we should check if we are the default browser
429// on start-up.
430const wchar_t kCheckDefaultBrowser[] = L"browser.check_default_browser";
431
432#if defined(OS_MACOSX)
433// Boolean that indicates whether the application should show the info bar
434// asking the user to set up automatic updates when Keystone promotion is
435// required.
436const wchar_t kShowUpdatePromotionInfoBar[] =
437    L"browser.show_update_promotion_info_bar";
438#endif
439
440// Boolean that is false if we should show window manager decorations.  If
441// true, we draw a custom chrome frame (thicker title bar and blue border).
442const wchar_t kUseCustomChromeFrame[] = L"browser.custom_chrome_frame";
443
444// Boolean that indicates whether the infobar explaining that search can be
445// done directly from the omnibox should be shown.
446const wchar_t kShowOmniboxSearchHint[] = L"browser.show_omnibox_search_hint";
447
448// Int which specifies how many times left to show a promotional message on the
449// NTP.  This value decrements each time the NTP is shown for the first time
450// in a session.
451const wchar_t kNTPPromoViewsRemaining[] = L"browser.ntp.promo_remaining";
452
453// The list of origins which are allowed|denied to show desktop notifications.
454const wchar_t kDesktopNotificationDefaultContentSetting[] =
455    L"profile.notifications_default_content_setting";
456const wchar_t kDesktopNotificationAllowedOrigins[] =
457    L"profile.notification_allowed_sites";
458const wchar_t kDesktopNotificationDeniedOrigins[] =
459    L"profile.notification_denied_sites";
460
461// Dictionary of content settings applied to all hosts by default.
462const wchar_t kDefaultContentSettings[] = L"profile.default_content_settings";
463
464// OBSOLETE. Dictionary that maps hostnames to content related settings.
465// Default settings will be applied to hosts not in this pref.
466const wchar_t kPerHostContentSettings[] = L"profile.per_host_content_settings";
467
468// Version of the pattern format used to define content settings.
469const wchar_t kContentSettingsVersion[] =
470    L"profile.content_settings.pref_version";
471
472// Patterns for mapping hostnames to content related settings. Default settings
473// will be applied to hosts that don't match any of the patterns. Replaces
474// kPerHostContentSettings. The pattern format used is defined by
475// kContentSettingsVersion.
476const wchar_t kContentSettingsPatterns[] =
477    L"profile.content_settings.patterns";
478
479// Boolean that is true if we should unconditionally block third-party cookies,
480// regardless of other content settings.
481const wchar_t kBlockThirdPartyCookies[] = L"profile.block_third_party_cookies";
482
483// Boolean that is true when all locally stored site data (e.g. cookies, local
484// storage, etc..) should be deleted on exit.
485const wchar_t kClearSiteDataOnExit[] = L"profile.clear_site_data_on_exit";
486
487// Dictionary that maps hostnames to zoom levels.  Hosts not in this pref will
488// be displayed at the default zoom level.
489const wchar_t kPerHostZoomLevels[] = L"profile.per_host_zoom_levels";
490
491// Boolean that is true if AutoFill is enabled and allowed to save profile data.
492const wchar_t kAutoFillEnabled[] = L"autofill.enabled";
493
494// Boolean that is true when auxiliary AutoFill profiles are enabled.
495// Currently applies to Address Book "me" card on Mac.  False on Win and Linux.
496const wchar_t kAutoFillAuxiliaryProfilesEnabled[] =
497    L"autofill.auxiliary_profiles_enabled";
498
499// Position and size of the AutoFill dialog.
500const wchar_t kAutoFillDialogPlacement[] = L"autofill.dialog_placement";
501
502// Double that indicates positive (for matched forms) upload rate.
503const wchar_t kAutoFillPositiveUploadRate[] = L"autofill.positive_upload_rate";
504
505// Double that indicates negative (for not matched forms) upload rate.
506const wchar_t kAutoFillNegativeUploadRate[] = L"autofill.negative_upload_rate";
507
508// Boolean that is true when the tabstrip is to be laid out vertically down the
509// side of the browser window.
510const wchar_t kUseVerticalTabs[] = L"tabs.use_vertical_tabs";
511
512// Boolean that is true when the translate feature is enabled.
513const wchar_t kEnableTranslate[] = L"translate.enabled";
514
515const wchar_t kPinnedTabs[] = L"pinned_tabs";
516
517// Integer containing the default Geolocation content setting.
518const wchar_t kGeolocationDefaultContentSetting[] =
519    L"geolocation.default_content_setting";
520
521// Dictionary that maps [frame, toplevel] to their Geolocation content setting.
522const wchar_t kGeolocationContentSettings[] = L"geolocation.content_settings";
523
524// *************** LOCAL STATE ***************
525// These are attached to the machine/installation
526
527// The metrics client GUID and session ID.
528const wchar_t kMetricsClientID[] = L"user_experience_metrics.client_id";
529const wchar_t kMetricsSessionID[] = L"user_experience_metrics.session_id";
530
531// Date/time when the current metrics profile ID was created
532// (which hopefully corresponds to first run).
533const wchar_t kMetricsClientIDTimestamp[] =
534    L"user_experience_metrics.client_id_timestamp";
535
536// Boolean that specifies whether or not crash reporting and metrics reporting
537// are sent over the network for analysis.
538const wchar_t kMetricsReportingEnabled[] =
539    L"user_experience_metrics.reporting_enabled";
540
541// Array of strings that are each UMA logs that were supposed to be sent in the
542// first minute of a browser session. These logs include things like crash count
543// info, etc.
544const wchar_t kMetricsInitialLogs[] =
545    L"user_experience_metrics.initial_logs";
546
547// Array of strings that are each UMA logs that were not sent because the
548// browser terminated before these accumulated metrics could be sent.  These
549// logs typically include histograms and memory reports, as well as ongoing
550// user activities.
551const wchar_t kMetricsOngoingLogs[] =
552    L"user_experience_metrics.ongoing_logs";
553
554// Where profile specific metrics are placed.
555const wchar_t kProfileMetrics[] = L"user_experience_metrics.profiles";
556
557// The metrics for a profile are stored as dictionary values under the
558// path kProfileMetrics. The individual metrics are placed under the path
559// kProfileMetrics.kProfilePrefix<hashed-profile-id>.
560const wchar_t kProfilePrefix[] = L"profile-";
561
562// True if the previous run of the program exited cleanly.
563const wchar_t kStabilityExitedCleanly[] =
564    L"user_experience_metrics.stability.exited_cleanly";
565
566// Version string of previous run, which is used to assure that stability
567// metrics reported under current version reflect stability of the same version.
568const wchar_t kStabilityStatsVersion[] =
569    L"user_experience_metrics.stability.stats_version";
570
571// Build time, in seconds since an epoch, which is used to assure that stability
572// metrics reported reflect stability of the same build.
573const wchar_t kStabilityStatsBuildTime[] =
574    L"user_experience_metrics.stability.stats_buildtime";
575
576// False if we received a session end and either we crashed during processing
577// the session end or ran out of time and windows terminated us.
578const wchar_t kStabilitySessionEndCompleted[] =
579    L"user_experience_metrics.stability.session_end_completed";
580
581// Number of times the application was launched since last report.
582const wchar_t kStabilityLaunchCount[] =
583    L"user_experience_metrics.stability.launch_count";
584
585// Number of times the application exited uncleanly since the last report.
586const wchar_t kStabilityCrashCount[] =
587    L"user_experience_metrics.stability.crash_count";
588
589// Number of times the session end did not complete.
590const wchar_t kStabilityIncompleteSessionEndCount[] =
591    L"user_experience_metrics.stability.incomplete_session_end_count";
592
593// Number of times a page load event occurred since the last report.
594const wchar_t kStabilityPageLoadCount[] =
595    L"user_experience_metrics.stability.page_load_count";
596
597// Number of times a renderer process crashed since the last report.
598const wchar_t kStabilityRendererCrashCount[] =
599    L"user_experience_metrics.stability.renderer_crash_count";
600
601// Number of times an extension renderer process crashed since the last report.
602const wchar_t kStabilityExtensionRendererCrashCount[] =
603    L"user_experience_metrics.stability.extension_renderer_crash_count";
604
605// Time when the app was last launched, in seconds since the epoch.
606const wchar_t kStabilityLaunchTimeSec[] =
607    L"user_experience_metrics.stability.launch_time_sec";
608
609// Time when the app was last known to be running, in seconds since
610// the epoch.
611const wchar_t kStabilityLastTimestampSec[] =
612    L"user_experience_metrics.stability.last_timestamp_sec";
613
614// This is the location of a list of dictionaries of plugin stability stats.
615const wchar_t kStabilityPluginStats[] =
616    L"user_experience_metrics.stability.plugin_stats2";
617
618// Number of times the renderer has become non-responsive since the last
619// report.
620const wchar_t kStabilityRendererHangCount[] =
621    L"user_experience_metrics.stability.renderer_hang_count";
622
623// Total number of child process crashes (other than renderer / extension
624// renderer ones, and plugin children, which are counted separately) since the
625// last report.
626const wchar_t kStabilityChildProcessCrashCount[] =
627    L"user_experience_metrics.stability.child_process_crash_count";
628
629// Number of times the browser has been able to register crash reporting.
630const wchar_t kStabilityBreakpadRegistrationSuccess[] =
631    L"user_experience_metrics.stability.breakpad_registration_ok";
632
633// Number of times the browser has failed to register crash reporting.
634const wchar_t kStabilityBreakpadRegistrationFail[] =
635    L"user_experience_metrics.stability.breakpad_registration_fail";
636
637// Number of times the browser has been run under a debugger.
638const wchar_t kStabilityDebuggerPresent[] =
639    L"user_experience_metrics.stability.debugger_present";
640
641// Number of times the browser has not been run under a debugger.
642const wchar_t kStabilityDebuggerNotPresent[] =
643    L"user_experience_metrics.stability.debugger_not_present";
644
645// The keys below are used for the dictionaries in the
646// kStabilityPluginStats list.
647const wchar_t kStabilityPluginName[] = L"name";
648const wchar_t kStabilityPluginLaunches[] = L"launches";
649const wchar_t kStabilityPluginInstances[] = L"instances";
650const wchar_t kStabilityPluginCrashes[] = L"crashes";
651
652// The keys below are strictly increasing counters over the lifetime of
653// a chrome installation. They are (optionally) sent up to the uninstall
654// survey in the event of uninstallation.
655const wchar_t kUninstallMetricsPageLoadCount[] =
656    L"uninstall_metrics.page_load_count";
657const wchar_t kUninstallLaunchCount[] = L"uninstall_metrics.launch_count";
658const wchar_t kUninstallMetricsInstallDate[] =
659    L"uninstall_metrics.installation_date2";
660const wchar_t kUninstallMetricsUptimeSec[] = L"uninstall_metrics.uptime_sec";
661const wchar_t kUninstallLastLaunchTimeSec[] =
662    L"uninstall_metrics.last_launch_time_sec";
663const wchar_t kUninstallLastObservedRunTimeSec[] =
664    L"uninstall_metrics.last_observed_running_time_sec";
665
666// A collection of position, size, and other data relating to the browser
667// window to restore on startup.
668const wchar_t kBrowserWindowPlacement[] = L"browser.window_placement";
669
670// A collection of position, size, and other data relating to the task
671// manager window to restore on startup.
672const wchar_t kTaskManagerWindowPlacement[] = L"task_manager.window_placement";
673
674// A collection of position, size, and other data relating to the page info
675// window to restore on startup.
676const wchar_t kPageInfoWindowPlacement[] = L"page_info.window_placement";
677
678// A collection of position, size, and other data relating to the keyword
679// editor window to restore on startup.
680const wchar_t kKeywordEditorWindowPlacement[] =
681    L"keyword_editor.window_placement";
682
683// A collection of position, size, and other data relating to the preferences
684// window to restore on startup.
685const wchar_t kPreferencesWindowPlacement[] = L"preferences.window_placement";
686
687// An integer specifying the total number of bytes to be used by the
688// renderer's in-memory cache of objects.
689const wchar_t kMemoryCacheSize[] = L"renderer.memory_cache.size";
690
691// String which specifies where to download files to by default.
692const wchar_t kDownloadDefaultDirectory[] = L"download.default_directory";
693
694// Boolean that records if the download directory was changed by an
695// upgrade a unsafe location to a safe location.
696const wchar_t kDownloadDirUpgraded[] = L"download.directory_upgrade";
697
698// String which specifies where to save html files to by default.
699const wchar_t kSaveFileDefaultDirectory[] = L"savefile.default_directory";
700
701// String which specifies the last directory that was chosen for uploading
702// or opening a file.
703extern const wchar_t kSelectFileLastDirectory[] = L"selectfile.last_directory";
704
705// Extensions which should be opened upon completion.
706const wchar_t kDownloadExtensionsToOpen[] = L"download.extensions_to_open";
707
708// Integer which specifies the frequency in milliseconds for detecting whether
709// plugin windows are hung.
710const wchar_t kHungPluginDetectFrequency[] =
711    L"browser.hung_plugin_detect_freq";
712
713// Integer which specifies the timeout value to be used for SendMessageTimeout
714// to detect a hung plugin window.
715const wchar_t kPluginMessageResponseTimeout[] =
716    L"browser.plugin_message_response_timeout";
717
718// String which represents the dictionary name for our spell-checker.
719const wchar_t kSpellCheckDictionary[] = L"spellcheck.dictionary";
720
721// Dictionary of schemes used by the external protocol handler.
722// The value is true if the scheme must be ignored.
723const wchar_t kExcludedSchemes[] = L"protocol_handler.excluded_schemes";
724
725// Keys used for MAC handling of SafeBrowsing requests.
726const wchar_t kSafeBrowsingClientKey[] = L"safe_browsing.client_key";
727const wchar_t kSafeBrowsingWrappedKey[] = L"safe_browsing.wrapped_key";
728
729// Integer that specifies the index of the tab the user was on when they
730// last visited the options window.
731const wchar_t kOptionsWindowLastTabIndex[] = L"options_window.last_tab_index";
732
733// Integer that specifies the index of the tab the user was on when they
734// last visited the content settings window.
735const wchar_t kContentSettingsWindowLastTabIndex[] =
736    L"content_settings_window.last_tab_index";
737
738// Integer that specifies the index of the tab the user was on when they
739// last visited the Certificate Manager window.
740const wchar_t kCertificateManagerWindowLastTabIndex[] =
741    L"certificate_manager_window.last_tab_index";
742
743// The mere fact that this pref is registered signals that we should show the
744// First Run Search Information bubble when the first browser window appears.
745// This preference is only registered by the first-run procedure.
746const wchar_t kShouldShowFirstRunBubble[] = L"show-first-run-bubble";
747
748// The mere fact that this pref is registered signals that we should show the
749// smaller OEM First Run Search Information bubble when the first
750// browser window appears.
751// This preference is only registered by the first-run procedure.
752const wchar_t kShouldUseOEMFirstRunBubble[] = L"show-OEM-first-run-bubble";
753
754// The mere fact that this pref is registered signals that we should show the
755// minimal First Run omnibox information bubble when the first
756// browser window appears.
757// This preference is only registered by the first-run procedure.
758const wchar_t kShouldUseMinimalFirstRunBubble[] =
759    L"show-minimal-first-run-bubble";
760
761// Signal that we should show the welcome page when we launch Chrome.
762const wchar_t kShouldShowWelcomePage[] = L"show-welcome-page";
763
764// String containing the last known Google URL.  We re-detect this on startup in
765// most cases, and use it to send traffic to the correct Google host or with the
766// correct Google domain/country code for whatever location the user is in.
767const wchar_t kLastKnownGoogleURL[] = L"browser.last_known_google_url";
768
769// String containing the last known intranet redirect URL, if any.  See
770// intranet_redirect_detector.h for more information.
771const wchar_t kLastKnownIntranetRedirectOrigin[] = L"";
772
773// Integer containing the system Country ID the first time we checked the
774// template URL prepopulate data.  This is used to avoid adding a whole bunch of
775// new search engine choices if prepopulation runs when the user's Country ID
776// differs from their previous Country ID.  This pref does not exist until
777// prepopulation has been run at least once.
778const wchar_t kCountryIDAtInstall[] = L"countryid_at_install";
779// OBSOLETE. Same as above, but uses the Windows-specific GeoID value instead.
780// Updated if found to the above key.
781const wchar_t kGeoIDAtInstall[] = L"geoid_at_install";
782
783// An enum value of how the browser was shut down (see browser_shutdown.h).
784const wchar_t kShutdownType[] = L"shutdown.type";
785// Number of processes that were open when the user shut down.
786const wchar_t kShutdownNumProcesses[] = L"shutdown.num_processes";
787// Number of processes that were shut down using the slow path.
788const wchar_t kShutdownNumProcessesSlow[] = L"shutdown.num_processes_slow";
789
790// Whether to restart the current Chrome session automatically as the last thing
791// before shutting everything down.
792const wchar_t kRestartLastSessionOnShutdown[] =
793    L"restart.last.session.on.shutdown";
794
795// Number of bookmarks/folders on the bookmark bar/other bookmark folder.
796const wchar_t kNumBookmarksOnBookmarkBar[] =
797    L"user_experience_metrics.num_bookmarks_on_bookmark_bar";
798const wchar_t kNumFoldersOnBookmarkBar[] =
799    L"user_experience_metrics.num_folders_on_bookmark_bar";
800const wchar_t kNumBookmarksInOtherBookmarkFolder[] =
801    L"user_experience_metrics.num_bookmarks_in_other_bookmark_folder";
802const wchar_t kNumFoldersInOtherBookmarkFolder[] =
803    L"user_experience_metrics.num_folders_in_other_bookmark_folder";
804
805// Number of keywords.
806const wchar_t kNumKeywords[] = L"user_experience_metrics.num_keywords";
807
808// Placeholder preference for disabling voice / video chat if it is ever added.
809// Currently, this does not change any behavior.
810const wchar_t kDisableVideoAndChat[] = L"disable_video_chat";
811
812// Whether Extensions are enabled.
813const wchar_t kDisableExtensions[] = L"extensions.disabled";
814
815// Boolean which specifies whether the Extension Shelf is visible on all tabs.
816const wchar_t kShowExtensionShelf[] = L"extensions.shelf.show_on_all_tabs";
817
818// Integer boolean representing the width (in pixels) of the container for
819// browser actions.
820const wchar_t kBrowserActionContainerWidth[] =
821    L"extensions.browseractions.container.width";
822
823// Time of the last, and next scheduled, extensions auto-update checks.
824const wchar_t kLastExtensionsUpdateCheck[] =
825    L"extensions.autoupdate.last_check";
826const wchar_t kNextExtensionsUpdateCheck[] =
827    L"extensions.autoupdate.next_check";
828// Version number of last blacklist check
829const wchar_t kExtensionBlacklistUpdateVersion[] =
830    L"extensions.blacklistupdate.version";
831
832// New Tab Page URLs that should not be shown as most visited thumbnails.
833const wchar_t kNTPMostVisitedURLsBlacklist[] = L"ntp.most_visited_blacklist";
834
835// The URLs that have been pinned to the Most Visited section of the New Tab
836// Page.
837const wchar_t kNTPMostVisitedPinnedURLs[] = L"ntp.pinned_urls";
838
839// Data downloaded from resource pages (JSON, RSS) to be displayed in the
840// recommendations portion of the NTP.
841const wchar_t kNTPTipsCache[] = L"ntp.tips_cache";
842
843// Last time of update of tips_cache.
844const wchar_t kNTPTipsCacheUpdate[] = L"ntp.tips_cache_update";
845
846// Last server used to fill tips_cache.
847const wchar_t kNTPTipsServer[] = L"ntp.tips_server";
848
849// Which sections should be visible on the new tab page
850// 1 - Show the most visited sites in a grid
851// 2 - Show the most visited sites as a list
852// 4 - Show the recent section
853// 8 - Show tips
854// 16 - show sync status
855const wchar_t kNTPShownSections[] = L"ntp.shown_sections";
856
857// This pref is used for migrating the prefs for the NTP
858const wchar_t kNTPPrefVersion[] = L"ntp.pref_version";
859
860// A boolean specifying whether dev tools window should be opened docked.
861const wchar_t kDevToolsOpenDocked[] = L"devtools.open_docked";
862
863// Integer location of the split bar in the browser view.
864const wchar_t kDevToolsSplitLocation[] = L"devtools.split_location";
865
866// 64-bit integer serialization of the base::Time when the last sync occurred.
867const wchar_t kSyncLastSyncedTime[] = L"sync.last_synced_time";
868
869// Boolean specifying whether the user finished setting up sync.
870const wchar_t kSyncHasSetupCompleted[] = L"sync.has_setup_completed";
871
872// Boolean specifying whether to automatically sync all data types (including
873// future ones, as they're added).  If this is true, the following preferences
874// (kSyncBookmarks, kSyncPasswords, etc.) can all be ignored.
875const wchar_t kKeepEverythingSynced[] = L"sync.keep_everything_synced";
876
877// Booleans specifying whether the user has selected to sync the following
878// datatypes.
879const wchar_t kSyncBookmarks[] = L"sync.bookmarks";
880const wchar_t kSyncPasswords[] = L"sync.passwords";
881const wchar_t kSyncPreferences[] = L"sync.preferences";
882const wchar_t kSyncAutofill[] = L"sync.autofill";
883const wchar_t kSyncThemes[] = L"sync.themes";
884const wchar_t kSyncTypedUrls[] = L"sync.typed_urls";
885const wchar_t kSyncExtensions[] = L"sync.extensions";
886
887// Boolean used by enterprise configuration management in order to lock down
888// sync.
889const wchar_t kSyncManaged[] = L"sync.managed";
890
891// Create web application shortcut dialog preferences.
892const wchar_t kWebAppCreateOnDesktop[] = L"browser.web_app.create_on_desktop";
893const wchar_t kWebAppCreateInAppsMenu[] =
894    L"browser.web_app.create_in_apps_menu";
895const wchar_t kWebAppCreateInQuickLaunchBar[] =
896    L"browser.web_app.create_in_quick_launch_bar";
897
898// Dictionary that maps Geolocation network provider server URLs to
899// corresponding access token.
900const wchar_t kGeolocationAccessToken[] = L"geolocation.access_token";
901
902// Whether PasswordForms have been migrated from the WedDataService to the
903// LoginDatabase.
904const wchar_t kLoginDatabaseMigrated[] = L"login_database.migrated";
905
906// The root URL of the cloud print service.
907const wchar_t kCloudPrintServiceURL[] = L"cloud_print.service_url";
908
909// The list of BackgroundContents that should be loaded when the browser
910// launches.
911const wchar_t kRegisteredBackgroundContents[] =
912    L"background_contents.registered";
913
914// *************** SERVICE PREFS ***************
915// These are attached to the service process.
916
917// The unique id for this instance of the cloud print proxy.
918const wchar_t kCloudPrintProxyId[] = L"cloud_print.proxy_id";
919// The GAIA auth token for Cloud Print
920const wchar_t kCloudPrintAuthToken[] = L"cloud_print.auth_token";
921// The GAIA auth token used by Cloud Print to authenticate with the XMPP server
922// This should eventually go away because the above token should work for both.
923const wchar_t kCloudPrintXMPPAuthToken[] = L"cloud_print.xmpp_auth_token";
924// The email address of the account used to authenticate with the Cloud Print
925// server.
926extern const wchar_t kCloudPrintEmail[] = L"cloud_print.email";
927// Settings specific to underlying print system.
928extern const wchar_t kCloudPrintPrintSystemSettings[] =
929    L"cloud_print.print_system_settings";
930
931// Boolean to disable proxy altogether. If true, other proxy
932// preferences are ignored.
933const wchar_t kNoProxyServer[] = L"proxy.disabled";
934// Boolean specifying if proxy should be auto-detected.
935const wchar_t kProxyAutoDetect[] = L"proxy.auto_detect";
936// String specifying the proxy server. For a specification of the expected
937// syntax see net::ProxyConfig::ProxyRules::ParseFromString().
938const wchar_t kProxyServer[] = L"proxy.server";
939// URL to the proxy .pac file.
940const wchar_t kProxyPacUrl[] = L"proxy.pac_url";
941// String containing proxy bypass rules. For a specification of the
942// expected syntax see net::ProxyBypassRules::ParseFromString().
943const wchar_t kProxyBypassList[] = L"proxy.bypass_list";
944
945}  // namespace prefs
946