1 // Copyright 2013 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.
5 #ifndef EXTENSIONS_BROWSER_PREF_NAMES_H_
6 #define EXTENSIONS_BROWSER_PREF_NAMES_H_
10 #include "extensions/browser/extension_prefs_scope.h"
12 // Preference keys which are needed by both the ExtensionPrefs and by external
13 // clients, such as APIs.
15 namespace extensions
{
16 namespace pref_names
{
18 // If the given |scope| is persisted, return true and populate |result| with the
19 // appropriate property (i.e. one of kPref*) within a kExtensions dictionary. If
20 // |scope| is not persisted, return false, and leave |result| unchanged.
21 bool ScopeToPrefName(ExtensionPrefsScope scope
, std::string
* result
);
23 // Browser-level preferences ---------------------------------------------------
25 // Whether we have run the extension-alert system (see ExtensionGlobalError)
26 // at least once for this profile.
27 extern const char kAlertsInitialized
[];
29 // The sites that are allowed to install extensions. These sites should be
30 // allowed to install extensions without the scary dangerous downloads bar.
31 // Also, when off-store-extension installs are disabled, these sites are exempt.
32 extern const char kAllowedInstallSites
[];
34 // A list of allowed extension types. Extensions can only be installed if their
35 // type is on this whitelist or alternatively on kInstallAllowList or
37 extern const char kAllowedTypes
[];
39 // A boolean that tracks whether apps are allowed to enter fullscreen mode.
40 extern const char kAppFullscreenAllowed
[];
42 // Integer which specifies the launch type that bookmark apps are created with
44 extern const char kBookmarkAppCreationLaunchType
[];
46 // Dictionary pref that keeps track of per-extension settings. The keys are
48 extern const char kExtensions
[];
50 // A whitelist of extension ids the user can install: exceptions from the
51 // following blacklist.
52 extern const char kInstallAllowList
[];
54 // A blacklist, containing extensions the user cannot install. This list can
55 // contain "*" meaning all extensions. This list should not be confused with the
56 // extension blacklist, which is Google controlled.
57 extern const char kInstallDenyList
[];
59 // A list containing extensions that Chrome will silently install
60 // at startup time. It is a list of strings, each string contains
61 // an extension ID and an update URL, delimited by a semicolon.
62 // This preference is set by an admin policy, and meant to be only
63 // accessed through extensions::ExternalPolicyProvider.
64 extern const char kInstallForceList
[];
66 // String pref for what version chrome was last time the extension prefs were
68 extern const char kLastChromeVersion
[];
70 // Time of the last extensions auto-update check.
71 extern const char kLastUpdateCheck
[];
73 // Blacklist and whitelist for Native Messaging Hosts.
74 extern const char kNativeMessagingBlacklist
[];
75 extern const char kNativeMessagingWhitelist
[];
77 // Flag allowing usage of Native Messaging hosts installed on user level.
78 extern const char kNativeMessagingUserLevelHosts
[];
80 // Time of the next scheduled extensions auto-update checks.
81 extern const char kNextUpdateCheck
[];
83 // Indicates on-disk data might have skeletal data that needs to be cleaned
84 // on the next start of the browser.
85 extern const char kStorageGarbageCollect
[];
87 // A preference that tracks browser action toolbar configuration. This is a list
88 // object stored in the Preferences file. The extensions are stored by ID.
89 extern const char kToolbar
[];
91 // Integer pref that tracks the number of browser actions visible in the browser
93 extern const char kToolbarSize
[];
95 // Properties in kExtensions dictionaries --------------------------------------
97 // Extension-controlled preferences.
98 extern const char kPrefPreferences
[];
100 // Extension-controlled incognito preferences.
101 extern const char kPrefIncognitoPreferences
[];
103 // Extension-controlled regular-only preferences.
104 extern const char kPrefRegularOnlyPreferences
[];
106 // Extension-set content settings.
107 extern const char kPrefContentSettings
[];
109 // Extension-set incognito content settings.
110 extern const char kPrefIncognitoContentSettings
[];
112 } // namespace pref_names
113 } // namespace extensions
115 #endif // EXTENSIONS_BROWSER_PREF_NAMES_H_