// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef EXTENSIONS_COMMON_MANIFEST_CONSTANTS_H_
#define EXTENSIONS_COMMON_MANIFEST_CONSTANTS_H_

#include "build/build_config.h"

namespace extensions {

// Keys used in JSON representation of extensions.
namespace manifest_keys {

extern const char kAboutPage[];
extern const char kAllFrames[];
extern const char kAltKey[];
extern const char kApp[];
extern const char kAppIconColor[];
extern const char kAutomation[];
extern const char kBackgroundAllowJsAccess[];
extern const char kBackgroundPage[];
extern const char kBackgroundPageLegacy[];
extern const char kBackgroundPersistent[];
extern const char kBackgroundScripts[];
extern const char kBluetooth[];
extern const char kBookmarkUI[];
extern const char kBrowserAction[];
extern const char kBrowseURLs[];
extern const char kChromeURLOverrides[];
extern const char kCommands[];
extern const char kContentCapabilities[];
extern const char kContentScripts[];
extern const char kContentSecurityPolicy[];
extern const char kConvertedFromUserScript[];
extern const char kCss[];
extern const char kCtrlKey[];
extern const char kCurrentLocale[];
extern const char kDefaultLocale[];
extern const char kDescription[];
extern const char kDevToolsPage[];
extern const char kDisplayInLauncher[];
extern const char kDisplayInNewTabPage[];
extern const char kEventName[];
extern const char kExcludeGlobs[];
extern const char kExcludeMatches[];
extern const char kExport[];
extern const char kExternallyConnectable[];
extern const char kEventRules[];
extern const char kFileAccessList[];
extern const char kFileHandlers[];
extern const char kFileHandlerExtensions[];
extern const char kFileHandlerIncludeDirectories[];
extern const char kFileHandlerTypes[];
extern const char kFileHandlerVerb[];
extern const char kFileFilters[];
extern const char kFileBrowserHandlers[];
extern const char kGlobal[];
extern const char kHideBookmarkButton[];
extern const char kHomepageURL[];
extern const char kIcons[];
extern const char kId[];
extern const char kImeOptionsPage[];
extern const char kImport[];
extern const char kIncognito[];
extern const char kIncludeGlobs[];
extern const char kIndicator[];
extern const char kInputComponents[];
extern const char kInputView[];
extern const char kIsolation[];
extern const char kJs[];
extern const char kKey[];
extern const char kKeycode[];
extern const char kKiosk[];
extern const char kKioskEnabled[];
extern const char kKioskOnly[];
extern const char kKioskMode[];
extern const char kKioskRequiredPlatformVersion[];
extern const char kKioskSecondaryApps[];
extern const char kLanguage[];
extern const char kLaunch[];
extern const char kLaunchContainer[];
extern const char kLauncherPage[];
extern const char kLauncherPagePage[];
extern const char kLaunchHeight[];
extern const char kLaunchLocalPath[];
extern const char kLaunchWebURL[];
extern const char kLaunchWidth[];
extern const char kLayouts[];
extern const char kLinkedAppIcons[];
extern const char kLinkedAppIconURL[];
extern const char kLinkedAppIconSize[];
extern const char kManifestVersion[];
extern const char kMatchAboutBlank[];
extern const char kMatches[];
extern const char kMIMETypes[];
extern const char kMimeTypesHandler[];
extern const char kMinimumChromeVersion[];
extern const char kMinimumVersion[];
extern const char kNaClModules[];
extern const char kNaClModulesMIMEType[];
extern const char kNaClModulesPath[];
extern const char kName[];
extern const char kOAuth2[];
extern const char kOAuth2AutoApprove[];
extern const char kOAuth2ClientId[];
extern const char kOAuth2Scopes[];
extern const char kOfflineEnabled[];
extern const char kOmnibox[];
extern const char kOmniboxKeyword[];
extern const char kOptionalPermissions[];
extern const char kOptionsPage[];
extern const char kOptionsUI[];
extern const char kOverrideHomepage[];
extern const char kOverrideSearchProvider[];
extern const char kOverrideStartupPage[];
extern const char kPageAction[];
extern const char kPageActionDefaultIcon[];
extern const char kPageActionDefaultPopup[];
extern const char kPageActionDefaultTitle[];
extern const char kPageActionIcons[];
extern const char kPageActionId[];
extern const char kPageActionPopup[];
extern const char kPageActionPopupPath[];
extern const char kPermissions[];
extern const char kPlatformAppBackground[];
extern const char kPlatformAppBackgroundPage[];
extern const char kPlatformAppBackgroundScripts[];
extern const char kPlatformAppContentSecurityPolicy[];
extern const char kPlugins[];
extern const char kPluginsPath[];
extern const char kPluginsPublic[];
extern const char kPublicKey[];
extern const char kRemoveButton[];
extern const char kRequiredPlatformVersion[];
extern const char kRequirements[];
extern const char kRunAt[];
extern const char kSandboxedPages[];
extern const char kSandboxedPagesCSP[];
extern const char kSettingsOverride[];
extern const char kSettingsOverrideAlternateUrls[];
extern const char kShiftKey[];
extern const char kShortcutKey[];
extern const char kShortName[];
extern const char kSignature[];
extern const char kSockets[];
extern const char kSpellcheck[];
extern const char kSpellcheckDictionaryFormat[];
extern const char kSpellcheckDictionaryLanguage[];
extern const char kSpellcheckDictionaryLocale[];
extern const char kSpellcheckDictionaryPath[];
extern const char kStorageManagedSchema[];
extern const char kSuggestedKey[];
extern const char kSynthesizeExtensionAction[];
extern const char kSystemIndicator[];
extern const char kTheme[];
extern const char kThemeColors[];
extern const char kThemeDisplayProperties[];
extern const char kThemeImages[];
extern const char kThemeTints[];
extern const char kTtsEngine[];
extern const char kTtsGenderFemale[];
extern const char kTtsGenderMale[];
extern const char kTtsVoices[];
extern const char kTtsVoicesEventTypeEnd[];
extern const char kTtsVoicesEventTypeError[];
extern const char kTtsVoicesEventTypeMarker[];
extern const char kTtsVoicesEventTypeSentence[];
extern const char kTtsVoicesEventTypeStart[];
extern const char kTtsVoicesEventTypeWord[];
extern const char kTtsVoicesEventTypes[];
extern const char kTtsVoicesGender[];
extern const char kTtsVoicesLang[];
extern const char kTtsVoicesRemote[];
extern const char kTtsVoicesVoiceName[];
extern const char kType[];
extern const char kUIOverride[];
extern const char kUpdateURL[];
extern const char kUrlHandlers[];
extern const char kUrlHandlerTitle[];
extern const char kUsbPrinters[];
extern const char kVersion[];
extern const char kVersionName[];
extern const char kWebAccessibleResources[];
extern const char kWebURLs[];
extern const char kWebview[];
extern const char kWebviewName[];
extern const char kWebviewAccessibleResources[];
extern const char kWebviewPartitions[];
extern const char kWhitelist[];
#if defined(OS_CHROMEOS)
extern const char kFileSystemProviderCapabilities[];
#endif
}  // namespace manifest_keys

// Some values expected in manifests.
namespace manifest_values {

extern const char kApiKey[];
extern const char kBrowserActionCommandEvent[];
extern const char kIncognitoNotAllowed[];
extern const char kIncognitoSplit[];
extern const char kIncognitoSpanning[];
extern const char kIsolatedStorage[];
extern const char kKeybindingPlatformChromeOs[];
extern const char kKeybindingPlatformDefault[];
extern const char kKeybindingPlatformLinux[];
extern const char kKeybindingPlatformMac[];
extern const char kKeybindingPlatformWin[];
extern const char kKeyAlt[];
extern const char kKeyShift[];
extern const char kKeyCommand[];
extern const char kKeyCtrl[];
extern const char kKeyComma[];
extern const char kKeyDel[];
extern const char kKeyDown[];
extern const char kKeyHome[];
extern const char kKeyEnd[];
extern const char kKeyIns[];
extern const char kKeyLeft[];
extern const char kKeyMacCtrl[];
extern const char kKeyMediaNextTrack[];
extern const char kKeyMediaPlayPause[];
extern const char kKeyMediaPrevTrack[];
extern const char kKeyMediaStop[];
extern const char kKeyPgDwn[];
extern const char kKeyPgUp[];
extern const char kKeyPeriod[];
extern const char kKeyRight[];
extern const char kKeySearch[];
extern const char kKeySeparator[];
extern const char kKeySpace[];
extern const char kKeyTab[];
extern const char kKeyUp[];
extern const char kLaunchContainerPanel[];
extern const char kLaunchContainerTab[];
extern const char kLaunchContainerWindow[];
extern const char kPageActionCommandEvent[];
extern const char kPageActionTypePermanent[];
extern const char kPageActionTypeTab[];
extern const char kRunAtDocumentEnd[];
extern const char kRunAtDocumentIdle[];
extern const char kRunAtDocumentStart[];

}  // namespace manifest_values

// Error messages returned from extension installation.
namespace manifest_errors {

extern const char kActiveTabPermissionNotGranted[];
extern const char kAllURLOrActiveTabNeeded[];
extern const char kAppsNotEnabled[];
extern const char kBackgroundPermissionNeeded[];
extern const char kBackgroundPersistentInvalidForPlatformApps[];
extern const char kBackgroundRequiredForPlatformApps[];
extern const char kCannotAccessAboutUrl[];
extern const char kCannotAccessChromeUrl[];
extern const char kCannotAccessExtensionUrl[];
extern const char kCannotAccessPage[];
extern const char kCannotAccessPageWithUrl[];
extern const char kCannotChangeExtensionID[];
extern const char kCannotClaimAllHostsInExtent[];
extern const char kCannotClaimAllURLsInExtent[];
extern const char kCannotScriptGallery[];
extern const char kCannotScriptSigninPage[];
extern const char kCannotUninstallManagedExtension[];
extern const char kChromeVersionTooLow[];
extern const char kDevToolsExperimental[];
extern const char kDisabledByPolicy[];
extern const char kExpectString[];
extern const char kFileNotFound[];
extern const char kInvalidAboutPage[];
extern const char kInvalidAboutPageExpectRelativePath[];
extern const char kInvalidAllFrames[];
extern const char kInvalidAppIconColor[];
extern const char kInvalidBackground[];
extern const char kInvalidBackgroundAllowJsAccess[];
extern const char kInvalidBackgroundCombination[];
extern const char kInvalidBackgroundScript[];
extern const char kInvalidBackgroundScripts[];
extern const char kInvalidBackgroundInHostedApp[];
extern const char kInvalidBackgroundPersistent[];
extern const char kInvalidBackgroundPersistentInPlatformApp[];
extern const char kInvalidBackgroundPersistentNoPage[];
extern const char kInvalidBrowserAction[];
extern const char kInvalidBrowseURL[];
extern const char kInvalidBrowseURLs[];
extern const char kInvalidChromeURLOverrides[];
extern const char kInvalidCommandsKey[];
extern const char kInvalidContentCapabilities[];
extern const char kInvalidContentCapabilitiesMatch[];
extern const char kInvalidContentCapabilitiesMatchOrigin[];
extern const char kInvalidContentCapabilitiesPermission[];
extern const char kInvalidContentScript[];
extern const char kInvalidContentScriptsList[];
extern const char kInvalidContentSecurityPolicy[];
extern const char kInvalidCSPInsecureValue[];
extern const char kInvalidCSPMissingSecureSrc[];
extern const char kInvalidCss[];
extern const char kInvalidCssList[];
extern const char kInvalidDefaultLocale[];
extern const char kInvalidDescription[];
extern const char kInvalidDevToolsPage[];
extern const char kInvalidDisplayInLauncher[];
extern const char kInvalidDisplayInNewTabPage[];
extern const char kInvalidEmptyDictionary[];
extern const char kInvalidExcludeMatch[];
extern const char kInvalidExcludeMatches[];
extern const char kInvalidExport[];
extern const char kInvalidExportPermissions[];
extern const char kInvalidExportWhitelist[];
extern const char kInvalidExportWhitelistString[];
extern const char kInvalidFileAccessList[];
extern const char kInvalidFileAccessValue[];
extern const char kInvalidFileBrowserHandler[];
extern const char kInvalidFileBrowserHandlerMissingPermission[];
extern const char kInvalidFileFiltersList[];
extern const char kInvalidFileFilterValue[];
extern const char kInvalidFileHandlers[];
extern const char kInvalidFileHandlersTooManyTypesAndExtensions[];
extern const char kInvalidFileHandlerExtension[];
extern const char kInvalidFileHandlerExtensionElement[];
extern const char kInvalidFileHandlerIncludeDirectories[];
extern const char kInvalidFileHandlerNoTypeOrExtension[];
extern const char kInvalidFileHandlerType[];
extern const char kInvalidFileHandlerTypeElement[];
extern const char kInvalidFileHandlerVerb[];
extern const char kInvalidGlob[];
extern const char kInvalidGlobList[];
extern const char kInvalidHomepageOverrideURL[];
extern const char kInvalidHomepageURL[];
extern const char kInvalidIconKey[];
extern const char kInvalidIconPath[];
extern const char kInvalidIcons[];
extern const char kInvalidImport[];
extern const char kInvalidImportAndExport[];
extern const char kInvalidImportId[];
extern const char kInvalidImportVersion[];
extern const char kInvalidIncognitoBehavior[];
extern const char kInvalidInputComponents[];
extern const char kInvalidInputComponentDescription[];
extern const char kInvalidInputComponentLayoutName[];
extern const char kInvalidInputComponentName[];
extern const char kInvalidInputComponentShortcutKey[];
extern const char kInvalidInputComponentShortcutKeycode[];
extern const char kInvalidInputComponentType[];
extern const char kInvalidInputView[];
extern const char kInvalidIsolation[];
extern const char kInvalidIsolationValue[];
extern const char kInvalidJs[];
extern const char kInvalidJsList[];
extern const char kInvalidKey[];
extern const char kInvalidKeyBinding[];
extern const char kInvalidKeyBindingDescription[];
extern const char kInvalidKeyBindingDictionary[];
extern const char kInvalidKeyBindingMediaKeyWithModifier[];
extern const char kInvalidKeyBindingMissingPlatform[];
extern const char kInvalidKeyBindingTooMany[];
extern const char kInvalidKeyBindingUnknownPlatform[];
extern const char kInvalidKioskEnabled[];
extern const char kInvalidKioskOnly[];
extern const char kInvalidKioskOnlyButNotEnabled[];
extern const char kInvalidKioskRequiredPlatformVersion[];
extern const char kInvalidKioskSecondaryApps[];
extern const char kInvalidKioskSecondaryAppsBadAppEntry[];
extern const char kInvalidKioskSecondaryAppsBadAppId[];
extern const char kInvalidLauncherPage[];
extern const char kInvalidLauncherPagePage[];
extern const char kInvalidLaunchContainer[];
extern const char kInvalidLaunchValue[];
extern const char kInvalidLaunchValueContainer[];
extern const char kInvalidLinkedAppIcon[];
extern const char kInvalidLinkedAppIconSize[];
extern const char kInvalidLinkedAppIconURL[];
extern const char kInvalidLinkedAppIcons[];
extern const char kInvalidManifest[];
extern const char kInvalidManifestVersion[];
extern const char kInvalidManifestVersionOld[];
extern const char kInvalidMatch[];
extern const char kInvalidMatchAboutBlank[];
extern const char kInvalidMatchCount[];
extern const char kInvalidMatches[];
extern const char kInvalidMIMETypes[];
extern const char kInvalidMimeTypesHandler[];
extern const char kInvalidMinimumChromeVersion[];
extern const char kInvalidNaClModules[];
extern const char kInvalidNaClModulesMIMEType[];
extern const char kInvalidNaClModulesPath[];
extern const char kInvalidName[];
extern const char kInvalidOAuth2AutoApprove[];
extern const char kInvalidOAuth2ClientId[];
extern const char kInvalidOAuth2Scopes[];
extern const char kInvalidOfflineEnabled[];
extern const char kInvalidOmniboxKeyword[];
extern const char kInvalidOptionsUIChromeStyle[];
extern const char kInvalidOptionsUIOpenInTab[];
extern const char kInvalidOptionsPage[];
extern const char kInvalidOptionsPageExpectUrlInPackage[];
extern const char kInvalidOptionsPageInHostedApp[];
extern const char kInvalidPageAction[];
extern const char kInvalidPageActionDefaultTitle[];
extern const char kInvalidPageActionIconPath[];
extern const char kInvalidPageActionId[];
extern const char kInvalidPageActionName[];
extern const char kInvalidPageActionOldAndNewKeys[];
extern const char kInvalidPageActionPopup[];
extern const char kInvalidPageActionPopupHeight[];
extern const char kInvalidPageActionPopupPath[];
extern const char kInvalidPermissionWithDetail[];
extern const char kInvalidPermission[];
extern const char kInvalidPermissions[];
extern const char kInvalidPermissionScheme[];
extern const char kInvalidPlugins[];
extern const char kInvalidPluginsPath[];
extern const char kInvalidPluginsPublic[];
extern const char kInvalidRequirement[];
extern const char kInvalidRequirements[];
extern const char kInvalidRunAt[];
extern const char kInvalidSandboxedPagesList[];
extern const char kInvalidSandboxedPage[];
extern const char kInvalidSandboxedPagesCSP[];
extern const char kInvalidSearchEngineMissingKeys[];
extern const char kInvalidSearchEngineURL[];
extern const char kInvalidShortName[];
extern const char kInvalidSignature[];
extern const char kInvalidSpellcheck[];
extern const char kInvalidSpellcheckDictionaryFormat[];
extern const char kInvalidSpellcheckDictionaryLanguage[];
extern const char kInvalidSpellcheckDictionaryLocale[];
extern const char kInvalidSpellcheckDictionaryPath[];
extern const char kInvalidStartupOverrideURL[];
extern const char kInvalidSystemIndicator[];
extern const char kInvalidTheme[];
extern const char kInvalidThemeColors[];
extern const char kInvalidThemeImages[];
extern const char kInvalidThemeImagesMissing[];
extern const char kInvalidThemeTints[];
extern const char kInvalidTts[];
extern const char kInvalidTtsVoices[];
extern const char kInvalidTtsVoicesEventTypes[];
extern const char kInvalidTtsVoicesGender[];
extern const char kInvalidTtsVoicesLang[];
extern const char kInvalidTtsVoicesRemote[];
extern const char kInvalidTtsVoicesVoiceName[];
extern const char kInvalidUpdateURL[];
extern const char kInvalidURLPatternError[];
extern const char kInvalidURLHandlers[];
extern const char kInvalidURLHandlerPatternElement[];
extern const char kInvalidURLHandlerTitle[];
extern const char kInvalidURLHandlerPattern[];
extern const char kInvalidVersion[];
extern const char kInvalidVersionName[];
extern const char kInvalidWebAccessibleResourcesList[];
extern const char kInvalidWebAccessibleResource[];
extern const char kInvalidWebview[];
extern const char kInvalidWebviewAccessibleResourcesList[];
extern const char kInvalidWebviewAccessibleResource[];
extern const char kInvalidWebviewPartition[];
extern const char kInvalidWebviewPartitionName[];
extern const char kInvalidWebviewPartitionsList[];
extern const char kInvalidWebURL[];
extern const char kInvalidWebURLs[];
extern const char kInvalidZipHash[];
extern const char kInsecureContentSecurityPolicy[];
extern const char kKeyIsDeprecatedWithReplacement[];
extern const char kLauncherPagePageRequired[];
extern const char kLaunchPathAndExtentAreExclusive[];
extern const char kLaunchPathAndURLAreExclusive[];
extern const char kLaunchURLRequired[];
extern const char kLocalesInvalidLocale[];
extern const char kLocalesMessagesFileMissing[];
extern const char kLocalesNoDefaultMessages[];
extern const char kLocalesNoValidLocaleNamesListed[];
extern const char kLocalesTreeMissing[];
extern const char kManifestParseError[];
extern const char kManifestUnreadable[];
extern const char kMissingFile[];
extern const char kMultipleOverrides[];
extern const char kNoPermissionForMIMETypes[];
extern const char kNoWildCardsInPaths[];
extern const char kOneUISurfaceOnly[];
extern const char kPermissionMustBeOptional[];
extern const char kPermissionNotAllowed[];
extern const char kPermissionNotAllowedInManifest[];
extern const char kPermissionUnknownOrMalformed[];
extern const char kReservedMessageFound[];
extern const char kUnrecognizedManifestKey[];
extern const char kUnrecognizedManifestProperty[];
extern const char kWebRequestConflictsWithLazyBackground[];
#if defined(OS_CHROMEOS)
extern const char kIllegalPlugins[];
extern const char kInvalidFileSystemProviderMissingCapabilities[];
extern const char kInvalidFileSystemProviderMissingPermission[];
#endif

}  // namespace manifest_errors

}  // namespace extensions

#endif  // EXTENSIONS_COMMON_MANIFEST_CONSTANTS_H_
