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