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.
4
5#ifndef EXTENSIONS_COMMON_MANIFEST_CONSTANTS_H_
6#define EXTENSIONS_COMMON_MANIFEST_CONSTANTS_H_
7
8namespace extensions {
9
10// Keys used in JSON representation of extensions.
11namespace manifest_keys {
12
13extern const char kAllFrames[];
14extern const char kAltKey[];
15extern const char kApp[];
16extern const char kBackgroundAllowJsAccess[];
17extern const char kBackgroundPage[];
18extern const char kBackgroundPageLegacy[];
19extern const char kBackgroundPersistent[];
20extern const char kBackgroundScripts[];
21extern const char kBookmarkUI[];
22extern const char kBrowserAction[];
23extern const char kBrowseURLs[];
24extern const char kChromeURLOverrides[];
25extern const char kCommands[];
26extern const char kContentPack[];
27extern const char kContentPackSites[];
28extern const char kContentScripts[];
29extern const char kContentSecurityPolicy[];
30extern const char kConvertedFromUserScript[];
31extern const char kCss[];
32extern const char kCtrlKey[];
33extern const char kCurrentLocale[];
34extern const char kDefaultLocale[];
35extern const char kDescription[];
36extern const char kDevToolsPage[];
37extern const char kDisplayInLauncher[];
38extern const char kDisplayInNewTabPage[];
39extern const char kEventName[];
40extern const char kExcludeGlobs[];
41extern const char kExcludeMatches[];
42extern const char kExport[];
43extern const char kExternallyConnectable[];
44extern const char kFileAccessList[];
45extern const char kFileHandlers[];
46extern const char kFileHandlerExtensions[];
47extern const char kFileHandlerTitle[];
48extern const char kFileHandlerTypes[];
49extern const char kFileFilters[];
50extern const char kFileBrowserHandlers[];
51extern const char kGlobal[];
52extern const char kHideBookmarkButton[];
53extern const char kHomepageURL[];
54extern const char kIcons[];
55extern const char kId[];
56extern const char kImport[];
57extern const char kIncognito[];
58extern const char kIncludeGlobs[];
59extern const char kInputComponents[];
60extern const char kInputView[];
61extern const char kIntentDisposition[];
62extern const char kIntentHref[];
63extern const char kIntentPath[];
64extern const char kIntents[];
65extern const char kIntentTitle[];
66extern const char kIntentType[];
67extern const char kIsolation[];
68extern const char kJs[];
69extern const char kKey[];
70extern const char kKeycode[];
71extern const char kKioskEnabled[];
72extern const char kKioskOnly[];
73extern const char kKioskMode[];
74extern const char kLanguage[];
75extern const char kLaunch[];
76extern const char kLaunchContainer[];
77extern const char kLaunchHeight[];
78extern const char kLaunchLocalPath[];
79extern const char kLaunchWebURL[];
80extern const char kLaunchWidth[];
81extern const char kLayouts[];
82extern const char kManifestVersion[];
83extern const char kMatches[];
84extern const char kMediaGalleriesHandlers[];
85extern const char kMIMETypes[];
86extern const char kMimeTypesHandler[];
87extern const char kMinimumChromeVersion[];
88extern const char kMinimumVersion[];
89extern const char kNaClModules[];
90extern const char kNaClModulesMIMEType[];
91extern const char kNaClModulesPath[];
92extern const char kName[];
93extern const char kOAuth2[];
94extern const char kOAuth2AutoApprove[];
95extern const char kOAuth2ClientId[];
96extern const char kOAuth2Scopes[];
97extern const char kOfflineEnabled[];
98extern const char kOmnibox[];
99extern const char kOmniboxKeyword[];
100extern const char kOptionalPermissions[];
101extern const char kOptionsPage[];
102extern const char kPageAction[];
103extern const char kPageActionDefaultIcon[];
104extern const char kPageActionDefaultPopup[];
105extern const char kPageActionDefaultTitle[];
106extern const char kPageActionIcons[];
107extern const char kPageActionId[];
108extern const char kPageActionPopup[];
109extern const char kPageActionPopupPath[];
110extern const char kPageActions[];
111extern const char kPermissions[];
112extern const char kPlatformAppBackground[];
113extern const char kPlatformAppBackgroundPage[];
114extern const char kPlatformAppBackgroundScripts[];
115extern const char kPlatformAppContentSecurityPolicy[];
116extern const char kPlugins[];
117extern const char kPluginsPath[];
118extern const char kPluginsPublic[];
119extern const char kPublicKey[];
120extern const char kResources[];
121extern const char kRequirements[];
122extern const char kRunAt[];
123extern const char kSandboxedPages[];
124extern const char kSandboxedPagesCSP[];
125extern const char kScriptBadge[];
126extern const char kSearchProvider[];
127extern const char kSettingsOverride[];
128extern const char kSettingsOverrideAlternateUrls[];
129extern const char kShiftKey[];
130extern const char kShortcutKey[];
131extern const char kShortName[];
132extern const char kSignature[];
133extern const char kSockets[];
134extern const char kSpellcheck[];
135extern const char kSpellcheckDictionaryFormat[];
136extern const char kSpellcheckDictionaryLanguage[];
137extern const char kSpellcheckDictionaryLocale[];
138extern const char kSpellcheckDictionaryPath[];
139extern const char kStorageManagedSchema[];
140extern const char kSuggestedKey[];
141extern const char kSystemIndicator[];
142extern const char kTheme[];
143extern const char kThemeColors[];
144extern const char kThemeDisplayProperties[];
145extern const char kThemeImages[];
146extern const char kThemeTints[];
147extern const char kTtsEngine[];
148extern const char kTtsGenderFemale[];
149extern const char kTtsGenderMale[];
150extern const char kTtsVoices[];
151extern const char kTtsVoicesEventTypeEnd[];
152extern const char kTtsVoicesEventTypeError[];
153extern const char kTtsVoicesEventTypeMarker[];
154extern const char kTtsVoicesEventTypeSentence[];
155extern const char kTtsVoicesEventTypeStart[];
156extern const char kTtsVoicesEventTypeWord[];
157extern const char kTtsVoicesEventTypes[];
158extern const char kTtsVoicesGender[];
159extern const char kTtsVoicesLang[];
160extern const char kTtsVoicesRemote[];
161extern const char kTtsVoicesVoiceName[];
162extern const char kType[];
163extern const char kUpdateURL[];
164extern const char kUrlHandlers[];
165extern const char kUrlHandlerTitle[];
166extern const char kVersion[];
167extern const char kWebAccessibleResources[];
168extern const char kWebURLs[];
169extern const char kWebview[];
170extern const char kWebviewAccessibleResources[];
171extern const char kWebviewPrivilegedPartitions[];
172
173}  // namespace manifest_keys
174
175// Some values expected in manifests.
176namespace manifest_values {
177
178extern const char kBrowserActionCommandEvent[];
179extern const char kIncognitoSplit[];
180extern const char kIncognitoSpanning[];
181extern const char kIntentDispositionWindow[];
182extern const char kIntentDispositionInline[];
183extern const char kIsolatedStorage[];
184extern const char kKeybindingPlatformChromeOs[];
185extern const char kKeybindingPlatformDefault[];
186extern const char kKeybindingPlatformLinux[];
187extern const char kKeybindingPlatformMac[];
188extern const char kKeybindingPlatformWin[];
189extern const char kKeyAlt[];
190extern const char kKeyShift[];
191extern const char kKeyCommand[];
192extern const char kKeyCtrl[];
193extern const char kKeyComma[];
194extern const char kKeyDel[];
195extern const char kKeyDown[];
196extern const char kKeyHome[];
197extern const char kKeyEnd[];
198extern const char kKeyIns[];
199extern const char kKeyLeft[];
200extern const char kKeyMacCtrl[];
201extern const char kKeyMediaNextTrack[];
202extern const char kKeyMediaPlayPause[];
203extern const char kKeyMediaPrevTrack[];
204extern const char kKeyMediaStop[];
205extern const char kKeyPgDwn[];
206extern const char kKeyPgUp[];
207extern const char kKeyPeriod[];
208extern const char kKeyRight[];
209extern const char kKeySeparator[];
210extern const char kKeyTab[];
211extern const char kKeyUp[];
212extern const char kLaunchContainerPanel[];
213extern const char kLaunchContainerTab[];
214extern const char kLaunchContainerWindow[];
215extern const char kPageActionCommandEvent[];
216extern const char kPageActionTypePermanent[];
217extern const char kPageActionTypeTab[];
218extern const char kScriptBadgeCommandEvent[];
219extern const char kRunAtDocumentEnd[];
220extern const char kRunAtDocumentIdle[];
221extern const char kRunAtDocumentStart[];
222
223}  // manifest_values
224
225// Error messages returned from extension installation.
226namespace manifest_errors {
227
228extern const char kAppsNotEnabled[];
229extern const char kBackgroundPermissionNeeded[];
230extern const char kBackgroundRequiredForPlatformApps[];
231extern const char kCannotAccessChromeUrl[];
232extern const char kCannotAccessExtensionUrl[];
233extern const char kCannotAccessPage[];
234extern const char kCannotChangeExtensionID[];
235extern const char kCannotClaimAllHostsInExtent[];
236extern const char kCannotClaimAllURLsInExtent[];
237extern const char kCannotScriptGallery[];
238extern const char kCannotScriptSigninPage[];
239extern const char kCannotUninstallManagedExtension[];
240extern const char kChromeVersionTooLow[];
241extern const char kDevToolsExperimental[];
242extern const char kDisabledByPolicy[];
243extern const char kExperimentalFlagRequired[];
244extern const char kExpectString[];
245extern const char kInvalidAllFrames[];
246extern const char kInvalidBackground[];
247extern const char kInvalidBackgroundAllowJsAccess[];
248extern const char kInvalidBackgroundCombination[];
249extern const char kInvalidBackgroundScript[];
250extern const char kInvalidBackgroundScripts[];
251extern const char kInvalidBackgroundInHostedApp[];
252extern const char kInvalidBackgroundPersistent[];
253extern const char kInvalidBackgroundPersistentNoPage[];
254extern const char kInvalidBrowserAction[];
255extern const char kInvalidBrowseURL[];
256extern const char kInvalidBrowseURLs[];
257extern const char kInvalidChromeURLOverrides[];
258extern const char kInvalidCommandsKey[];
259extern const char kInvalidContentPack[];
260extern const char kInvalidContentPackSites[];
261extern const char kInvalidContentScript[];
262extern const char kInvalidContentScriptsList[];
263extern const char kInvalidContentSecurityPolicy[];
264extern const char kInvalidCss[];
265extern const char kInvalidCssList[];
266extern const char kInvalidDefaultLocale[];
267extern const char kInvalidDescription[];
268extern const char kInvalidDevToolsPage[];
269extern const char kInvalidDisplayInLauncher[];
270extern const char kInvalidDisplayInNewTabPage[];
271extern const char kInvalidExcludeMatch[];
272extern const char kInvalidExcludeMatches[];
273extern const char kInvalidExport[];
274extern const char kInvalidExportPermissions[];
275extern const char kInvalidExportResources[];
276extern const char kInvalidExportResourcesString[];
277extern const char kInvalidFileAccessList[];
278extern const char kInvalidFileAccessValue[];
279extern const char kInvalidFileBrowserHandler[];
280extern const char kInvalidFileBrowserHandlerMIMETypes[];
281extern const char kInvalidMediaGalleriesHandler[];
282extern const char kInvalidFileFiltersList[];
283extern const char kInvalidFileFilterValue[];
284extern const char kInvalidFileHandlers[];
285extern const char kInvalidFileHandlersTooManyTypesAndExtensions[];
286extern const char kInvalidFileHandlerExtension[];
287extern const char kInvalidFileHandlerExtensionElement[];
288extern const char kInvalidFileHandlerNoTypeOrExtension[];
289extern const char kInvalidFileHandlerTitle[];
290extern const char kInvalidFileHandlerType[];
291extern const char kInvalidFileHandlerTypeElement[];
292extern const char kInvalidGlob[];
293extern const char kInvalidGlobList[];
294extern const char kInvalidHomepageOverrideURL[];
295extern const char kInvalidHomepageURL[];
296extern const char kInvalidIconPath[];
297extern const char kInvalidIcons[];
298extern const char kInvalidImport[];
299extern const char kInvalidImportAndExport[];
300extern const char kInvalidImportId[];
301extern const char kInvalidImportVersion[];
302extern const char kInvalidIncognitoBehavior[];
303extern const char kInvalidInputComponents[];
304extern const char kInvalidInputComponentDescription[];
305extern const char kInvalidInputComponentLayoutName[];
306extern const char kInvalidInputComponentName[];
307extern const char kInvalidInputComponentShortcutKey[];
308extern const char kInvalidInputComponentShortcutKeycode[];
309extern const char kInvalidInputComponentType[];
310extern const char kInvalidInputView[];
311extern const char kInvalidIntent[];
312extern const char kInvalidIntentDisposition[];
313extern const char kInvalidIntentDispositionInPlatformApp[];
314extern const char kInvalidIntentHref[];
315extern const char kInvalidIntentHrefEmpty[];
316extern const char kInvalidIntentHrefInPlatformApp[];
317extern const char kInvalidIntentHrefOldAndNewKey[];
318extern const char kInvalidIntentPageInHostedApp[];
319extern const char kInvalidIntents[];
320extern const char kInvalidIntentType[];
321extern const char kInvalidIntentTypeElement[];
322extern const char kInvalidIntentTitle[];
323extern const char kInvalidIsolation[];
324extern const char kInvalidIsolationValue[];
325extern const char kInvalidJs[];
326extern const char kInvalidJsList[];
327extern const char kInvalidKey[];
328extern const char kInvalidKeyBinding[];
329extern const char kInvalidKeyBindingDescription[];
330extern const char kInvalidKeyBindingDictionary[];
331extern const char kInvalidKeyBindingMediaKeyWithModifier[];
332extern const char kInvalidKeyBindingMissingPlatform[];
333extern const char kInvalidKeyBindingTooMany[];
334extern const char kInvalidKeyBindingUnknownPlatform[];
335extern const char kInvalidKioskEnabled[];
336extern const char kInvalidKioskOnly[];
337extern const char kInvalidKioskOnlyButNotEnabled[];
338extern const char kInvalidLaunchContainer[];
339extern const char kInvalidLaunchValue[];
340extern const char kInvalidLaunchValueContainer[];
341extern const char kInvalidManifest[];
342extern const char kInvalidManifestVersion[];
343extern const char kInvalidManifestVersionOld[];
344extern const char kInvalidMatch[];
345extern const char kInvalidMatchCount[];
346extern const char kInvalidMatches[];
347extern const char kInvalidMIMETypes[];
348extern const char kInvalidMimeTypesHandler[];
349extern const char kInvalidMinimumChromeVersion[];
350extern const char kInvalidNaClModules[];
351extern const char kInvalidNaClModulesMIMEType[];
352extern const char kInvalidNaClModulesPath[];
353extern const char kInvalidName[];
354extern const char kInvalidOAuth2AutoApprove[];
355extern const char kInvalidOAuth2ClientId[];
356extern const char kInvalidOAuth2Scopes[];
357extern const char kInvalidOfflineEnabled[];
358extern const char kInvalidOmniboxKeyword[];
359extern const char kInvalidOptionsPage[];
360extern const char kInvalidOptionsPageExpectUrlInPackage[];
361extern const char kInvalidOptionsPageInHostedApp[];
362extern const char kInvalidPageAction[];
363extern const char kInvalidPageActionDefaultTitle[];
364extern const char kInvalidPageActionIconPath[];
365extern const char kInvalidPageActionId[];
366extern const char kInvalidPageActionName[];
367extern const char kInvalidPageActionOldAndNewKeys[];
368extern const char kInvalidPageActionPopup[];
369extern const char kInvalidPageActionPopupHeight[];
370extern const char kInvalidPageActionPopupPath[];
371extern const char kInvalidPageActionsList[];
372extern const char kInvalidPageActionsListSize[];
373extern const char kInvalidPageActionTypeValue[];
374extern const char kInvalidPermission[];
375extern const char kInvalidPermissions[];
376extern const char kInvalidPermissionScheme[];
377extern const char kInvalidPlugins[];
378extern const char kInvalidPluginsPath[];
379extern const char kInvalidPluginsPublic[];
380extern const char kInvalidRequirement[];
381extern const char kInvalidRequirements[];
382extern const char kInvalidRunAt[];
383extern const char kInvalidSandboxedPagesList[];
384extern const char kInvalidSandboxedPage[];
385extern const char kInvalidSandboxedPagesCSP[];
386extern const char kInvalidScriptBadge[];
387extern const char kInvalidSearchEngineURL[];
388extern const char kInvalidEmptySettingsOverrides[];
389extern const char kInvalidShortName[];
390extern const char kInvalidSignature[];
391extern const char kInvalidSpellcheck[];
392extern const char kInvalidSpellcheckDictionaryFormat[];
393extern const char kInvalidSpellcheckDictionaryLanguage[];
394extern const char kInvalidSpellcheckDictionaryLocale[];
395extern const char kInvalidSpellcheckDictionaryPath[];
396extern const char kInvalidStartupOverrideURL[];
397extern const char kInvalidSystemIndicator[];
398extern const char kInvalidTheme[];
399extern const char kInvalidThemeColors[];
400extern const char kInvalidThemeImages[];
401extern const char kInvalidThemeImagesMissing[];
402extern const char kInvalidThemeTints[];
403extern const char kInvalidTts[];
404extern const char kInvalidTtsVoices[];
405extern const char kInvalidTtsVoicesEventTypes[];
406extern const char kInvalidTtsVoicesGender[];
407extern const char kInvalidTtsVoicesLang[];
408extern const char kInvalidTtsVoicesRemote[];
409extern const char kInvalidTtsVoicesVoiceName[];
410extern const char kInvalidUpdateURL[];
411extern const char kInvalidURLPatternError[];
412extern const char kInvalidURLHandlers[];
413extern const char kInvalidURLHandlerPatternElement[];
414extern const char kInvalidURLHandlerTitle[];
415extern const char kInvalidURLHandlerPattern[];
416extern const char kInvalidVersion[];
417extern const char kInvalidWebAccessibleResourcesList[];
418extern const char kInvalidWebAccessibleResource[];
419extern const char kInvalidWebview[];
420extern const char kInvalidWebviewAccessibleResourcesList[];
421extern const char kInvalidWebviewAccessibleResource[];
422extern const char kInvalidWebviewPrivilegedPartitionList[];
423extern const char kInvalidWebviewPrivilegedPartition[];
424extern const char kInvalidWebURL[];
425extern const char kInvalidWebURLs[];
426extern const char kInvalidZipHash[];
427extern const char kInsecureContentSecurityPolicy[];
428extern const char kLaunchPathAndExtentAreExclusive[];
429extern const char kLaunchPathAndURLAreExclusive[];
430extern const char kLaunchURLRequired[];
431extern const char kLocalesInvalidLocale[];
432extern const char kLocalesMessagesFileMissing[];
433extern const char kLocalesNoDefaultLocaleSpecified[];
434extern const char kLocalesNoDefaultMessages[];
435extern const char kLocalesNoValidLocaleNamesListed[];
436extern const char kLocalesTreeMissing[];
437extern const char kManifestParseError[];
438extern const char kManifestUnreadable[];
439extern const char kMissingFile[];
440extern const char kMultipleOverrides[];
441extern const char kNoPermissionForMIMETypes[];
442extern const char kNoWildCardsInPaths[];
443extern const char kOneUISurfaceOnly[];
444extern const char kPermissionMustBeOptional[];
445extern const char kPermissionNotAllowed[];
446extern const char kPermissionNotAllowedInManifest[];
447extern const char kPermissionUnknownOrMalformed[];
448extern const char kReservedMessageFound[];
449extern const char kUnrecognizedManifestKey[];
450extern const char kUnrecognizedManifestProperty[];
451extern const char kScriptBadgeRequiresFlag[];
452extern const char kScriptBadgeIconIgnored[];
453extern const char kScriptBadgeTitleIgnored[];
454extern const char kWebRequestConflictsWithLazyBackground[];
455#if defined(OS_CHROMEOS)
456extern const char kIllegalPlugins[];
457#endif
458
459}  // namespace manifest_errors
460
461}  // namespace extensions
462
463#endif  // EXTENSIONS_COMMON_MANIFEST_CONSTANTS_H_
464