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.
5 #ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_MANIFEST_CONSTANTS_H_
6 #define CHROME_COMMON_EXTENSIONS_EXTENSION_MANIFEST_CONSTANTS_H_
10 #include "base/basictypes.h"
11 #include "googleurl/src/gurl.h"
13 // Keys used in JSON representation of extensions.
14 namespace extension_manifest_keys
{
15 extern const char kAllFrames
[];
16 extern const char kAltKey
[];
17 extern const char kApp
[];
18 extern const char kBackgroundAllowJsAccess
[];
19 extern const char kBackgroundPage
[];
20 extern const char kBackgroundPageLegacy
[];
21 extern const char kBackgroundPersistent
[];
22 extern const char kBackgroundScripts
[];
23 extern const char kBrowserAction
[];
24 extern const char kBrowseURLs
[];
25 extern const char kChromeURLOverrides
[];
26 extern const char kCommands
[];
27 extern const char kContentScripts
[];
28 extern const char kContentSecurityPolicy
[];
29 extern const char kConvertedFromUserScript
[];
30 extern const char kCss
[];
31 extern const char kCtrlKey
[];
32 extern const char kCurrentLocale
[];
33 extern const char kDefaultLocale
[];
34 extern const char kDescription
[];
35 extern const char kDevToolsPage
[];
36 extern const char kDisplayInLauncher
[];
37 extern const char kDisplayInNewTabPage
[];
38 extern const char kEventName
[];
39 extern const char kExcludeGlobs
[];
40 extern const char kExcludeMatches
[];
41 extern const char kFileAccessList
[];
42 extern const char kFileHandlers
[];
43 extern const char kFileHandlerTitle
[];
44 extern const char kFileHandlerTypes
[];
45 extern const char kFileFilters
[];
46 extern const char kFileBrowserHandlers
[];
47 extern const char kHomepageURL
[];
48 extern const char kIcons
[];
49 extern const char kId
[];
50 extern const char kIncognito
[];
51 extern const char kIncludeGlobs
[];
52 extern const char kInputComponents
[];
53 extern const char kIntentDisposition
[];
54 extern const char kIntentHref
[];
55 extern const char kIntentPath
[];
56 extern const char kIntents
[];
57 extern const char kIntentTitle
[];
58 extern const char kIntentType
[];
59 extern const char kIsolation
[];
60 extern const char kJs
[];
61 extern const char kKey
[];
62 extern const char kKeycode
[];
63 extern const char kLanguage
[];
64 extern const char kLaunch
[];
65 extern const char kLaunchContainer
[];
66 extern const char kLaunchHeight
[];
67 extern const char kLaunchLocalPath
[];
68 extern const char kLaunchMaxHeight
[];
69 extern const char kLaunchMaxWidth
[];
70 extern const char kLaunchMinHeight
[];
71 extern const char kLaunchMinWidth
[];
72 extern const char kLaunchWebURL
[];
73 extern const char kLaunchWidth
[];
74 extern const char kLayouts
[];
75 extern const char kManifestVersion
[];
76 extern const char kMatches
[];
77 extern const char kMinimumChromeVersion
[];
78 extern const char kNaClModules
[];
79 extern const char kNaClModulesMIMEType
[];
80 extern const char kNaClModulesPath
[];
81 extern const char kName
[];
82 extern const char kOAuth2
[];
83 extern const char kOAuth2ClientId
[];
84 extern const char kOAuth2Scopes
[];
85 extern const char kOfflineEnabled
[];
86 extern const char kOmnibox
[];
87 extern const char kOmniboxKeyword
[];
88 extern const char kOptionalPermissions
[];
89 extern const char kOptionsPage
[];
90 extern const char kPageAction
[];
91 extern const char kPageActionDefaultIcon
[];
92 extern const char kPageActionDefaultPopup
[];
93 extern const char kPageActionDefaultTitle
[];
94 extern const char kPageActionIcons
[];
95 extern const char kPageActionId
[];
96 extern const char kPageActionPopup
[];
97 extern const char kPageActionPopupPath
[];
98 extern const char kPageActions
[];
99 extern const char kPermissions
[];
100 extern const char kPlatformAppBackground
[];
101 extern const char kPlatformAppBackgroundPage
[];
102 extern const char kPlatformAppBackgroundScripts
[];
103 extern const char kPlatformAppContentSecurityPolicy
[];
104 extern const char kPlugins
[];
105 extern const char kPluginsPath
[];
106 extern const char kPluginsPublic
[];
107 extern const char kPublicKey
[];
108 extern const char kRequirements
[];
109 extern const char kRunAt
[];
110 extern const char kSandboxedPages
[];
111 extern const char kSandboxedPagesCSP
[];
112 extern const char kScriptBadge
[];
113 extern const char kShiftKey
[];
114 extern const char kShortcutKey
[];
115 extern const char kSignature
[];
116 extern const char kSuggestedKey
[];
117 extern const char kTheme
[];
118 extern const char kThemeColors
[];
119 extern const char kThemeDisplayProperties
[];
120 extern const char kThemeImages
[];
121 extern const char kThemeTints
[];
122 extern const char kTtsEngine
[];
123 extern const char kTtsGenderFemale
[];
124 extern const char kTtsGenderMale
[];
125 extern const char kTtsVoices
[];
126 extern const char kTtsVoicesEventTypeEnd
[];
127 extern const char kTtsVoicesEventTypeError
[];
128 extern const char kTtsVoicesEventTypeMarker
[];
129 extern const char kTtsVoicesEventTypeSentence
[];
130 extern const char kTtsVoicesEventTypeStart
[];
131 extern const char kTtsVoicesEventTypeWord
[];
132 extern const char kTtsVoicesEventTypes
[];
133 extern const char kTtsVoicesGender
[];
134 extern const char kTtsVoicesLang
[];
135 extern const char kTtsVoicesVoiceName
[];
136 extern const char kType
[];
137 extern const char kUpdateURL
[];
138 extern const char kVersion
[];
139 extern const char kWebAccessibleResources
[];
140 extern const char kWebURLs
[];
141 } // namespace extension_manifest_keys
143 // Some values expected in manifests.
144 namespace extension_manifest_values
{
145 extern const char kBrowserActionCommandEvent
[];
146 extern const char kIncognitoSplit
[];
147 extern const char kIncognitoSpanning
[];
148 extern const char kIntentDispositionWindow
[];
149 extern const char kIntentDispositionInline
[];
150 extern const char kIsolatedStorage
[];
151 extern const char kKeybindingPlatformChromeOs
[];
152 extern const char kKeybindingPlatformDefault
[];
153 extern const char kKeybindingPlatformLinux
[];
154 extern const char kKeybindingPlatformMac
[];
155 extern const char kKeybindingPlatformWin
[];
156 extern const char kLaunchContainerPanel
[];
157 extern const char kLaunchContainerTab
[];
158 extern const char kLaunchContainerWindow
[];
159 extern const char kPageActionCommandEvent
[];
160 extern const char kPageActionTypePermanent
[];
161 extern const char kPageActionTypeTab
[];
162 extern const char kScriptBadgeCommandEvent
[];
163 extern const char kRunAtDocumentEnd
[];
164 extern const char kRunAtDocumentIdle
[];
165 extern const char kRunAtDocumentStart
[];
166 } // namespace extension_manifest_values
168 // Error messages returned from Extension::InitFromValue().
169 namespace extension_manifest_errors
{
170 extern const char kAppsNotEnabled
[];
171 extern const char kBackgroundPermissionNeeded
[];
172 extern const char kBackgroundRequiredForPlatformApps
[];
173 extern const char kCannotAccessPage
[];
174 extern const char kCannotChangeExtensionID
[];
175 extern const char kCannotClaimAllHostsInExtent
[];
176 extern const char kCannotClaimAllURLsInExtent
[];
177 extern const char kCannotScriptGallery
[];
178 extern const char kCannotUninstallManagedExtension
[];
179 extern const char kChromeVersionTooLow
[];
180 extern const char kDevToolsExperimental
[];
181 extern const char kDisabledByPolicy
[];
182 extern const char kExperimentalFlagRequired
[];
183 extern const char kExpectString
[];
184 extern const char kInvalidAllFrames
[];
185 extern const char kInvalidBackground
[];
186 extern const char kInvalidBackgroundAllowJsAccess
[];
187 extern const char kInvalidBackgroundCombination
[];
188 extern const char kInvalidBackgroundScript
[];
189 extern const char kInvalidBackgroundScripts
[];
190 extern const char kInvalidBackgroundInHostedApp
[];
191 extern const char kInvalidBackgroundPersistent
[];
192 extern const char kInvalidBackgroundPersistentNoPage
[];
193 extern const char kInvalidBrowserAction
[];
194 extern const char kInvalidBrowseURL
[];
195 extern const char kInvalidBrowseURLs
[];
196 extern const char kInvalidChromeURLOverrides
[];
197 extern const char kInvalidCommandsKey
[];
198 extern const char kInvalidContentScript
[];
199 extern const char kInvalidContentScriptsList
[];
200 extern const char kInvalidContentSecurityPolicy
[];
201 extern const char kInvalidCss
[];
202 extern const char kInvalidCssList
[];
203 extern const char kInvalidDefaultLocale
[];
204 extern const char kInvalidDescription
[];
205 extern const char kInvalidDevToolsPage
[];
206 extern const char kInvalidDisplayInLauncher
[];
207 extern const char kInvalidDisplayInNewTabPage
[];
208 extern const char kInvalidExcludeMatch
[];
209 extern const char kInvalidExcludeMatches
[];
210 extern const char kInvalidFileAccessList
[];
211 extern const char kInvalidFileAccessValue
[];
212 extern const char kInvalidFileBrowserHandler
[];
213 extern const char kInvalidFileFiltersList
[];
214 extern const char kInvalidFileFilterValue
[];
215 extern const char kInvalidFileHandlers
[];
216 extern const char kInvalidFileHandlerTitle
[];
217 extern const char kInvalidFileHandlerType
[];
218 extern const char kInvalidFileHandlerTypeElement
[];
219 extern const char kInvalidGlob
[];
220 extern const char kInvalidGlobList
[];
221 extern const char kInvalidHomepageURL
[];
222 extern const char kInvalidIconPath
[];
223 extern const char kInvalidIcons
[];
224 extern const char kInvalidIncognitoBehavior
[];
225 extern const char kInvalidIncognitoModeForPlatformApp
[];
226 extern const char kInvalidInputComponents
[];
227 extern const char kInvalidInputComponentDescription
[];
228 extern const char kInvalidInputComponentLayoutName
[];
229 extern const char kInvalidInputComponentLayouts
[];
230 extern const char kInvalidInputComponentName
[];
231 extern const char kInvalidInputComponentShortcutKey
[];
232 extern const char kInvalidInputComponentShortcutKeycode
[];
233 extern const char kInvalidInputComponentType
[];
234 extern const char kInvalidIntent
[];
235 extern const char kInvalidIntentDisposition
[];
236 extern const char kInvalidIntentDispositionInPlatformApp
[];
237 extern const char kInvalidIntentHref
[];
238 extern const char kInvalidIntentHrefEmpty
[];
239 extern const char kInvalidIntentHrefInPlatformApp
[];
240 extern const char kInvalidIntentHrefOldAndNewKey
[];
241 extern const char kInvalidIntentPageInHostedApp
[];
242 extern const char kInvalidIntents
[];
243 extern const char kInvalidIntentType
[];
244 extern const char kInvalidIntentTypeElement
[];
245 extern const char kInvalidIntentTitle
[];
246 extern const char kInvalidIsolation
[];
247 extern const char kInvalidIsolationValue
[];
248 extern const char kInvalidJs
[];
249 extern const char kInvalidJsList
[];
250 extern const char kInvalidKey
[];
251 extern const char kInvalidKeyBinding
[];
252 extern const char kInvalidKeyBindingDescription
[];
253 extern const char kInvalidKeyBindingDictionary
[];
254 extern const char kInvalidKeyBindingMissingPlatform
[];
255 extern const char kInvalidKeyBindingTooMany
[];
256 extern const char kInvalidKeyBindingUnknownPlatform
[];
257 extern const char kInvalidLaunchContainer
[];
258 extern const char kInvalidLaunchValue
[];
259 extern const char kInvalidLaunchValueContainer
[];
260 extern const char kInvalidManifest
[];
261 extern const char kInvalidManifestVersion
[];
262 extern const char kInvalidManifestVersionOld
[];
263 extern const char kInvalidMatch
[];
264 extern const char kInvalidMatchCount
[];
265 extern const char kInvalidMatches
[];
266 extern const char kInvalidMinimumChromeVersion
[];
267 extern const char kInvalidNaClModules
[];
268 extern const char kInvalidNaClModulesMIMEType
[];
269 extern const char kInvalidNaClModulesPath
[];
270 extern const char kInvalidName
[];
271 extern const char kInvalidOAuth2ClientId
[];
272 extern const char kInvalidOAuth2Scopes
[];
273 extern const char kInvalidOfflineEnabled
[];
274 extern const char kInvalidOmniboxKeyword
[];
275 extern const char kInvalidOptionsPage
[];
276 extern const char kInvalidOptionsPageExpectUrlInPackage
[];
277 extern const char kInvalidOptionsPageInHostedApp
[];
278 extern const char kInvalidPageAction
[];
279 extern const char kInvalidPageActionDefaultTitle
[];
280 extern const char kInvalidPageActionIconPath
[];
281 extern const char kInvalidPageActionId
[];
282 extern const char kInvalidPageActionName
[];
283 extern const char kInvalidPageActionOldAndNewKeys
[];
284 extern const char kInvalidPageActionPopup
[];
285 extern const char kInvalidPageActionPopupHeight
[];
286 extern const char kInvalidPageActionPopupPath
[];
287 extern const char kInvalidPageActionsList
[];
288 extern const char kInvalidPageActionsListSize
[];
289 extern const char kInvalidPageActionTypeValue
[];
290 extern const char kInvalidPermission
[];
291 extern const char kInvalidPermissions
[];
292 extern const char kInvalidPermissionScheme
[];
293 extern const char kInvalidPlugins
[];
294 extern const char kInvalidPluginsPath
[];
295 extern const char kInvalidPluginsPublic
[];
296 extern const char kInvalidRequirement
[];
297 extern const char kInvalidRequirements
[];
298 extern const char kInvalidRunAt
[];
299 extern const char kInvalidSandboxedPagesList
[];
300 extern const char kInvalidSandboxedPage
[];
301 extern const char kInvalidSandboxedPagesCSP
[];
302 extern const char kInvalidScriptBadge
[];
303 extern const char kInvalidSignature
[];
304 extern const char kInvalidTheme
[];
305 extern const char kInvalidThemeColors
[];
306 extern const char kInvalidThemeImages
[];
307 extern const char kInvalidThemeImagesMissing
[];
308 extern const char kInvalidThemeTints
[];
309 extern const char kInvalidTts
[];
310 extern const char kInvalidTtsVoices
[];
311 extern const char kInvalidTtsVoicesEventTypes
[];
312 extern const char kInvalidTtsVoicesGender
[];
313 extern const char kInvalidTtsVoicesLang
[];
314 extern const char kInvalidTtsVoicesVoiceName
[];
315 extern const char kInvalidUpdateURL
[];
316 extern const char kInvalidURLPatternError
[];
317 extern const char kInvalidVersion
[];
318 extern const char kInvalidWebAccessibleResourcesList
[];
319 extern const char kInvalidWebAccessibleResource
[];
320 extern const char kInvalidWebURL
[];
321 extern const char kInvalidWebURLs
[];
322 extern const char kInvalidZipHash
[];
323 extern const char kInsecureContentSecurityPolicy
[];
324 extern const char kLaunchPathAndExtentAreExclusive
[];
325 extern const char kLaunchPathAndURLAreExclusive
[];
326 extern const char kLaunchURLRequired
[];
327 extern const char kLocalesMessagesFileMissing
[];
328 extern const char kLocalesNoDefaultLocaleSpecified
[];
329 extern const char kLocalesNoDefaultMessages
[];
330 extern const char kLocalesNoValidLocaleNamesListed
[];
331 extern const char kLocalesTreeMissing
[];
332 extern const char kManifestParseError
[];
333 extern const char kManifestUnreadable
[];
334 extern const char kMissingFile
[];
335 extern const char kMultipleOverrides
[];
336 extern const char kNoWildCardsInPaths
[];
337 extern const char kPermissionNotAllowed
[];
338 extern const char kPlatformAppNeedsManifestVersion2
[];
339 extern const char kOneUISurfaceOnly
[];
340 extern const char kReservedMessageFound
[];
341 extern const char kScriptBadgeRequiresFlag
[];
342 extern const char kScriptBadgeIconIgnored
[];
343 extern const char kScriptBadgeTitleIgnored
[];
344 extern const char kWebRequestConflictsWithLazyBackground
[];
345 #if defined(OS_CHROMEOS)
346 extern const char kIllegalPlugins
[];
348 } // namespace extension_manifest_errors
350 #endif // CHROME_COMMON_EXTENSIONS_EXTENSION_MANIFEST_CONSTANTS_H_