summaryrefslogtreecommitdiffstats
path: root/chrome/common
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common')
-rw-r--r--chrome/common/extensions/extension.cc2
-rw-r--r--chrome/common/extensions/extension_constants.cc453
-rw-r--r--chrome/common/extensions/extension_constants.h294
-rw-r--r--chrome/common/extensions/extension_file_util.cc2
-rw-r--r--chrome/common/extensions/extension_file_util_unittest.cc2
-rw-r--r--chrome/common/extensions/extension_l10n_util.cc2
-rw-r--r--chrome/common/extensions/extension_l10n_util_unittest.cc2
-rw-r--r--chrome/common/extensions/extension_manifest_constants.cc458
-rw-r--r--chrome/common/extensions/extension_manifest_constants.h308
-rw-r--r--chrome/common/extensions/extension_manifests_unittest.cc2
-rw-r--r--chrome/common/extensions/extension_message_bundle.cc4
-rw-r--r--chrome/common/extensions/extension_message_bundle_unittest.cc4
-rw-r--r--chrome/common/extensions/extension_permission_set_unittest.cc2
-rw-r--r--chrome/common/extensions/extension_unittest.cc2
-rw-r--r--chrome/common/extensions/extension_unpacker.cc2
-rw-r--r--chrome/common/extensions/extension_unpacker_unittest.cc2
-rw-r--r--chrome/common/extensions/manifest.cc2
-rw-r--r--chrome/common/extensions/manifest_unittest.cc2
18 files changed, 783 insertions, 762 deletions
diff --git a/chrome/common/extensions/extension.cc b/chrome/common/extensions/extension.cc
index a6d2159..484b731 100644
--- a/chrome/common/extensions/extension.cc
+++ b/chrome/common/extensions/extension.cc
@@ -29,7 +29,7 @@
#include "chrome/common/chrome_version_info.h"
#include "chrome/common/extensions/csp_validator.h"
#include "chrome/common/extensions/extension_action.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/extension_resource.h"
#include "chrome/common/extensions/feature.h"
diff --git a/chrome/common/extensions/extension_constants.cc b/chrome/common/extensions/extension_constants.cc
index 646a3ad..27ce70c 100644
--- a/chrome/common/extensions/extension_constants.cc
+++ b/chrome/common/extensions/extension_constants.cc
@@ -3,6 +3,7 @@
// found in the LICENSE file.
#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include <vector>
@@ -10,458 +11,6 @@
#include "base/string_util.h"
#include "chrome/common/chrome_switches.h"
-namespace extension_manifest_keys {
-
-const char kAllFrames[] = "all_frames";
-const char kAltKey[] = "altKey";
-const char kApp[] = "app";
-const char kBackground[] = "background";
-const char kBackgroundAllowJsAccess[] = "background.allow_js_access";
-const char kBackgroundPage[] = "background.page";
-const char kBackgroundPageLegacy[] = "background_page";
-const char kBackgroundPersistent[] = "background.persistent";
-const char kBackgroundScripts[] = "background.scripts";
-const char kBrowserAction[] = "browser_action";
-const char kChromeURLOverrides[] = "chrome_url_overrides";
-const char kCommands[] = "commands";
-const char kContentScripts[] = "content_scripts";
-const char kContentSecurityPolicy[] = "content_security_policy";
-const char kConvertedFromUserScript[] = "converted_from_user_script";
-const char kCss[] = "css";
-const char kCtrlKey[] = "ctrlKey";
-const char kCurrentLocale[] = "current_locale";
-const char kDefaultLocale[] = "default_locale";
-const char kDescription[] = "description";
-const char kDevToolsPage[] = "devtools_page";
-const char kEventName[] = "event_name";
-const char kExcludeGlobs[] = "exclude_globs";
-const char kExcludeMatches[] = "exclude_matches";
-const char kFileFilters[] = "file_filters";
-const char kFileBrowserHandlers[] = "file_browser_handlers";
-const char kHomepageURL[] = "homepage_url";
-const char kIcons[] = "icons";
-const char kId[] = "id";
-const char kIncognito[] = "incognito";
-const char kIncludeGlobs[] = "include_globs";
-const char kInputComponents[] = "input_components";
-const char kIntentDisposition[] = "disposition";
-const char kIntentHref[] = "href";
-const char kIntentPath[] = "path";
-const char kIntents[] = "intents";
-const char kIntentTitle[] = "title";
-const char kIntentType[] = "type";
-const char kIsolation[] = "app.isolation";
-const char kJs[] = "js";
-const char kKey[] = "key";
-const char kKeycode[] = "keyCode";
-const char kLanguage[] = "language";
-const char kLaunch[] = "app.launch";
-const char kLaunchContainer[] = "app.launch.container";
-const char kLaunchHeight[] = "app.launch.height";
-const char kLaunchLocalPath[] = "app.launch.local_path";
-const char kLaunchWebURL[] = "app.launch.web_url";
-const char kLaunchMaxHeight[] = "app.launch.max_height";
-const char kLaunchMaxWidth[] = "app.launch.max_width";
-const char kLaunchMinHeight[] = "app.launch.min_height";
-const char kLaunchMinWidth[] = "app.launch.min_width";
-const char kLaunchWidth[] = "app.launch.width";
-const char kLayouts[] = "layouts";
-const char kManifestVersion[] = "manifest_version";
-const char kMatches[] = "matches";
-const char kMinimumChromeVersion[] = "minimum_chrome_version";
-const char kName[] = "name";
-const char kNaClModules[] = "nacl_modules";
-const char kNaClModulesMIMEType[] = "mime_type";
-const char kNaClModulesPath[] = "path";
-const char kOfflineEnabled[] = "offline_enabled";
-const char kOmnibox[] = "omnibox";
-const char kOmniboxKeyword[] = "omnibox.keyword";
-const char kOptionalPermissions[] = "optional_permissions";
-const char kOptionsPage[] = "options_page";
-const char kPageAction[] = "page_action";
-const char kPageActionDefaultIcon[] = "default_icon";
-const char kPageActionDefaultPopup[] = "default_popup";
-const char kPageActionDefaultTitle[] = "default_title";
-const char kPageActionIcons[] = "icons";
-const char kPageActionId[] = "id";
-const char kPageActionPopup[] = "popup";
-const char kPageActionPopupPath[] = "path";
-const char kPageActions[] = "page_actions";
-const char kPermissions[] = "permissions";
-const char kPlatformApp[] = "platform_app";
-const char kPlugins[] = "plugins";
-const char kPluginsPath[] = "path";
-const char kPluginsPublic[] = "public";
-const char kPublicKey[] = "key";
-const char kRequirements[] = "requirements";
-const char kRunAt[] = "run_at";
-const char kShiftKey[] = "shiftKey";
-const char kShortcutKey[] = "shortcutKey";
-const char kSignature[] = "signature";
-const char kTheme[] = "theme";
-const char kThemeColors[] = "colors";
-const char kThemeDisplayProperties[] = "properties";
-const char kThemeImages[] = "images";
-const char kThemeTints[] = "tints";
-const char kTtsEngine[] = "tts_engine";
-const char kTtsGenderFemale[] = "female";
-const char kTtsGenderMale[] = "male";
-const char kTtsVoices[] = "voices";
-const char kTtsVoicesEventTypeEnd[] = "end";
-const char kTtsVoicesEventTypeError[] = "error";
-const char kTtsVoicesEventTypeMarker[] = "marker";
-const char kTtsVoicesEventTypeSentence[] = "sentence";
-const char kTtsVoicesEventTypeStart[] = "start";
-const char kTtsVoicesEventTypeWord[] = "word";
-const char kTtsVoicesEventTypes[] = "event_types";
-const char kTtsVoicesGender[] = "gender";
-const char kTtsVoicesLang[] = "lang";
-const char kTtsVoicesVoiceName[] = "voice_name";
-const char kType[] = "type";
-const char kUpdateURL[] = "update_url";
-const char kVersion[] = "version";
-const char kWebAccessibleResources[] = "web_accessible_resources";
-const char kWebURLs[] = "app.urls";
-} // namespace extension_manifest_keys
-
-namespace extension_manifest_values {
-const char kBrowserActionKeybindingEvent[] = "browserAction";
-const char kIncognitoSplit[] = "split";
-const char kIncognitoSpanning[] = "spanning";
-const char kIntentDispositionWindow[] = "window";
-const char kIntentDispositionInline[] = "inline";
-const char kIsolatedStorage[] = "storage";
-const char kRunAtDocumentStart[] = "document_start";
-const char kRunAtDocumentEnd[] = "document_end";
-const char kRunAtDocumentIdle[] = "document_idle";
-const char kPageActionKeybindingEvent[] = "pageAction";
-const char kPageActionTypeTab[] = "tab";
-const char kPageActionTypePermanent[] = "permanent";
-const char kLaunchContainerPanel[] = "panel";
-const char kLaunchContainerShell[] = "shell";
-const char kLaunchContainerTab[] = "tab";
-const char kLaunchContainerWindow[] = "window";
-} // namespace extension_manifest_values
-
-// Extension-related error messages. Some of these are simple patterns, where a
-// '*' is replaced at runtime with a specific value. This is used instead of
-// printf because we want to unit test them and scanf is hard to make
-// cross-platform.
-namespace extension_manifest_errors {
-const char kAppsNotEnabled[] =
- "Apps are not enabled.";
-const char kBackgroundPermissionNeeded[] =
- "Hosted apps that use 'background_page' must have the 'background' "
- "permission.";
-const char kCannotAccessPage[] =
- "Cannot access contents of url \"*\". "
- "Extension manifest must request permission to access this host.";
-const char kCannotChangeExtensionID[] =
- "Installed extensions cannot change their IDs.";
-const char kCannotClaimAllHostsInExtent[] =
- "Cannot claim all hosts ('*') in an extent.";
-const char kCannotClaimAllURLsInExtent[] =
- "Cannot claim all URLs in an extent.";
-const char kCannotScriptGallery[] =
- "The extensions gallery cannot be scripted.";
-const char kCannotUninstallManagedExtension[] =
- "Attempted uninstallation of an extension that is not user-manageable.";
-const char kChromeVersionTooLow[] =
- "This extension requires * version * or greater.";
-const char kDisabledByPolicy[] =
- "This extension has been disabled by your administrator.";
-const char kExpectString[] = "Expect string value.";
-const char kExperimentalFlagRequired[] =
- "Loading extensions with 'experimental' permission is turned off by "
- "default. You can enable 'Experimental Extension APIs' "
- "by visiting chrome://flags.";
-const char kFeatureNotAllowed[] =
- "Feature '*' is not accessible. *";
-const char kInvalidAllFrames[] =
- "Invalid value for 'content_scripts[*].all_frames'.";
-const char kInvalidBackground[] =
- "Invalid value for 'background_page'.";
-const char kInvalidBackgroundAllowJsAccess[] =
- "Invalid value for 'background.allow_js_access'.";
-const char kInvalidBackgroundAllowJsAccessNoPage[] =
- "Must specify one of background.page or background.scripts to use"
- " background.allow_js_access.";
-const char kInvalidBackgroundCombination[] =
- "The background.page and background.scripts properties cannot be used at "
- "the same time.";
-const char kInvalidBackgroundScript[] =
- "Invalid value for 'background.scripts[*]'.";
-const char kInvalidBackgroundScripts[] =
- "Invalid value for 'background.scripts'.";
-const char kInvalidBackgroundInHostedApp[] =
- "Invalid value for 'background_page'. Hosted apps must specify an "
- "absolute HTTPS URL for the background page.";
-const char kInvalidBackgroundPersistent[] =
- "Invalid value for 'background.persistent'.";
-const char kInvalidBackgroundPersistentNoPage[] =
- "Must specify one of background.page or background.scripts to use"
- " background.persistent.";
-const char kInvalidBrowserAction[] =
- "Invalid value for 'browser_action'.";
-const char kInvalidChromeURLOverrides[] =
- "Invalid value for 'chrome_url_overrides'.";
-const char kInvalidCommandsKey[] =
- "Invalid value for 'commands'.";
-const char kInvalidContentScript[] =
- "Invalid value for 'content_scripts[*]'.";
-const char kInvalidContentSecurityPolicy[] =
- "Invalid value for 'content_security_policy'.";
-const char kInvalidContentScriptsList[] =
- "Invalid value for 'content_scripts'.";
-const char kInvalidCss[] =
- "Invalid value for 'content_scripts[*].css[*]'.";
-const char kInvalidCssList[] =
- "Required value 'content_scripts[*].css' is invalid.";
-const char kInvalidDefaultLocale[] =
- "Invalid value for default locale - locale name must be a string.";
-const char kInvalidDescription[] =
- "Invalid value for 'description'.";
-const char kInvalidDevToolsPage[] =
- "Invalid value for 'devtools_page'.";
-const char kInvalidExcludeMatch[] =
- "Invalid value for 'content_scripts[*].exclude_matches[*]': *";
-const char kInvalidExcludeMatches[] =
- "Invalid value for 'content_scripts[*].exclude_matches'.";
-const char kInvalidFileBrowserHandler[] =
- "Invalid value for 'file_browser_handers'.";
-const char kInvalidFileFiltersList[] =
- "Invalid value for 'file_filters'.";
-const char kInvalidFileFilterValue[] =
- "Invalid value for 'file_filters[*]'.";
-const char kInvalidGlob[] =
- "Invalid value for 'content_scripts[*].*[*]'.";
-const char kInvalidGlobList[] =
- "Invalid value for 'content_scripts[*].*'.";
-const char kInvalidHomepageURL[] =
- "Invalid value for homepage url: '[*]'.";
-const char kInvalidIconPath[] =
- "Invalid value for 'icons[\"*\"]'.";
-const char kInvalidIcons[] =
- "Invalid value for 'icons'.";
-const char kInvalidIncognitoBehavior[] =
- "Invalid value for 'incognito'.";
-const char kInvalidInputComponents[] =
- "Invalid value for 'input_components'";
-const char kInvalidInputComponentDescription[] =
- "Invalid value for 'input_components[*].description";
-const char kInvalidInputComponentLayoutName[] =
- "Invalid value for 'input_components[*].layouts[*]";
-const char kInvalidInputComponentLayouts[] =
- "Invalid value for 'input_components[*].layouts";
-const char kInvalidInputComponentName[] =
- "Invalid value for 'input_components[*].name";
-const char kInvalidInputComponentShortcutKey[] =
- "Invalid value for 'input_components[*].shortcutKey";
-const char kInvalidInputComponentShortcutKeycode[] =
- "Invalid value for 'input_components[*].shortcutKey.keyCode";
-const char kInvalidInputComponentType[] =
- "Invalid value for 'input_components[*].type";
-const char kInvalidIntent[] =
- "Invalid value for intents[*]";
-const char kInvalidIntentDisposition[] =
- "Invalid value for intents[*].disposition";
-const char kInvalidIntentHref[] =
- "Invalid value for intents[*].href";
-const char kInvalidIntentHrefEmpty[] =
- "Missing value for intents[*].href";
-const char kInvalidIntentHrefOldAndNewKey[] =
- "intents[*]: Key \"*\" is deprecated. Key \"*\" has the same meaning. "
- "You can not use both.";
-const char kInvalidIntentPageInHostedApp[] =
- "Invalid value for intents[*].href. Hosted apps must specify an "
- "absolute URL within app.urls[].";
-const char kInvalidIntents[] =
- "Invalid value for intents";
-const char kInvalidIntentType[] =
- "Invalid value for intents[*].type";
-const char kInvalidIntentTypeElement[] =
- "Invalid value for intents[*].type[*]";
-const char kInvalidIntentTitle[] =
- "Invalid value for intents[*].title";
-const char kInvalidIsolation[] =
- "Invalid value for 'app.isolation'.";
-const char kInvalidIsolationValue[] =
- "Invalid value for 'app.isolation[*]'.";
-const char kInvalidJs[] =
- "Invalid value for 'content_scripts[*].js[*]'.";
-const char kInvalidJsList[] =
- "Required value 'content_scripts[*].js' is invalid.";
-const char kInvalidKey[] =
- "Value 'key' is missing or invalid.";
-const char kInvalidKeyBinding[] =
- "Invalid value for 'commands[*].key':";
-const char kInvalidKeyBindingDescription[] =
- "Invalid value for 'commands[*].description'.";
-const char kInvalidKeyBindingDictionary[] =
- "Contents of 'commands[*]' invalid.";
-const char kInvalidLaunchContainer[] =
- "Invalid value for 'app.launch.container'.";
-const char kInvalidLaunchContainerForNonPlatform[] =
- "'app.launch.container' = 'shell' can only be used with platform_app.";
-const char kInvalidLaunchContainerForPlatform[] =
- "platform_app requires 'app.launch.container' == 'shell'.";
-const char kInvalidLaunchValue[] =
- "Invalid value for '*'.";
-const char kInvalidLaunchValueContainer[] =
- "Invalid container type for '*'.";
-const char kInvalidManifest[] =
- "Manifest file is invalid.";
-const char kInvalidManifestVersion[] =
- "The 'manifest_version' key must be present and set to 2 (without quotes).";
-const char kInvalidMatch[] =
- "Invalid value for 'content_scripts[*].matches[*]': *";
-const char kInvalidMatchCount[] =
- "Invalid value for 'content_scripts[*].matches'. There must be at least "
- "one match specified.";
-const char kInvalidMatches[] =
- "Required value 'content_scripts[*].matches' is missing or invalid.";
-const char kInvalidMinimumChromeVersion[] =
- "Invalid value for 'minimum_chrome_version'.";
-const char kInvalidName[] =
- "Required value 'name' is missing or invalid.";
-const char kInvalidNaClModules[] =
- "Invalid value for 'nacl_modules'.";
-const char kInvalidNaClModulesPath[] =
- "Invalid value for 'nacl_modules[*].path'.";
-const char kInvalidNaClModulesMIMEType[] =
- "Invalid value for 'nacl_modules[*].mime_type'.";
-const char kInvalidOfflineEnabled[] =
- "Invalid value for 'offline_enabled'.";
-const char kInvalidOmniboxKeyword[] =
- "Invalid value for 'omnibox.keyword'.";
-const char kInvalidOptionsPage[] =
- "Invalid value for 'options_page'.";
-const char kInvalidOptionsPageExpectUrlInPackage[] =
- "Invalid value for 'options_page'. Value must be a relative path.";
-const char kInvalidOptionsPageInHostedApp[] =
- "Invalid value for 'options_page'. Hosted apps must specify an "
- "absolute URL.";
-const char kInvalidPageAction[] =
- "Invalid value for 'page_action'.";
-const char kInvalidPageActionDefaultTitle[] =
- "Invalid value for 'default_title'.";
-const char kInvalidPageActionIconPath[] =
- "Invalid value for 'page_action.default_icon'.";
-const char kInvalidPageActionId[] =
- "Required value 'id' is missing or invalid.";
-const char kInvalidPageActionName[] =
- "Invalid value for 'page_action.name'.";
-const char kInvalidPageActionOldAndNewKeys[] =
- "Key \"*\" is deprecated. Key \"*\" has the same meaning. You can not "
- "use both.";
-const char kInvalidPageActionPopup[] =
- "Invalid type for page action popup.";
-const char kInvalidPageActionPopupPath[] =
- "Invalid value for page action popup path [*].";
-const char kInvalidPageActionsList[] =
- "Invalid value for 'page_actions'.";
-const char kInvalidPageActionsListSize[] =
- "Invalid value for 'page_actions'. There can be at most one page action.";
-const char kInvalidPageActionTypeValue[] =
- "Invalid value for 'page_actions[*].type', expected 'tab' or 'permanent'.";
-const char kInvalidPermission[] =
- "Invalid value for 'permissions[*]'.";
-const char kInvalidPermissions[] =
- "Required value 'permissions' is missing or invalid.";
-const char kInvalidPermissionScheme[] =
- "Invalid scheme for 'permissions[*]'.";
-const char kInvalidPlugins[] =
- "Invalid value for 'plugins'.";
-const char kInvalidPluginsPath[] =
- "Invalid value for 'plugins[*].path'.";
-const char kInvalidPluginsPublic[] =
- "Invalid value for 'plugins[*].public'.";
-const char kInvalidRequirement[] =
- "Invalid value for requirement \"*\"";
-const char kInvalidRequirements[] =
- "Invalid value for 'requirements'";
-const char kInvalidRunAt[] =
- "Invalid value for 'content_scripts[*].run_at'.";
-const char kInvalidSignature[] =
- "Value 'signature' is missing or invalid.";
-const char kInvalidTheme[] =
- "Invalid value for 'theme'.";
-const char kInvalidThemeColors[] =
- "Invalid value for theme colors - colors must be integers";
-const char kInvalidThemeImages[] =
- "Invalid value for theme images - images must be strings.";
-const char kInvalidThemeImagesMissing[] =
- "An image specified in the theme is missing.";
-const char kInvalidThemeTints[] =
- "Invalid value for theme images - tints must be decimal numbers.";
-const char kInvalidTts[] =
- "Invalid value for 'tts_engine'.";
-const char kInvalidTtsVoices[] =
- "Invalid value for 'tts_engine.voices'.";
-const char kInvalidTtsVoicesEventTypes[] =
- "Invalid value for 'tts_engine.voices[*].event_types'.";
-const char kInvalidTtsVoicesGender[] =
- "Invalid value for 'tts_engine.voices[*].gender'.";
-const char kInvalidTtsVoicesLang[] =
- "Invalid value for 'tts_engine.voices[*].lang'.";
-const char kInvalidTtsVoicesVoiceName[] =
- "Invalid value for 'tts_engine.voices[*].voice_name'.";
-const char kInvalidUpdateURL[] =
- "Invalid value for update url: '[*]'.";
-const char kInvalidURLPatternError[] =
- "Invalid url pattern '*'";
-const char kInvalidVersion[] =
- "Required value 'version' is missing or invalid. It must be between 1-4 "
- "dot-separated integers each between 0 and 65536.";
-const char kInvalidWebAccessibleResourcesList[] =
- "Invalid value for 'web_accessible_resources'.";
-const char kInvalidWebAccessibleResource[] =
- "Invalid value for 'web_accessible_resources[*]'.";
-const char kInvalidWebURL[] =
- "Invalid value for 'app.urls[*]': *";
-const char kInvalidWebURLs[] =
- "Invalid value for 'app.urls'.";
-const char kInvalidZipHash[] =
- "Required key 'zip_hash' is missing or invalid.";
-const char kLaunchPathAndExtentAreExclusive[] =
- "The 'app.launch.local_path' and 'app.urls' keys cannot both be set.";
-const char kLaunchPathAndURLAreExclusive[] =
- "The 'app.launch.local_path' and 'app.launch.web_url' keys cannot "
- "both be set.";
-const char kLaunchURLRequired[] =
- "Either 'app.launch.local_path' or 'app.launch.web_url' is required.";
-const char kLocalesMessagesFileMissing[] =
- "Messages file is missing for locale.";
-const char kLocalesNoDefaultLocaleSpecified[] =
- "Localization used, but default_locale wasn't specified in the manifest.";
-const char kLocalesNoDefaultMessages[] =
- "Default locale is defined but default data couldn't be loaded.";
-const char kLocalesNoValidLocaleNamesListed[] =
- "No valid locale name could be found in _locales directory.";
-const char kLocalesTreeMissing[] =
- "Default locale was specified, but _locales subtree is missing.";
-const char kManifestParseError[] =
- "Manifest is not valid JSON.";
-const char kManifestUnreadable[] =
- "Manifest file is missing or unreadable.";
-const char kMissingFile[] =
- "At least one js or css file is required for 'content_scripts[*]'.";
-const char kMultipleOverrides[] =
- "An extension cannot override more than one page.";
-const char kNoWildCardsInPaths[] =
- "Wildcards are not allowed in extent URL pattern paths.";
-const char kOneUISurfaceOnly[] =
- "Only one of 'browser_action', 'page_action', and 'app' can be specified.";
-const char kPermissionNotAllowed[] =
- "Access to permission '*' denied.";
-const char kReservedMessageFound[] =
- "Reserved key * found in message catalog.";
-#if defined(OS_CHROMEOS)
-const char kIllegalPlugins[] =
- "Extensions cannot install plugins on Chrome OS";
-#endif
-} // namespace extension_manifest_errors
-
namespace extension_urls {
std::string GetWebstoreLaunchURL() {
std::string gallery_prefix = kGalleryBrowsePrefix;
diff --git a/chrome/common/extensions/extension_constants.h b/chrome/common/extensions/extension_constants.h
index e694472..1ac204b 100644
--- a/chrome/common/extensions/extension_constants.h
+++ b/chrome/common/extensions/extension_constants.h
@@ -11,300 +11,6 @@
#include "base/basictypes.h"
#include "googleurl/src/gurl.h"
-// Keys used in JSON representation of extensions.
-namespace extension_manifest_keys {
- extern const char kAllFrames[];
- extern const char kAltKey[];
- extern const char kApp[];
- extern const char kBackground[];
- extern const char kBackgroundAllowJsAccess[];
- extern const char kBackgroundPage[];
- extern const char kBackgroundPageLegacy[];
- extern const char kBackgroundPersistent[];
- extern const char kBackgroundScripts[];
- extern const char kBrowserAction[];
- extern const char kBrowseURLs[];
- extern const char kChromeURLOverrides[];
- extern const char kCommands[];
- 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 kEventName[];
- extern const char kExcludeGlobs[];
- extern const char kExcludeMatches[];
- extern const char kFileFilters[];
- extern const char kFileBrowserHandlers[];
- extern const char kHomepageURL[];
- extern const char kIcons[];
- extern const char kId[];
- extern const char kIncognito[];
- extern const char kIncludeGlobs[];
- extern const char kInputComponents[];
- extern const char kIntentDisposition[];
- extern const char kIntentHref[];
- extern const char kIntentPath[];
- extern const char kIntents[];
- extern const char kIntentTitle[];
- extern const char kIntentType[];
- extern const char kIsolation[];
- extern const char kJs[];
- extern const char kKey[];
- extern const char kKeycode[];
- extern const char kLanguage[];
- extern const char kLaunch[];
- extern const char kLaunchContainer[];
- extern const char kLaunchHeight[];
- extern const char kLaunchLocalPath[];
- extern const char kLaunchMaxHeight[];
- extern const char kLaunchMaxWidth[];
- extern const char kLaunchMinHeight[];
- extern const char kLaunchMinWidth[];
- extern const char kLaunchWebURL[];
- extern const char kLaunchWidth[];
- extern const char kLayouts[];
- extern const char kManifestVersion[];
- extern const char kMatches[];
- extern const char kMinimumChromeVersion[];
- extern const char kNaClModules[];
- extern const char kNaClModulesMIMEType[];
- extern const char kNaClModulesPath[];
- extern const char kName[];
- extern const char kOfflineEnabled[];
- extern const char kOmnibox[];
- extern const char kOmniboxKeyword[];
- extern const char kOptionalPermissions[];
- extern const char kOptionsPage[];
- 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 kPageActions[];
- extern const char kPermissions[];
- extern const char kPlatformApp[];
- extern const char kPlugins[];
- extern const char kPluginsPath[];
- extern const char kPluginsPublic[];
- extern const char kPublicKey[];
- extern const char kRequirements[];
- extern const char kRunAt[];
- extern const char kShiftKey[];
- extern const char kShortcutKey[];
- extern const char kSignature[];
- 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 kTtsVoicesVoiceName[];
- extern const char kType[];
- extern const char kUpdateURL[];
- extern const char kVersion[];
- extern const char kWebAccessibleResources[];
- extern const char kWebURLs[];
-} // namespace extension_manifest_keys
-
-// Some values expected in manifests.
-namespace extension_manifest_values {
- extern const char kBrowserActionKeybindingEvent[];
- extern const char kIncognitoSplit[];
- extern const char kIncognitoSpanning[];
- extern const char kIntentDispositionWindow[];
- extern const char kIntentDispositionInline[];
- extern const char kIsolatedStorage[];
- extern const char kLaunchContainerPanel[];
- extern const char kLaunchContainerShell[];
- extern const char kLaunchContainerTab[];
- extern const char kLaunchContainerWindow[];
- extern const char kPageActionKeybindingEvent[];
- extern const char kPageActionTypePermanent[];
- extern const char kPageActionTypeTab[];
- extern const char kRunAtDocumentEnd[];
- extern const char kRunAtDocumentIdle[];
- extern const char kRunAtDocumentStart[];
-} // namespace extension_manifest_values
-
-// Error messages returned from Extension::InitFromValue().
-namespace extension_manifest_errors {
- extern const char kAppsNotEnabled[];
- extern const char kBackgroundPermissionNeeded[];
- extern const char kCannotAccessPage[];
- extern const char kCannotChangeExtensionID[];
- extern const char kCannotClaimAllHostsInExtent[];
- extern const char kCannotClaimAllURLsInExtent[];
- extern const char kCannotScriptGallery[];
- extern const char kCannotUninstallManagedExtension[];
- extern const char kChromeVersionTooLow[];
- extern const char kDevToolsExperimental[];
- extern const char kDisabledByPolicy[];
- extern const char kExperimentalFlagRequired[];
- extern const char kExpectString[];
- extern const char kFeatureNotAllowed[];
- extern const char kInvalidAllFrames[];
- extern const char kInvalidBackground[];
- extern const char kInvalidBackgroundAllowJsAccess[];
- extern const char kInvalidBackgroundAllowJsAccessNoPage[];
- extern const char kInvalidBackgroundCombination[];
- extern const char kInvalidBackgroundScript[];
- extern const char kInvalidBackgroundScripts[];
- extern const char kInvalidBackgroundInHostedApp[];
- extern const char kInvalidBackgroundPersistent[];
- 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 kInvalidContentScript[];
- extern const char kInvalidContentScriptsList[];
- extern const char kInvalidContentSecurityPolicy[];
- extern const char kInvalidCss[];
- extern const char kInvalidCssList[];
- extern const char kInvalidDefaultLocale[];
- extern const char kInvalidDescription[];
- extern const char kInvalidDevToolsPage[];
- extern const char kInvalidExcludeMatch[];
- extern const char kInvalidExcludeMatches[];
- extern const char kInvalidFileBrowserHandler[];
- extern const char kInvalidFileFiltersList[];
- extern const char kInvalidFileFilterValue[];
- extern const char kInvalidGlob[];
- extern const char kInvalidGlobList[];
- extern const char kInvalidHomepageURL[];
- extern const char kInvalidIconPath[];
- extern const char kInvalidIcons[];
- extern const char kInvalidIncognitoBehavior[];
- extern const char kInvalidInputComponents[];
- extern const char kInvalidInputComponentDescription[];
- extern const char kInvalidInputComponentLayoutName[];
- extern const char kInvalidInputComponentLayouts[];
- extern const char kInvalidInputComponentName[];
- extern const char kInvalidInputComponentShortcutKey[];
- extern const char kInvalidInputComponentShortcutKeycode[];
- extern const char kInvalidInputComponentType[];
- extern const char kInvalidIntent[];
- extern const char kInvalidIntentDisposition[];
- extern const char kInvalidIntentHref[];
- extern const char kInvalidIntentHrefEmpty[];
- extern const char kInvalidIntentHrefOldAndNewKey[];
- extern const char kInvalidIntentPageInHostedApp[];
- extern const char kInvalidIntents[];
- extern const char kInvalidIntentType[];
- extern const char kInvalidIntentTypeElement[];
- extern const char kInvalidIntentTitle[];
- 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 kInvalidLaunchContainer[];
- extern const char kInvalidLaunchContainerForNonPlatform[];
- extern const char kInvalidLaunchContainerForPlatform[];
- extern const char kInvalidLaunchValue[];
- extern const char kInvalidLaunchValueContainer[];
- extern const char kInvalidManifest[];
- extern const char kInvalidManifestVersion[];
- extern const char kInvalidMatch[];
- extern const char kInvalidMatchCount[];
- extern const char kInvalidMatches[];
- extern const char kInvalidMinimumChromeVersion[];
- extern const char kInvalidNaClModules[];
- extern const char kInvalidNaClModulesMIMEType[];
- extern const char kInvalidNaClModulesPath[];
- extern const char kInvalidName[];
- extern const char kInvalidOfflineEnabled[];
- extern const char kInvalidOmniboxKeyword[];
- 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 kInvalidPageActionsList[];
- extern const char kInvalidPageActionsListSize[];
- extern const char kInvalidPageActionTypeValue[];
- 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 kInvalidSignature[];
- 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 kInvalidTtsVoicesVoiceName[];
- extern const char kInvalidUpdateURL[];
- extern const char kInvalidURLPatternError[];
- extern const char kInvalidVersion[];
- extern const char kInvalidWebAccessibleResourcesList[];
- extern const char kInvalidWebAccessibleResource[];
- extern const char kInvalidWebURL[];
- extern const char kInvalidWebURLs[];
- extern const char kInvalidZipHash[];
- extern const char kLaunchPathAndExtentAreExclusive[];
- extern const char kLaunchPathAndURLAreExclusive[];
- extern const char kLaunchURLRequired[];
- extern const char kLocalesMessagesFileMissing[];
- extern const char kLocalesNoDefaultLocaleSpecified[];
- 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 kNoWildCardsInPaths[];
- extern const char kPermissionNotAllowed[];
- extern const char kOneUISurfaceOnly[];
- extern const char kReservedMessageFound[];
- extern const char kWebContentMustBeEnabled[];
-#if defined(OS_CHROMEOS)
- extern const char kIllegalPlugins[];
-#endif
-} // namespace extension_manifest_errors
-
namespace extension_urls {
// Returns the URL prefix for the extension/apps gallery. Can be set via the
// --apps-gallery-url switch. The URL returned will not contain a trailing
diff --git a/chrome/common/extensions/extension_file_util.cc b/chrome/common/extensions/extension_file_util.cc
index 18818e1..a7a5cc9 100644
--- a/chrome/common/extensions/extension_file_util.cc
+++ b/chrome/common/extensions/extension_file_util.cc
@@ -19,7 +19,7 @@
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_action.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_l10n_util.h"
#include "chrome/common/extensions/extension_message_bundle.h"
#include "chrome/common/extensions/extension_messages.h"
diff --git a/chrome/common/extensions/extension_file_util_unittest.cc b/chrome/common/extensions/extension_file_util_unittest.cc
index 7dc8fd1..e2d1066 100644
--- a/chrome/common/extensions/extension_file_util_unittest.cc
+++ b/chrome/common/extensions/extension_file_util_unittest.cc
@@ -12,7 +12,7 @@
#include "base/utf_string_conversions.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "grit/generated_resources.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/base/l10n/l10n_util.h"
diff --git a/chrome/common/extensions/extension_l10n_util.cc b/chrome/common/extensions/extension_l10n_util.cc
index 21c63b9..117ac74 100644
--- a/chrome/common/extensions/extension_l10n_util.cc
+++ b/chrome/common/extensions/extension_l10n_util.cc
@@ -16,7 +16,7 @@
#include "base/stringprintf.h"
#include "base/values.h"
#include "chrome/common/extensions/extension.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_file_util.h"
#include "chrome/common/extensions/extension_message_bundle.h"
#include "chrome/common/url_constants.h"
diff --git a/chrome/common/extensions/extension_l10n_util_unittest.cc b/chrome/common/extensions/extension_l10n_util_unittest.cc
index 9d01266..99b67de 100644
--- a/chrome/common/extensions/extension_l10n_util_unittest.cc
+++ b/chrome/common/extensions/extension_l10n_util_unittest.cc
@@ -11,7 +11,7 @@
#include "base/values.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_l10n_util.h"
#include "chrome/common/extensions/extension_message_bundle.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/chrome/common/extensions/extension_manifest_constants.cc b/chrome/common/extensions/extension_manifest_constants.cc
new file mode 100644
index 0000000..24691f7
--- /dev/null
+++ b/chrome/common/extensions/extension_manifest_constants.cc
@@ -0,0 +1,458 @@
+// Copyright (c) 2012 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.
+
+#include "chrome/common/extensions/extension_manifest_constants.h"
+
+namespace extension_manifest_keys {
+
+const char kAllFrames[] = "all_frames";
+const char kAltKey[] = "altKey";
+const char kApp[] = "app";
+const char kBackground[] = "background";
+const char kBackgroundAllowJsAccess[] = "background.allow_js_access";
+const char kBackgroundPage[] = "background.page";
+const char kBackgroundPageLegacy[] = "background_page";
+const char kBackgroundPersistent[] = "background.persistent";
+const char kBackgroundScripts[] = "background.scripts";
+const char kBrowserAction[] = "browser_action";
+const char kChromeURLOverrides[] = "chrome_url_overrides";
+const char kCommands[] = "commands";
+const char kContentScripts[] = "content_scripts";
+const char kContentSecurityPolicy[] = "content_security_policy";
+const char kConvertedFromUserScript[] = "converted_from_user_script";
+const char kCss[] = "css";
+const char kCtrlKey[] = "ctrlKey";
+const char kCurrentLocale[] = "current_locale";
+const char kDefaultLocale[] = "default_locale";
+const char kDescription[] = "description";
+const char kDevToolsPage[] = "devtools_page";
+const char kEventName[] = "event_name";
+const char kExcludeGlobs[] = "exclude_globs";
+const char kExcludeMatches[] = "exclude_matches";
+const char kFileFilters[] = "file_filters";
+const char kFileBrowserHandlers[] = "file_browser_handlers";
+const char kHomepageURL[] = "homepage_url";
+const char kIcons[] = "icons";
+const char kId[] = "id";
+const char kIncognito[] = "incognito";
+const char kIncludeGlobs[] = "include_globs";
+const char kInputComponents[] = "input_components";
+const char kIntentDisposition[] = "disposition";
+const char kIntentHref[] = "href";
+const char kIntentPath[] = "path";
+const char kIntents[] = "intents";
+const char kIntentTitle[] = "title";
+const char kIntentType[] = "type";
+const char kIsolation[] = "app.isolation";
+const char kJs[] = "js";
+const char kKey[] = "key";
+const char kKeycode[] = "keyCode";
+const char kLanguage[] = "language";
+const char kLaunch[] = "app.launch";
+const char kLaunchContainer[] = "app.launch.container";
+const char kLaunchHeight[] = "app.launch.height";
+const char kLaunchLocalPath[] = "app.launch.local_path";
+const char kLaunchWebURL[] = "app.launch.web_url";
+const char kLaunchMaxHeight[] = "app.launch.max_height";
+const char kLaunchMaxWidth[] = "app.launch.max_width";
+const char kLaunchMinHeight[] = "app.launch.min_height";
+const char kLaunchMinWidth[] = "app.launch.min_width";
+const char kLaunchWidth[] = "app.launch.width";
+const char kLayouts[] = "layouts";
+const char kManifestVersion[] = "manifest_version";
+const char kMatches[] = "matches";
+const char kMinimumChromeVersion[] = "minimum_chrome_version";
+const char kName[] = "name";
+const char kNaClModules[] = "nacl_modules";
+const char kNaClModulesMIMEType[] = "mime_type";
+const char kNaClModulesPath[] = "path";
+const char kOfflineEnabled[] = "offline_enabled";
+const char kOmnibox[] = "omnibox";
+const char kOmniboxKeyword[] = "omnibox.keyword";
+const char kOptionalPermissions[] = "optional_permissions";
+const char kOptionsPage[] = "options_page";
+const char kPageAction[] = "page_action";
+const char kPageActionDefaultIcon[] = "default_icon";
+const char kPageActionDefaultPopup[] = "default_popup";
+const char kPageActionDefaultTitle[] = "default_title";
+const char kPageActionIcons[] = "icons";
+const char kPageActionId[] = "id";
+const char kPageActionPopup[] = "popup";
+const char kPageActionPopupPath[] = "path";
+const char kPageActions[] = "page_actions";
+const char kPermissions[] = "permissions";
+const char kPlatformApp[] = "platform_app";
+const char kPlugins[] = "plugins";
+const char kPluginsPath[] = "path";
+const char kPluginsPublic[] = "public";
+const char kPublicKey[] = "key";
+const char kRequirements[] = "requirements";
+const char kRunAt[] = "run_at";
+const char kShiftKey[] = "shiftKey";
+const char kShortcutKey[] = "shortcutKey";
+const char kSignature[] = "signature";
+const char kTheme[] = "theme";
+const char kThemeColors[] = "colors";
+const char kThemeDisplayProperties[] = "properties";
+const char kThemeImages[] = "images";
+const char kThemeTints[] = "tints";
+const char kTtsEngine[] = "tts_engine";
+const char kTtsGenderFemale[] = "female";
+const char kTtsGenderMale[] = "male";
+const char kTtsVoices[] = "voices";
+const char kTtsVoicesEventTypeEnd[] = "end";
+const char kTtsVoicesEventTypeError[] = "error";
+const char kTtsVoicesEventTypeMarker[] = "marker";
+const char kTtsVoicesEventTypeSentence[] = "sentence";
+const char kTtsVoicesEventTypeStart[] = "start";
+const char kTtsVoicesEventTypeWord[] = "word";
+const char kTtsVoicesEventTypes[] = "event_types";
+const char kTtsVoicesGender[] = "gender";
+const char kTtsVoicesLang[] = "lang";
+const char kTtsVoicesVoiceName[] = "voice_name";
+const char kType[] = "type";
+const char kUpdateURL[] = "update_url";
+const char kVersion[] = "version";
+const char kWebAccessibleResources[] = "web_accessible_resources";
+const char kWebURLs[] = "app.urls";
+} // namespace extension_manifest_keys
+
+namespace extension_manifest_values {
+const char kBrowserActionKeybindingEvent[] = "browserAction";
+const char kIncognitoSplit[] = "split";
+const char kIncognitoSpanning[] = "spanning";
+const char kIntentDispositionWindow[] = "window";
+const char kIntentDispositionInline[] = "inline";
+const char kIsolatedStorage[] = "storage";
+const char kRunAtDocumentStart[] = "document_start";
+const char kRunAtDocumentEnd[] = "document_end";
+const char kRunAtDocumentIdle[] = "document_idle";
+const char kPageActionKeybindingEvent[] = "pageAction";
+const char kPageActionTypeTab[] = "tab";
+const char kPageActionTypePermanent[] = "permanent";
+const char kLaunchContainerPanel[] = "panel";
+const char kLaunchContainerShell[] = "shell";
+const char kLaunchContainerTab[] = "tab";
+const char kLaunchContainerWindow[] = "window";
+} // namespace extension_manifest_values
+
+// Extension-related error messages. Some of these are simple patterns, where a
+// '*' is replaced at runtime with a specific value. This is used instead of
+// printf because we want to unit test them and scanf is hard to make
+// cross-platform.
+namespace extension_manifest_errors {
+const char kAppsNotEnabled[] =
+ "Apps are not enabled.";
+const char kBackgroundPermissionNeeded[] =
+ "Hosted apps that use 'background_page' must have the 'background' "
+ "permission.";
+const char kCannotAccessPage[] =
+ "Cannot access contents of url \"*\". "
+ "Extension manifest must request permission to access this host.";
+const char kCannotChangeExtensionID[] =
+ "Installed extensions cannot change their IDs.";
+const char kCannotClaimAllHostsInExtent[] =
+ "Cannot claim all hosts ('*') in an extent.";
+const char kCannotClaimAllURLsInExtent[] =
+ "Cannot claim all URLs in an extent.";
+const char kCannotScriptGallery[] =
+ "The extensions gallery cannot be scripted.";
+const char kCannotUninstallManagedExtension[] =
+ "Attempted uninstallation of an extension that is not user-manageable.";
+const char kChromeVersionTooLow[] =
+ "This extension requires * version * or greater.";
+const char kDisabledByPolicy[] =
+ "This extension has been disabled by your administrator.";
+const char kExpectString[] = "Expect string value.";
+const char kExperimentalFlagRequired[] =
+ "Loading extensions with 'experimental' permission is turned off by "
+ "default. You can enable 'Experimental Extension APIs' "
+ "by visiting chrome://flags.";
+const char kFeatureNotAllowed[] =
+ "Feature '*' is not accessible. *";
+const char kInvalidAllFrames[] =
+ "Invalid value for 'content_scripts[*].all_frames'.";
+const char kInvalidBackground[] =
+ "Invalid value for 'background_page'.";
+const char kInvalidBackgroundAllowJsAccess[] =
+ "Invalid value for 'background.allow_js_access'.";
+const char kInvalidBackgroundAllowJsAccessNoPage[] =
+ "Must specify one of background.page or background.scripts to use"
+ " background.allow_js_access.";
+const char kInvalidBackgroundCombination[] =
+ "The background.page and background.scripts properties cannot be used at "
+ "the same time.";
+const char kInvalidBackgroundScript[] =
+ "Invalid value for 'background.scripts[*]'.";
+const char kInvalidBackgroundScripts[] =
+ "Invalid value for 'background.scripts'.";
+const char kInvalidBackgroundInHostedApp[] =
+ "Invalid value for 'background_page'. Hosted apps must specify an "
+ "absolute HTTPS URL for the background page.";
+const char kInvalidBackgroundPersistent[] =
+ "Invalid value for 'background.persistent'.";
+const char kInvalidBackgroundPersistentNoPage[] =
+ "Must specify one of background.page or background.scripts to use"
+ " background.persistent.";
+const char kInvalidBrowserAction[] =
+ "Invalid value for 'browser_action'.";
+const char kInvalidChromeURLOverrides[] =
+ "Invalid value for 'chrome_url_overrides'.";
+const char kInvalidCommandsKey[] =
+ "Invalid value for 'commands'.";
+const char kInvalidContentScript[] =
+ "Invalid value for 'content_scripts[*]'.";
+const char kInvalidContentSecurityPolicy[] =
+ "Invalid value for 'content_security_policy'.";
+const char kInvalidContentScriptsList[] =
+ "Invalid value for 'content_scripts'.";
+const char kInvalidCss[] =
+ "Invalid value for 'content_scripts[*].css[*]'.";
+const char kInvalidCssList[] =
+ "Required value 'content_scripts[*].css' is invalid.";
+const char kInvalidDefaultLocale[] =
+ "Invalid value for default locale - locale name must be a string.";
+const char kInvalidDescription[] =
+ "Invalid value for 'description'.";
+const char kInvalidDevToolsPage[] =
+ "Invalid value for 'devtools_page'.";
+const char kInvalidExcludeMatch[] =
+ "Invalid value for 'content_scripts[*].exclude_matches[*]': *";
+const char kInvalidExcludeMatches[] =
+ "Invalid value for 'content_scripts[*].exclude_matches'.";
+const char kInvalidFileBrowserHandler[] =
+ "Invalid value for 'file_browser_handers'.";
+const char kInvalidFileFiltersList[] =
+ "Invalid value for 'file_filters'.";
+const char kInvalidFileFilterValue[] =
+ "Invalid value for 'file_filters[*]'.";
+const char kInvalidGlob[] =
+ "Invalid value for 'content_scripts[*].*[*]'.";
+const char kInvalidGlobList[] =
+ "Invalid value for 'content_scripts[*].*'.";
+const char kInvalidHomepageURL[] =
+ "Invalid value for homepage url: '[*]'.";
+const char kInvalidIconPath[] =
+ "Invalid value for 'icons[\"*\"]'.";
+const char kInvalidIcons[] =
+ "Invalid value for 'icons'.";
+const char kInvalidIncognitoBehavior[] =
+ "Invalid value for 'incognito'.";
+const char kInvalidInputComponents[] =
+ "Invalid value for 'input_components'";
+const char kInvalidInputComponentDescription[] =
+ "Invalid value for 'input_components[*].description";
+const char kInvalidInputComponentLayoutName[] =
+ "Invalid value for 'input_components[*].layouts[*]";
+const char kInvalidInputComponentLayouts[] =
+ "Invalid value for 'input_components[*].layouts";
+const char kInvalidInputComponentName[] =
+ "Invalid value for 'input_components[*].name";
+const char kInvalidInputComponentShortcutKey[] =
+ "Invalid value for 'input_components[*].shortcutKey";
+const char kInvalidInputComponentShortcutKeycode[] =
+ "Invalid value for 'input_components[*].shortcutKey.keyCode";
+const char kInvalidInputComponentType[] =
+ "Invalid value for 'input_components[*].type";
+const char kInvalidIntent[] =
+ "Invalid value for intents[*]";
+const char kInvalidIntentDisposition[] =
+ "Invalid value for intents[*].disposition";
+const char kInvalidIntentHref[] =
+ "Invalid value for intents[*].href";
+const char kInvalidIntentHrefEmpty[] =
+ "Missing value for intents[*].href";
+const char kInvalidIntentHrefOldAndNewKey[] =
+ "intents[*]: Key \"*\" is deprecated. Key \"*\" has the same meaning. "
+ "You can not use both.";
+const char kInvalidIntentPageInHostedApp[] =
+ "Invalid value for intents[*].href. Hosted apps must specify an "
+ "absolute URL within app.urls[].";
+const char kInvalidIntents[] =
+ "Invalid value for intents";
+const char kInvalidIntentType[] =
+ "Invalid value for intents[*].type";
+const char kInvalidIntentTypeElement[] =
+ "Invalid value for intents[*].type[*]";
+const char kInvalidIntentTitle[] =
+ "Invalid value for intents[*].title";
+const char kInvalidIsolation[] =
+ "Invalid value for 'app.isolation'.";
+const char kInvalidIsolationValue[] =
+ "Invalid value for 'app.isolation[*]'.";
+const char kInvalidJs[] =
+ "Invalid value for 'content_scripts[*].js[*]'.";
+const char kInvalidJsList[] =
+ "Required value 'content_scripts[*].js' is invalid.";
+const char kInvalidKey[] =
+ "Value 'key' is missing or invalid.";
+const char kInvalidKeyBinding[] =
+ "Invalid value for 'commands[*].key':";
+const char kInvalidKeyBindingDescription[] =
+ "Invalid value for 'commands[*].description'.";
+const char kInvalidKeyBindingDictionary[] =
+ "Contents of 'commands[*]' invalid.";
+const char kInvalidLaunchContainer[] =
+ "Invalid value for 'app.launch.container'.";
+const char kInvalidLaunchContainerForNonPlatform[] =
+ "'app.launch.container' = 'shell' can only be used with platform_app.";
+const char kInvalidLaunchContainerForPlatform[] =
+ "platform_app requires 'app.launch.container' == 'shell'.";
+const char kInvalidLaunchValue[] =
+ "Invalid value for '*'.";
+const char kInvalidLaunchValueContainer[] =
+ "Invalid container type for '*'.";
+const char kInvalidManifest[] =
+ "Manifest file is invalid.";
+const char kInvalidManifestVersion[] =
+ "The 'manifest_version' key must be present and set to 2 (without quotes).";
+const char kInvalidMatch[] =
+ "Invalid value for 'content_scripts[*].matches[*]': *";
+const char kInvalidMatchCount[] =
+ "Invalid value for 'content_scripts[*].matches'. There must be at least "
+ "one match specified.";
+const char kInvalidMatches[] =
+ "Required value 'content_scripts[*].matches' is missing or invalid.";
+const char kInvalidMinimumChromeVersion[] =
+ "Invalid value for 'minimum_chrome_version'.";
+const char kInvalidName[] =
+ "Required value 'name' is missing or invalid.";
+const char kInvalidNaClModules[] =
+ "Invalid value for 'nacl_modules'.";
+const char kInvalidNaClModulesPath[] =
+ "Invalid value for 'nacl_modules[*].path'.";
+const char kInvalidNaClModulesMIMEType[] =
+ "Invalid value for 'nacl_modules[*].mime_type'.";
+const char kInvalidOfflineEnabled[] =
+ "Invalid value for 'offline_enabled'.";
+const char kInvalidOmniboxKeyword[] =
+ "Invalid value for 'omnibox.keyword'.";
+const char kInvalidOptionsPage[] =
+ "Invalid value for 'options_page'.";
+const char kInvalidOptionsPageExpectUrlInPackage[] =
+ "Invalid value for 'options_page'. Value must be a relative path.";
+const char kInvalidOptionsPageInHostedApp[] =
+ "Invalid value for 'options_page'. Hosted apps must specify an "
+ "absolute URL.";
+const char kInvalidPageAction[] =
+ "Invalid value for 'page_action'.";
+const char kInvalidPageActionDefaultTitle[] =
+ "Invalid value for 'default_title'.";
+const char kInvalidPageActionIconPath[] =
+ "Invalid value for 'page_action.default_icon'.";
+const char kInvalidPageActionId[] =
+ "Required value 'id' is missing or invalid.";
+const char kInvalidPageActionName[] =
+ "Invalid value for 'page_action.name'.";
+const char kInvalidPageActionOldAndNewKeys[] =
+ "Key \"*\" is deprecated. Key \"*\" has the same meaning. You can not "
+ "use both.";
+const char kInvalidPageActionPopup[] =
+ "Invalid type for page action popup.";
+const char kInvalidPageActionPopupPath[] =
+ "Invalid value for page action popup path [*].";
+const char kInvalidPageActionsList[] =
+ "Invalid value for 'page_actions'.";
+const char kInvalidPageActionsListSize[] =
+ "Invalid value for 'page_actions'. There can be at most one page action.";
+const char kInvalidPageActionTypeValue[] =
+ "Invalid value for 'page_actions[*].type', expected 'tab' or 'permanent'.";
+const char kInvalidPermission[] =
+ "Invalid value for 'permissions[*]'.";
+const char kInvalidPermissions[] =
+ "Required value 'permissions' is missing or invalid.";
+const char kInvalidPermissionScheme[] =
+ "Invalid scheme for 'permissions[*]'.";
+const char kInvalidPlugins[] =
+ "Invalid value for 'plugins'.";
+const char kInvalidPluginsPath[] =
+ "Invalid value for 'plugins[*].path'.";
+const char kInvalidPluginsPublic[] =
+ "Invalid value for 'plugins[*].public'.";
+const char kInvalidRequirement[] =
+ "Invalid value for requirement \"*\"";
+const char kInvalidRequirements[] =
+ "Invalid value for 'requirements'";
+const char kInvalidRunAt[] =
+ "Invalid value for 'content_scripts[*].run_at'.";
+const char kInvalidSignature[] =
+ "Value 'signature' is missing or invalid.";
+const char kInvalidTheme[] =
+ "Invalid value for 'theme'.";
+const char kInvalidThemeColors[] =
+ "Invalid value for theme colors - colors must be integers";
+const char kInvalidThemeImages[] =
+ "Invalid value for theme images - images must be strings.";
+const char kInvalidThemeImagesMissing[] =
+ "An image specified in the theme is missing.";
+const char kInvalidThemeTints[] =
+ "Invalid value for theme images - tints must be decimal numbers.";
+const char kInvalidTts[] =
+ "Invalid value for 'tts_engine'.";
+const char kInvalidTtsVoices[] =
+ "Invalid value for 'tts_engine.voices'.";
+const char kInvalidTtsVoicesEventTypes[] =
+ "Invalid value for 'tts_engine.voices[*].event_types'.";
+const char kInvalidTtsVoicesGender[] =
+ "Invalid value for 'tts_engine.voices[*].gender'.";
+const char kInvalidTtsVoicesLang[] =
+ "Invalid value for 'tts_engine.voices[*].lang'.";
+const char kInvalidTtsVoicesVoiceName[] =
+ "Invalid value for 'tts_engine.voices[*].voice_name'.";
+const char kInvalidUpdateURL[] =
+ "Invalid value for update url: '[*]'.";
+const char kInvalidURLPatternError[] =
+ "Invalid url pattern '*'";
+const char kInvalidVersion[] =
+ "Required value 'version' is missing or invalid. It must be between 1-4 "
+ "dot-separated integers each between 0 and 65536.";
+const char kInvalidWebAccessibleResourcesList[] =
+ "Invalid value for 'web_accessible_resources'.";
+const char kInvalidWebAccessibleResource[] =
+ "Invalid value for 'web_accessible_resources[*]'.";
+const char kInvalidWebURL[] =
+ "Invalid value for 'app.urls[*]': *";
+const char kInvalidWebURLs[] =
+ "Invalid value for 'app.urls'.";
+const char kInvalidZipHash[] =
+ "Required key 'zip_hash' is missing or invalid.";
+const char kLaunchPathAndExtentAreExclusive[] =
+ "The 'app.launch.local_path' and 'app.urls' keys cannot both be set.";
+const char kLaunchPathAndURLAreExclusive[] =
+ "The 'app.launch.local_path' and 'app.launch.web_url' keys cannot "
+ "both be set.";
+const char kLaunchURLRequired[] =
+ "Either 'app.launch.local_path' or 'app.launch.web_url' is required.";
+const char kLocalesMessagesFileMissing[] =
+ "Messages file is missing for locale.";
+const char kLocalesNoDefaultLocaleSpecified[] =
+ "Localization used, but default_locale wasn't specified in the manifest.";
+const char kLocalesNoDefaultMessages[] =
+ "Default locale is defined but default data couldn't be loaded.";
+const char kLocalesNoValidLocaleNamesListed[] =
+ "No valid locale name could be found in _locales directory.";
+const char kLocalesTreeMissing[] =
+ "Default locale was specified, but _locales subtree is missing.";
+const char kManifestParseError[] =
+ "Manifest is not valid JSON.";
+const char kManifestUnreadable[] =
+ "Manifest file is missing or unreadable.";
+const char kMissingFile[] =
+ "At least one js or css file is required for 'content_scripts[*]'.";
+const char kMultipleOverrides[] =
+ "An extension cannot override more than one page.";
+const char kNoWildCardsInPaths[] =
+ "Wildcards are not allowed in extent URL pattern paths.";
+const char kOneUISurfaceOnly[] =
+ "Only one of 'browser_action', 'page_action', and 'app' can be specified.";
+const char kPermissionNotAllowed[] =
+ "Access to permission '*' denied.";
+const char kReservedMessageFound[] =
+ "Reserved key * found in message catalog.";
+#if defined(OS_CHROMEOS)
+const char kIllegalPlugins[] =
+ "Extensions cannot install plugins on Chrome OS";
+#endif
+} // namespace extension_manifest_errors
+
diff --git a/chrome/common/extensions/extension_manifest_constants.h b/chrome/common/extensions/extension_manifest_constants.h
new file mode 100644
index 0000000..f68c0e9
--- /dev/null
+++ b/chrome/common/extensions/extension_manifest_constants.h
@@ -0,0 +1,308 @@
+// Copyright (c) 2012 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 CHROME_COMMON_EXTENSIONS_EXTENSION_MANIFEST_CONSTANTS_H_
+#define CHROME_COMMON_EXTENSIONS_EXTENSION_MANIFEST_CONSTANTS_H_
+#pragma once
+
+#include <string>
+
+#include "base/basictypes.h"
+#include "googleurl/src/gurl.h"
+
+// Keys used in JSON representation of extensions.
+namespace extension_manifest_keys {
+ extern const char kAllFrames[];
+ extern const char kAltKey[];
+ extern const char kApp[];
+ extern const char kBackground[];
+ extern const char kBackgroundAllowJsAccess[];
+ extern const char kBackgroundPage[];
+ extern const char kBackgroundPageLegacy[];
+ extern const char kBackgroundPersistent[];
+ extern const char kBackgroundScripts[];
+ extern const char kBrowserAction[];
+ extern const char kBrowseURLs[];
+ extern const char kChromeURLOverrides[];
+ extern const char kCommands[];
+ 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 kEventName[];
+ extern const char kExcludeGlobs[];
+ extern const char kExcludeMatches[];
+ extern const char kFileFilters[];
+ extern const char kFileBrowserHandlers[];
+ extern const char kHomepageURL[];
+ extern const char kIcons[];
+ extern const char kId[];
+ extern const char kIncognito[];
+ extern const char kIncludeGlobs[];
+ extern const char kInputComponents[];
+ extern const char kIntentDisposition[];
+ extern const char kIntentHref[];
+ extern const char kIntentPath[];
+ extern const char kIntents[];
+ extern const char kIntentTitle[];
+ extern const char kIntentType[];
+ extern const char kIsolation[];
+ extern const char kJs[];
+ extern const char kKey[];
+ extern const char kKeycode[];
+ extern const char kLanguage[];
+ extern const char kLaunch[];
+ extern const char kLaunchContainer[];
+ extern const char kLaunchHeight[];
+ extern const char kLaunchLocalPath[];
+ extern const char kLaunchMaxHeight[];
+ extern const char kLaunchMaxWidth[];
+ extern const char kLaunchMinHeight[];
+ extern const char kLaunchMinWidth[];
+ extern const char kLaunchWebURL[];
+ extern const char kLaunchWidth[];
+ extern const char kLayouts[];
+ extern const char kManifestVersion[];
+ extern const char kMatches[];
+ extern const char kMinimumChromeVersion[];
+ extern const char kNaClModules[];
+ extern const char kNaClModulesMIMEType[];
+ extern const char kNaClModulesPath[];
+ extern const char kName[];
+ extern const char kOfflineEnabled[];
+ extern const char kOmnibox[];
+ extern const char kOmniboxKeyword[];
+ extern const char kOptionalPermissions[];
+ extern const char kOptionsPage[];
+ 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 kPageActions[];
+ extern const char kPermissions[];
+ extern const char kPlatformApp[];
+ extern const char kPlugins[];
+ extern const char kPluginsPath[];
+ extern const char kPluginsPublic[];
+ extern const char kPublicKey[];
+ extern const char kRequirements[];
+ extern const char kRunAt[];
+ extern const char kShiftKey[];
+ extern const char kShortcutKey[];
+ extern const char kSignature[];
+ 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 kTtsVoicesVoiceName[];
+ extern const char kType[];
+ extern const char kUpdateURL[];
+ extern const char kVersion[];
+ extern const char kWebAccessibleResources[];
+ extern const char kWebURLs[];
+} // namespace extension_manifest_keys
+
+// Some values expected in manifests.
+namespace extension_manifest_values {
+ extern const char kBrowserActionKeybindingEvent[];
+ extern const char kIncognitoSplit[];
+ extern const char kIncognitoSpanning[];
+ extern const char kIntentDispositionWindow[];
+ extern const char kIntentDispositionInline[];
+ extern const char kIsolatedStorage[];
+ extern const char kLaunchContainerPanel[];
+ extern const char kLaunchContainerShell[];
+ extern const char kLaunchContainerTab[];
+ extern const char kLaunchContainerWindow[];
+ extern const char kPageActionKeybindingEvent[];
+ extern const char kPageActionTypePermanent[];
+ extern const char kPageActionTypeTab[];
+ extern const char kRunAtDocumentEnd[];
+ extern const char kRunAtDocumentIdle[];
+ extern const char kRunAtDocumentStart[];
+} // namespace extension_manifest_values
+
+// Error messages returned from Extension::InitFromValue().
+namespace extension_manifest_errors {
+ extern const char kAppsNotEnabled[];
+ extern const char kBackgroundPermissionNeeded[];
+ extern const char kCannotAccessPage[];
+ extern const char kCannotChangeExtensionID[];
+ extern const char kCannotClaimAllHostsInExtent[];
+ extern const char kCannotClaimAllURLsInExtent[];
+ extern const char kCannotScriptGallery[];
+ extern const char kCannotUninstallManagedExtension[];
+ extern const char kChromeVersionTooLow[];
+ extern const char kDevToolsExperimental[];
+ extern const char kDisabledByPolicy[];
+ extern const char kExperimentalFlagRequired[];
+ extern const char kExpectString[];
+ extern const char kFeatureNotAllowed[];
+ extern const char kInvalidAllFrames[];
+ extern const char kInvalidBackground[];
+ extern const char kInvalidBackgroundAllowJsAccess[];
+ extern const char kInvalidBackgroundAllowJsAccessNoPage[];
+ extern const char kInvalidBackgroundCombination[];
+ extern const char kInvalidBackgroundScript[];
+ extern const char kInvalidBackgroundScripts[];
+ extern const char kInvalidBackgroundInHostedApp[];
+ extern const char kInvalidBackgroundPersistent[];
+ 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 kInvalidContentScript[];
+ extern const char kInvalidContentScriptsList[];
+ extern const char kInvalidContentSecurityPolicy[];
+ extern const char kInvalidCss[];
+ extern const char kInvalidCssList[];
+ extern const char kInvalidDefaultLocale[];
+ extern const char kInvalidDescription[];
+ extern const char kInvalidDevToolsPage[];
+ extern const char kInvalidExcludeMatch[];
+ extern const char kInvalidExcludeMatches[];
+ extern const char kInvalidFileBrowserHandler[];
+ extern const char kInvalidFileFiltersList[];
+ extern const char kInvalidFileFilterValue[];
+ extern const char kInvalidGlob[];
+ extern const char kInvalidGlobList[];
+ extern const char kInvalidHomepageURL[];
+ extern const char kInvalidIconPath[];
+ extern const char kInvalidIcons[];
+ extern const char kInvalidIncognitoBehavior[];
+ extern const char kInvalidInputComponents[];
+ extern const char kInvalidInputComponentDescription[];
+ extern const char kInvalidInputComponentLayoutName[];
+ extern const char kInvalidInputComponentLayouts[];
+ extern const char kInvalidInputComponentName[];
+ extern const char kInvalidInputComponentShortcutKey[];
+ extern const char kInvalidInputComponentShortcutKeycode[];
+ extern const char kInvalidInputComponentType[];
+ extern const char kInvalidIntent[];
+ extern const char kInvalidIntentDisposition[];
+ extern const char kInvalidIntentHref[];
+ extern const char kInvalidIntentHrefEmpty[];
+ extern const char kInvalidIntentHrefOldAndNewKey[];
+ extern const char kInvalidIntentPageInHostedApp[];
+ extern const char kInvalidIntents[];
+ extern const char kInvalidIntentType[];
+ extern const char kInvalidIntentTypeElement[];
+ extern const char kInvalidIntentTitle[];
+ 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 kInvalidLaunchContainer[];
+ extern const char kInvalidLaunchContainerForNonPlatform[];
+ extern const char kInvalidLaunchContainerForPlatform[];
+ extern const char kInvalidLaunchValue[];
+ extern const char kInvalidLaunchValueContainer[];
+ extern const char kInvalidManifest[];
+ extern const char kInvalidManifestVersion[];
+ extern const char kInvalidMatch[];
+ extern const char kInvalidMatchCount[];
+ extern const char kInvalidMatches[];
+ extern const char kInvalidMinimumChromeVersion[];
+ extern const char kInvalidNaClModules[];
+ extern const char kInvalidNaClModulesMIMEType[];
+ extern const char kInvalidNaClModulesPath[];
+ extern const char kInvalidName[];
+ extern const char kInvalidOfflineEnabled[];
+ extern const char kInvalidOmniboxKeyword[];
+ 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 kInvalidPageActionsList[];
+ extern const char kInvalidPageActionsListSize[];
+ extern const char kInvalidPageActionTypeValue[];
+ 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 kInvalidSignature[];
+ 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 kInvalidTtsVoicesVoiceName[];
+ extern const char kInvalidUpdateURL[];
+ extern const char kInvalidURLPatternError[];
+ extern const char kInvalidVersion[];
+ extern const char kInvalidWebAccessibleResourcesList[];
+ extern const char kInvalidWebAccessibleResource[];
+ extern const char kInvalidWebURL[];
+ extern const char kInvalidWebURLs[];
+ extern const char kInvalidZipHash[];
+ extern const char kLaunchPathAndExtentAreExclusive[];
+ extern const char kLaunchPathAndURLAreExclusive[];
+ extern const char kLaunchURLRequired[];
+ extern const char kLocalesMessagesFileMissing[];
+ extern const char kLocalesNoDefaultLocaleSpecified[];
+ 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 kNoWildCardsInPaths[];
+ extern const char kPermissionNotAllowed[];
+ extern const char kOneUISurfaceOnly[];
+ extern const char kReservedMessageFound[];
+ extern const char kWebContentMustBeEnabled[];
+#if defined(OS_CHROMEOS)
+ extern const char kIllegalPlugins[];
+#endif
+} // namespace extension_manifest_errors
+
+#endif // CHROME_COMMON_EXTENSIONS_EXTENSION_MANIFEST_CONSTANTS_H_
diff --git a/chrome/common/extensions/extension_manifests_unittest.cc b/chrome/common/extensions/extension_manifests_unittest.cc
index af27485..351a770 100644
--- a/chrome/common/extensions/extension_manifests_unittest.cc
+++ b/chrome/common/extensions/extension_manifests_unittest.cc
@@ -23,7 +23,7 @@
#include "chrome/common/chrome_switches.h"
#include "chrome/common/extensions/extension.h"
#include "chrome/common/extensions/extension_action.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/extension_l10n_util.h"
#include "chrome/common/extensions/file_browser_handler.h"
diff --git a/chrome/common/extensions/extension_message_bundle.cc b/chrome/common/extensions/extension_message_bundle.cc
index 6b6f5b2..cafbd91 100644
--- a/chrome/common/extensions/extension_message_bundle.cc
+++ b/chrome/common/extensions/extension_message_bundle.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -16,7 +16,7 @@
#include "base/stringprintf.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/extension_l10n_util.h"
#include "ui/base/l10n/l10n_util.h"
diff --git a/chrome/common/extensions/extension_message_bundle_unittest.cc b/chrome/common/extensions/extension_message_bundle_unittest.cc
index 082308e6..0a92a88 100644
--- a/chrome/common/extensions/extension_message_bundle_unittest.cc
+++ b/chrome/common/extensions/extension_message_bundle_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Copyright (c) 2012 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.
@@ -13,7 +13,7 @@
#include "base/string_util.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/extension_l10n_util.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/chrome/common/extensions/extension_permission_set_unittest.cc b/chrome/common/extensions/extension_permission_set_unittest.cc
index 9908447..26e68f4 100644
--- a/chrome/common/extensions/extension_permission_set_unittest.cc
+++ b/chrome/common/extensions/extension_permission_set_unittest.cc
@@ -10,7 +10,7 @@
#include "base/utf_string_conversions.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/extension_permission_set.h"
#include "testing/gtest/include/gtest/gtest.h"
diff --git a/chrome/common/extensions/extension_unittest.cc b/chrome/common/extensions/extension_unittest.cc
index 3fb925e..5e7f5be 100644
--- a/chrome/common/extensions/extension_unittest.cc
+++ b/chrome/common/extensions/extension_unittest.cc
@@ -14,7 +14,7 @@
#include "base/utf_string_conversions.h"
#include "chrome/common/chrome_paths.h"
#include "chrome/common/extensions/extension_action.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/extension_resource.h"
#include "chrome/common/url_constants.h"
diff --git a/chrome/common/extensions/extension_unpacker.cc b/chrome/common/extensions/extension_unpacker.cc
index a5a1916..9e26808 100644
--- a/chrome/common/extensions/extension_unpacker.cc
+++ b/chrome/common/extensions/extension_unpacker.cc
@@ -15,7 +15,7 @@
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/common/extensions/extension.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_file_util.h"
#include "chrome/common/extensions/extension_l10n_util.h"
#include "chrome/common/url_constants.h"
diff --git a/chrome/common/extensions/extension_unpacker_unittest.cc b/chrome/common/extensions/extension_unpacker_unittest.cc
index a7b4e9f..a590b36 100644
--- a/chrome/common/extensions/extension_unpacker_unittest.cc
+++ b/chrome/common/extensions/extension_unpacker_unittest.cc
@@ -9,7 +9,7 @@
#include "base/utf_string_conversions.h"
#include "base/values.h"
#include "chrome/common/chrome_paths.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_unpacker.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/skia/include/core/SkBitmap.h"
diff --git a/chrome/common/extensions/manifest.cc b/chrome/common/extensions/manifest.cc
index d435ad2..2449d44 100644
--- a/chrome/common/extensions/manifest.cc
+++ b/chrome/common/extensions/manifest.cc
@@ -8,7 +8,7 @@
#include "base/lazy_instance.h"
#include "base/logging.h"
#include "base/string_split.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/simple_feature_provider.h"
diff --git a/chrome/common/extensions/manifest_unittest.cc b/chrome/common/extensions/manifest_unittest.cc
index 456bb16..f784205 100644
--- a/chrome/common/extensions/manifest_unittest.cc
+++ b/chrome/common/extensions/manifest_unittest.cc
@@ -11,7 +11,7 @@
#include "base/memory/scoped_ptr.h"
#include "base/utf_string_conversions.h"
#include "base/values.h"
-#include "chrome/common/extensions/extension_constants.h"
+#include "chrome/common/extensions/extension_manifest_constants.h"
#include "chrome/common/extensions/extension_error_utils.h"
#include "chrome/common/extensions/feature.h"
#include "testing/gtest/include/gtest/gtest.h"