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