OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "extensions/common/manifest_constants.h" | 5 #include "extensions/common/manifest_constants.h" |
6 | 6 |
7 namespace extensions { | 7 namespace extensions { |
8 | 8 |
9 namespace manifest_keys { | 9 namespace manifest_keys { |
10 | 10 |
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
144 const char kType[] = "type"; | 144 const char kType[] = "type"; |
145 const char kUpdateURL[] = "update_url"; | 145 const char kUpdateURL[] = "update_url"; |
146 const char kUrlHandlers[] = "url_handlers"; | 146 const char kUrlHandlers[] = "url_handlers"; |
147 const char kUrlHandlerTitle[] = "title"; | 147 const char kUrlHandlerTitle[] = "title"; |
148 const char kVersion[] = "version"; | 148 const char kVersion[] = "version"; |
149 const char kWebAccessibleResources[] = "web_accessible_resources"; | 149 const char kWebAccessibleResources[] = "web_accessible_resources"; |
150 const char kWebURLs[] = "app.urls"; | 150 const char kWebURLs[] = "app.urls"; |
151 | 151 |
152 } // namespace manifest_keys | 152 } // namespace manifest_keys |
153 | 153 |
| 154 namespace manifest_values { |
| 155 |
| 156 const char kBrowserActionCommandEvent[] = "_execute_browser_action"; |
| 157 const char kIncognitoSplit[] = "split"; |
| 158 const char kIncognitoSpanning[] = "spanning"; |
| 159 const char kIntentDispositionWindow[] = "window"; |
| 160 const char kIntentDispositionInline[] = "inline"; |
| 161 const char kIsolatedStorage[] = "storage"; |
| 162 const char kKeybindingPlatformChromeOs[] = "chromeos"; |
| 163 const char kKeybindingPlatformDefault[] = "default"; |
| 164 const char kKeybindingPlatformLinux[] = "linux"; |
| 165 const char kKeybindingPlatformMac[] = "mac"; |
| 166 const char kKeybindingPlatformWin[] = "windows"; |
| 167 const char kKeyAlt[] = "Alt"; |
| 168 const char kKeyComma[] = "Comma"; |
| 169 const char kKeyCommand[] = "Command"; |
| 170 const char kKeyCtrl[] = "Ctrl"; |
| 171 const char kKeyDel[] = "Delete"; |
| 172 const char kKeyDown[] = "Down"; |
| 173 const char kKeyEnd[] = "End"; |
| 174 const char kKeyHome[] = "Home"; |
| 175 const char kKeyIns[] = "Insert"; |
| 176 const char kKeyLeft[] = "Left"; |
| 177 const char kKeyMacCtrl[] = "MacCtrl"; |
| 178 const char kKeyMediaNextTrack[] = "MediaNextTrack"; |
| 179 const char kKeyMediaPlayPause[] = "MediaPlayPause"; |
| 180 const char kKeyMediaPrevTrack[] = "MediaPrevTrack"; |
| 181 const char kKeyMediaStop[] = "MediaStop"; |
| 182 const char kKeyPgDwn[] = "PageDown"; |
| 183 const char kKeyPgUp[] = "PageUp"; |
| 184 const char kKeyPeriod[] = "Period"; |
| 185 const char kKeyRight[] = "Right"; |
| 186 const char kKeySeparator[] = "+"; |
| 187 const char kKeyShift[] = "Shift"; |
| 188 const char kKeyTab[] = "Tab"; |
| 189 const char kKeyUp[] = "Up"; |
| 190 const char kRunAtDocumentStart[] = "document_start"; |
| 191 const char kRunAtDocumentEnd[] = "document_end"; |
| 192 const char kRunAtDocumentIdle[] = "document_idle"; |
| 193 const char kPageActionCommandEvent[] = "_execute_page_action"; |
| 194 const char kPageActionTypeTab[] = "tab"; |
| 195 const char kPageActionTypePermanent[] = "permanent"; |
| 196 const char kScriptBadgeCommandEvent[] = "_execute_script_badge"; |
| 197 const char kLaunchContainerPanel[] = "panel"; |
| 198 const char kLaunchContainerTab[] = "tab"; |
| 199 const char kLaunchContainerWindow[] = "window"; |
| 200 |
| 201 } // namespace manifest_values |
| 202 |
| 203 // Extension-related error messages. Some of these are simple patterns, where a |
| 204 // '*' is replaced at runtime with a specific value. This is used instead of |
| 205 // printf because we want to unit test them and scanf is hard to make |
| 206 // cross-platform. |
154 namespace manifest_errors { | 207 namespace manifest_errors { |
155 | 208 |
| 209 const char kAppsNotEnabled[] = |
| 210 "Apps are not enabled."; |
| 211 const char kBackgroundPermissionNeeded[] = |
| 212 "Hosted apps that use 'background_page' must have the 'background' " |
| 213 "permission."; |
| 214 const char kBackgroundRequiredForPlatformApps[] = |
| 215 "Packaged apps must have a background page or background scripts."; |
| 216 const char kCannotAccessChromeUrl[] = "Cannot access a chrome:// URL"; |
| 217 const char kCannotAccessExtensionUrl[] = |
| 218 "Cannot access a chrome-extension:// URL of different extension"; |
| 219 const char kCannotAccessPage[] = |
| 220 "Cannot access contents of url \"*\". " |
| 221 "Extension manifest must request permission to access this host."; |
| 222 const char kCannotChangeExtensionID[] = |
| 223 "Installed extensions cannot change their IDs."; |
| 224 const char kCannotClaimAllHostsInExtent[] = |
| 225 "Cannot claim all hosts ('*') in an extent."; |
| 226 const char kCannotClaimAllURLsInExtent[] = |
| 227 "Cannot claim all URLs in an extent."; |
| 228 const char kCannotScriptGallery[] = |
| 229 "The extensions gallery cannot be scripted."; |
| 230 const char kCannotScriptSigninPage[] = |
| 231 "The sign-in page cannot be scripted."; |
| 232 const char kChromeVersionTooLow[] = |
| 233 "This extension requires * version * or greater."; |
| 234 const char kDisabledByPolicy[] = |
| 235 "This extension has been disabled by your administrator."; |
| 236 const char kExpectString[] = "Expect string value."; |
| 237 const char kExperimentalFlagRequired[] = |
| 238 "Loading extensions with 'experimental' permission is turned off by " |
| 239 "default. You can enable 'Experimental Extension APIs' " |
| 240 "by visiting chrome://flags."; |
| 241 const char kInvalidAllFrames[] = |
| 242 "Invalid value for 'content_scripts[*].all_frames'."; |
| 243 const char kInvalidBackground[] = |
| 244 "Invalid value for 'background_page'."; |
| 245 const char kInvalidBackgroundAllowJsAccess[] = |
| 246 "Invalid value for 'background.allow_js_access'."; |
| 247 const char kInvalidBackgroundCombination[] = |
| 248 "The background.page and background.scripts properties cannot be used at " |
| 249 "the same time."; |
| 250 const char kInvalidBackgroundScript[] = |
| 251 "Invalid value for 'background.scripts[*]'."; |
| 252 const char kInvalidBackgroundScripts[] = |
| 253 "Invalid value for 'background.scripts'."; |
| 254 const char kInvalidBackgroundInHostedApp[] = |
| 255 "Invalid value for 'background_page'. Hosted apps must specify an " |
| 256 "absolute HTTPS URL for the background page."; |
| 257 const char kInvalidBackgroundPersistent[] = |
| 258 "Invalid value for 'background.persistent'."; |
| 259 const char kInvalidBackgroundPersistentNoPage[] = |
| 260 "Must specify one of background.page or background.scripts to use" |
| 261 " background.persistent."; |
| 262 const char kInvalidBrowserAction[] = |
| 263 "Invalid value for 'browser_action'."; |
| 264 const char kInvalidChromeURLOverrides[] = |
| 265 "Invalid value for 'chrome_url_overrides'."; |
| 266 const char kInvalidCommandsKey[] = |
| 267 "Invalid value for 'commands'."; |
| 268 const char kInvalidContentPack[] = |
| 269 "Invalid value for 'content_pack'."; |
| 270 const char kInvalidContentPackSites[] = |
| 271 "Invalid value for Content Pack sites - files must be strings."; |
| 272 const char kInvalidContentScript[] = |
| 273 "Invalid value for 'content_scripts[*]'."; |
| 274 const char kInvalidContentSecurityPolicy[] = |
| 275 "Invalid value for 'content_security_policy'."; |
| 276 const char kInvalidContentScriptsList[] = |
| 277 "Invalid value for 'content_scripts'."; |
| 278 const char kInvalidCss[] = |
| 279 "Invalid value for 'content_scripts[*].css[*]'."; |
| 280 const char kInvalidCssList[] = |
| 281 "Required value 'content_scripts[*].css' is invalid."; |
| 282 const char kInvalidDefaultLocale[] = |
| 283 "Invalid value for default locale - locale name must be a string."; |
| 284 const char kInvalidDescription[] = |
| 285 "Invalid value for 'description'."; |
| 286 const char kInvalidDevToolsPage[] = |
| 287 "Invalid value for 'devtools_page'."; |
| 288 const char kInvalidDisplayInLauncher[] = |
| 289 "Invalid value for 'display_in_launcher'."; |
| 290 const char kInvalidDisplayInNewTabPage[] = |
| 291 "Invalid value for 'display_in_new_tab_page'."; |
| 292 const char kInvalidExcludeMatch[] = |
| 293 "Invalid value for 'content_scripts[*].exclude_matches[*]': *"; |
| 294 const char kInvalidExcludeMatches[] = |
| 295 "Invalid value for 'content_scripts[*].exclude_matches'."; |
| 296 const char kInvalidExport[] = |
| 297 "Invalid value for 'export'."; |
| 298 const char kInvalidExportPermissions[] = |
| 299 "Permissions are not allowed for extensions that export resources."; |
| 300 const char kInvalidExportResources[] = |
| 301 "Invalid value for 'export.resources'."; |
| 302 const char kInvalidExportResourcesString[] = |
| 303 "Invalid value for 'export.resources[*]'."; |
| 304 const char kInvalidFileAccessList[] = |
| 305 "Invalid value for 'file_access'."; |
| 306 const char kInvalidFileAccessValue[] = |
| 307 "Invalid value for 'file_access[*]'."; |
| 308 const char kInvalidFileBrowserHandler[] = |
| 309 "Invalid value for 'file_browser_handlers'."; |
| 310 const char kInvalidMediaGalleriesHandler[] = |
| 311 "Invalid value for 'media_galleries_handlers'."; |
| 312 const char kInvalidFileFiltersList[] = |
| 313 "Invalid value for 'file_filters'."; |
| 314 const char kInvalidFileFilterValue[] = |
| 315 "Invalid value for 'file_filters[*]'."; |
| 316 const char kInvalidFileHandlers[] = |
| 317 "Invalid value for 'file_handlers'."; |
| 318 const char kInvalidFileHandlerExtension[] = |
| 319 "Invalid value for 'file_handlers[*].extensions'."; |
| 320 const char kInvalidFileHandlerExtensionElement[] = |
| 321 "Invalid value for 'file_handlers[*].extensions[*]'."; |
| 322 const char kInvalidFileHandlerNoTypeOrExtension[] = |
| 323 "'file_handlers[*]' must contain a non-empty 'types' or 'extensions'."; |
| 324 const char kInvalidFileHandlerTitle[] = |
| 325 "Invalid value for 'file_handlers[*].title'."; |
| 326 const char kInvalidFileHandlerType[] = |
| 327 "Invalid value for 'file_handlers[*].types'."; |
| 328 const char kInvalidFileHandlerTypeElement[] = |
| 329 "Invalid value for 'file_handlers[*].types[*]'."; |
| 330 const char kInvalidGlob[] = |
| 331 "Invalid value for 'content_scripts[*].*[*]'."; |
| 332 const char kInvalidGlobList[] = |
| 333 "Invalid value for 'content_scripts[*].*'."; |
| 334 const char kInvalidHomepageURL[] = |
| 335 "Invalid value for homepage url: '[*]'."; |
| 336 const char kInvalidIconPath[] = |
| 337 "Invalid value for 'icons[\"*\"]'."; |
| 338 const char kInvalidIcons[] = |
| 339 "Invalid value for 'icons'."; |
| 340 const char kInvalidImport[] = |
| 341 "Invalid value for 'import'."; |
| 342 const char kInvalidImportAndExport[] = |
| 343 "Simultaneous 'import' and 'export' are not allowed."; |
| 344 const char kInvalidImportId[] = |
| 345 "Invalid value for 'import[*].id'."; |
| 346 const char kInvalidImportVersion[] = |
| 347 "Invalid value for 'import[*].minimum_version'."; |
| 348 const char kInvalidIncognitoBehavior[] = |
| 349 "Invalid value for 'incognito'."; |
| 350 const char kInvalidInputComponents[] = |
| 351 "Invalid value for 'input_components'"; |
| 352 const char kInvalidInputComponentDescription[] = |
| 353 "Invalid value for 'input_components[*].description"; |
| 354 const char kInvalidInputComponentLayoutName[] = |
| 355 "Invalid value for 'input_components[*].layouts[*]"; |
| 356 const char kInvalidInputComponentName[] = |
| 357 "Invalid value for 'input_components[*].name"; |
| 358 const char kInvalidInputComponentShortcutKey[] = |
| 359 "Invalid value for 'input_components[*].shortcutKey"; |
| 360 const char kInvalidInputComponentShortcutKeycode[] = |
| 361 "Invalid value for 'input_components[*].shortcutKey.keyCode"; |
| 362 const char kInvalidInputComponentType[] = |
| 363 "Invalid value for 'input_components[*].type"; |
| 364 const char kInvalidIntent[] = |
| 365 "Invalid value for intents[*]"; |
| 366 const char kInvalidIntentDisposition[] = |
| 367 "Invalid value for intents[*].disposition"; |
| 368 const char kInvalidIntentDispositionInPlatformApp[] = |
| 369 "Invalid value for intents[*].disposition. Packaged apps cannot specify " |
| 370 "a disposition"; |
| 371 const char kInvalidIntentHref[] = |
| 372 "Invalid value for intents[*].href"; |
| 373 const char kInvalidIntentHrefEmpty[] = |
| 374 "Missing value for intents[*].href"; |
| 375 const char kInvalidIntentHrefInPlatformApp[] = |
| 376 "Invalid value for intents[*].href. Packaged apps cannot specify a " |
| 377 "URL for intents"; |
| 378 const char kInvalidIntentHrefOldAndNewKey[] = |
| 379 "intents[*]: Key \"*\" is deprecated. Key \"*\" has the same meaning. " |
| 380 "You can not use both."; |
| 381 const char kInvalidIntentPageInHostedApp[] = |
| 382 "Invalid value for intents[*].href. Hosted apps must specify an " |
| 383 "absolute URL within app.urls[]."; |
| 384 const char kInvalidIntents[] = |
| 385 "Invalid value for intents"; |
| 386 const char kInvalidIntentType[] = |
| 387 "Invalid value for intents[*].type"; |
| 388 const char kInvalidIntentTypeElement[] = |
| 389 "Invalid value for intents[*].type[*]"; |
| 390 const char kInvalidIntentTitle[] = |
| 391 "Invalid value for intents[*].title"; |
| 392 const char kInvalidIsolation[] = |
| 393 "Invalid value for 'app.isolation'."; |
| 394 const char kInvalidIsolationValue[] = |
| 395 "Invalid value for 'app.isolation[*]'."; |
| 396 const char kInvalidJs[] = |
| 397 "Invalid value for 'content_scripts[*].js[*]'."; |
| 398 const char kInvalidJsList[] = |
| 399 "Required value 'content_scripts[*].js' is invalid."; |
| 400 const char kInvalidKey[] = |
| 401 "Value 'key' is missing or invalid."; |
| 402 const char kInvalidKeyBinding[] = |
| 403 "Invalid value for 'commands[*].*': *."; |
| 404 const char kInvalidKeyBindingDescription[] = |
| 405 "Invalid value for 'commands[*].description'."; |
| 406 const char kInvalidKeyBindingDictionary[] = |
| 407 "Contents of 'commands[*]' invalid."; |
| 408 const char kInvalidKeyBindingMediaKeyWithModifier[] = |
| 409 "Media key cannot have any modifier for 'commands[*].*': *."; |
| 410 const char kInvalidKeyBindingMissingPlatform[] = |
| 411 "Could not find key specification for 'command[*].*': Either specify a key " |
| 412 "for '*', or specify a default key."; |
| 413 const char kInvalidKeyBindingTooMany[] = |
| 414 "Too many shortcuts specified for 'commands': The maximum is *."; |
| 415 const char kInvalidKeyBindingUnknownPlatform[] = |
| 416 "Unknown platform for 'command[*]': *. Valid values are: 'windows', 'mac'" |
| 417 " 'chromeos', 'linux' and 'default'."; |
| 418 const char kInvalidKioskEnabled[] = |
| 419 "Invalid value for 'kiosk_enabled'."; |
| 420 const char kInvalidLaunchContainer[] = |
| 421 "Invalid value for 'app.launch.container'."; |
| 422 const char kInvalidLaunchValue[] = |
| 423 "Invalid value for '*'."; |
| 424 const char kInvalidLaunchValueContainer[] = |
| 425 "Invalid container type for '*'."; |
| 426 const char kInvalidManifest[] = |
| 427 "Manifest file is invalid."; |
| 428 const char kInvalidManifestVersion[] = |
| 429 "Invalid value for 'manifest_version'. Must be an integer greater than " |
| 430 "zero."; |
| 431 const char kInvalidManifestVersionOld[] = |
| 432 "The 'manifest_version' key must be present and set to * (without quotes). " |
| 433 "See developer.chrome.com/*/manifestVersion.html for details."; |
| 434 const char kInvalidMatch[] = |
| 435 "Invalid value for 'content_scripts[*].matches[*]': *"; |
| 436 const char kInvalidMatchCount[] = |
| 437 "Invalid value for 'content_scripts[*].matches'. There must be at least " |
| 438 "one match specified."; |
| 439 const char kInvalidMatches[] = |
| 440 "Required value 'content_scripts[*].matches' is missing or invalid."; |
| 441 const char kInvalidMIMETypes[] = |
| 442 "Invalid value for 'mime_types'"; |
| 443 const char kInvalidMimeTypesHandler[] = |
| 444 "Invalid value for 'mime_types'."; |
| 445 const char kInvalidMinimumChromeVersion[] = |
| 446 "Invalid value for 'minimum_chrome_version'."; |
| 447 const char kInvalidName[] = |
| 448 "Required value 'name' is missing or invalid."; |
| 449 const char kInvalidNaClModules[] = |
| 450 "Invalid value for 'nacl_modules'."; |
| 451 const char kInvalidNaClModulesPath[] = |
| 452 "Invalid value for 'nacl_modules[*].path'."; |
| 453 const char kInvalidNaClModulesMIMEType[] = |
| 454 "Invalid value for 'nacl_modules[*].mime_type'."; |
| 455 const char kInvalidOAuth2AutoApprove[] = |
| 456 "Invalid value for 'oauth2.auto_approve'. Value must be true or false."; |
| 457 const char kInvalidOAuth2ClientId[] = |
| 458 "Invalid value for 'oauth2.client_id'."; |
| 459 const char kInvalidOAuth2Scopes[] = |
| 460 "Invalid value for 'oauth2.scopes'."; |
| 461 const char kInvalidOfflineEnabled[] = |
| 462 "Invalid value for 'offline_enabled'."; |
| 463 const char kInvalidOmniboxKeyword[] = |
| 464 "Invalid value for 'omnibox.keyword'."; |
| 465 const char kInvalidOptionsPage[] = |
| 466 "Invalid value for 'options_page'."; |
| 467 const char kInvalidOptionsPageExpectUrlInPackage[] = |
| 468 "Invalid value for 'options_page'. Value must be a relative path."; |
| 469 const char kInvalidOptionsPageInHostedApp[] = |
| 470 "Invalid value for 'options_page'. Hosted apps must specify an " |
| 471 "absolute URL."; |
| 472 const char kInvalidOptionalPermissions[] = |
| 473 "Invalid value for 'optional_permissions'."; |
| 474 const char kInvalidPageAction[] = |
| 475 "Invalid value for 'page_action'."; |
| 476 const char kInvalidPageActionDefaultTitle[] = |
| 477 "Invalid value for 'default_title'."; |
| 478 const char kInvalidPageActionIconPath[] = |
| 479 "Invalid value for 'page_action.default_icon'."; |
| 480 const char kInvalidPageActionId[] = |
| 481 "Required value 'id' is missing or invalid."; |
| 482 const char kInvalidPageActionName[] = |
| 483 "Invalid value for 'page_action.name'."; |
| 484 const char kInvalidPageActionOldAndNewKeys[] = |
| 485 "Key \"*\" is deprecated. Key \"*\" has the same meaning. You can not " |
| 486 "use both."; |
| 487 const char kInvalidPageActionPopup[] = |
| 488 "Invalid type for page action popup."; |
| 489 const char kInvalidPageActionPopupPath[] = |
| 490 "Invalid value for page action popup path [*]."; |
| 491 const char kInvalidPageActionsList[] = |
| 492 "Invalid value for 'page_actions'."; |
| 493 const char kInvalidPageActionsListSize[] = |
| 494 "Invalid value for 'page_actions'. There can be at most one page action."; |
| 495 const char kInvalidPageActionTypeValue[] = |
| 496 "Invalid value for 'page_actions[*].type', expected 'tab' or 'permanent'."; |
| 497 const char kInvalidPermission[] = |
| 498 "Invalid value for 'permissions[*]'."; |
| 499 const char kInvalidPermissions[] = |
| 500 "Invalid value for 'permissions'."; |
| 501 const char kInvalidPermissionScheme[] = |
| 502 "Invalid scheme for 'permissions[*]'."; |
| 503 const char kInvalidPlugins[] = |
| 504 "Invalid value for 'plugins'."; |
| 505 const char kInvalidPluginsPath[] = |
| 506 "Invalid value for 'plugins[*].path'."; |
| 507 const char kInvalidPluginsPublic[] = |
| 508 "Invalid value for 'plugins[*].public'."; |
| 509 const char kInvalidRequirement[] = |
| 510 "Invalid value for requirement \"*\""; |
| 511 const char kInvalidRequirements[] = |
| 512 "Invalid value for 'requirements'"; |
| 513 const char kInvalidRunAt[] = |
| 514 "Invalid value for 'content_scripts[*].run_at'."; |
| 515 const char kInvalidSandboxedPagesList[] = |
| 516 "Invalid value for 'sandbox.pages'."; |
| 517 const char kInvalidSandboxedPage[] = |
| 518 "Invalid value for 'sandbox.pages[*]'."; |
| 519 const char kInvalidSandboxedPagesCSP[] = |
| 520 "Invalid value for 'sandbox.content_security_policy'."; |
| 521 const char kInvalidScriptBadge[] = |
| 522 "Invalid value for 'script_badge'."; |
| 523 const char kInvalidShortName[] = |
| 524 "Invalid value for 'short_name'."; |
| 525 const char kInvalidSignature[] = |
| 526 "Value 'signature' is missing or invalid."; |
| 527 const char kInvalidSpellcheck[] = |
| 528 "Invalid value for 'spellcheck'."; |
| 529 const char kInvalidSpellcheckDictionaryFormat[] = |
| 530 "Invalid value for spellcheck dictionary format."; |
| 531 const char kInvalidSpellcheckDictionaryLanguage[] = |
| 532 "Invalid value for spellcheck dictionary language."; |
| 533 const char kInvalidSpellcheckDictionaryLocale[] = |
| 534 "Invalid value for spellcheck dictionary locale."; |
| 535 const char kInvalidSpellcheckDictionaryPath[] = |
| 536 "Invalid value for spellcheck dictionary path."; |
| 537 const char kInvalidSystemIndicator[] = |
| 538 "Invalid value for 'system_indicator'."; |
| 539 const char kInvalidTheme[] = |
| 540 "Invalid value for 'theme'."; |
| 541 const char kInvalidThemeColors[] = |
| 542 "Invalid value for theme colors - colors must be integers"; |
| 543 const char kInvalidThemeImages[] = |
| 544 "Invalid value for theme images - images must be strings."; |
| 545 const char kInvalidThemeImagesMissing[] = |
| 546 "An image specified in the theme is missing."; |
| 547 const char kInvalidThemeTints[] = |
| 548 "Invalid value for theme images - tints must be decimal numbers."; |
| 549 const char kInvalidTts[] = |
| 550 "Invalid value for 'tts_engine'."; |
| 551 const char kInvalidTtsVoices[] = |
| 552 "Invalid value for 'tts_engine.voices'."; |
| 553 const char kInvalidTtsVoicesEventTypes[] = |
| 554 "Invalid value for 'tts_engine.voices[*].event_types'."; |
| 555 const char kInvalidTtsVoicesGender[] = |
| 556 "Invalid value for 'tts_engine.voices[*].gender'."; |
| 557 const char kInvalidTtsVoicesLang[] = |
| 558 "Invalid value for 'tts_engine.voices[*].lang'."; |
| 559 const char kInvalidTtsVoicesVoiceName[] = |
| 560 "Invalid value for 'tts_engine.voices[*].voice_name'."; |
| 561 const char kInvalidUpdateURL[] = |
| 562 "Invalid value for update url: '[*]'."; |
| 563 const char kInvalidURLHandlers[] = |
| 564 "Invalid value for 'url_handlers'."; |
| 565 const char kInvalidURLHandlerPatternElement[] = |
| 566 "Invalid value for 'url_handlers[*]'."; |
| 567 const char kInvalidURLHandlerTitle[] = |
| 568 "Invalid value for 'url_handlers[*].title'."; |
| 569 const char kInvalidURLHandlerPattern[] = |
| 570 "Invalid value for 'url_handlers[*].matches[*]'."; |
| 571 const char kInvalidURLPatternError[] = |
| 572 "Invalid url pattern '*'"; |
| 573 const char kInvalidVersion[] = |
| 574 "Required value 'version' is missing or invalid. It must be between 1-4 " |
| 575 "dot-separated integers each between 0 and 65536."; |
| 576 const char kInvalidWebAccessibleResourcesList[] = |
| 577 "Invalid value for 'web_accessible_resources'."; |
| 578 const char kInvalidWebAccessibleResource[] = |
| 579 "Invalid value for 'web_accessible_resources[*]'."; |
| 580 const char kInvalidWebURL[] = |
| 581 "Invalid value for 'app.urls[*]': *"; |
| 582 const char kInvalidWebURLs[] = |
| 583 "Invalid value for 'app.urls'."; |
| 584 const char kInvalidZipHash[] = |
| 585 "Required key 'zip_hash' is missing or invalid."; |
| 586 const char kInsecureContentSecurityPolicy[] = |
| 587 "Invalid value for 'content_security_policy': Both 'script-src' and" |
| 588 " 'object-src' directives must be specified (either explicitly, or" |
| 589 " implicitly via 'default-src'), and both must whitelist only secure" |
| 590 " resources. You may include any of the following sources: \"'self'\"," |
| 591 " \"'unsafe-eval'\", \"http://127.0.0.1\", \"http://localhost\", or any" |
| 592 " \"https://\" or \"chrome-extension://\" origin. For more information," |
| 593 " see http://developer.chrome.com/extensions/contentSecurityPolicy.html"; |
| 594 const char kLaunchPathAndExtentAreExclusive[] = |
| 595 "The 'app.launch.local_path' and 'app.urls' keys cannot both be set."; |
| 596 const char kLaunchPathAndURLAreExclusive[] = |
| 597 "The 'app.launch.local_path' and 'app.launch.web_url' keys cannot " |
| 598 "both be set."; |
| 599 const char kLaunchURLRequired[] = |
| 600 "Either 'app.launch.local_path' or 'app.launch.web_url' is required."; |
| 601 const char kLocalesMessagesFileMissing[] = |
| 602 "Messages file is missing for locale."; |
| 603 const char kLocalesNoDefaultLocaleSpecified[] = |
| 604 "Localization used, but default_locale wasn't specified in the manifest."; |
| 605 const char kLocalesNoDefaultMessages[] = |
| 606 "Default locale is defined but default data couldn't be loaded."; |
| 607 const char kLocalesNoValidLocaleNamesListed[] = |
| 608 "No valid locale name could be found in _locales directory."; |
| 609 const char kLocalesTreeMissing[] = |
| 610 "Default locale was specified, but _locales subtree is missing."; |
| 611 const char kManifestParseError[] = |
| 612 "Manifest is not valid JSON."; |
| 613 const char kManifestUnreadable[] = |
| 614 "Manifest file is missing or unreadable."; |
| 615 const char kMissingFile[] = |
| 616 "At least one js or css file is required for 'content_scripts[*]'."; |
| 617 const char kMultipleOverrides[] = |
| 618 "An extension cannot override more than one page."; |
| 619 const char kNoPermissionForMIMETypes[] = |
| 620 "The extension is not allowed to use mime_types key."; |
| 621 const char kNoWildCardsInPaths[] = |
| 622 "Wildcards are not allowed in extent URL pattern paths."; |
| 623 const char kOneUISurfaceOnly[] = |
| 624 "Only one of 'browser_action', 'page_action', and 'app' can be specified."; |
| 625 const char kPermissionMustBeOptional[] = |
| 626 "Permission '*' must be specified in the optional section of the manifest."; |
| 627 const char kPermissionNotAllowed[] = |
| 628 "Access to permission '*' denied."; |
| 629 const char kPermissionNotAllowedInManifest[] = |
| 630 "Permission '*' cannot be specified in the manifest."; |
156 const char kPermissionUnknownOrMalformed[] = | 631 const char kPermissionUnknownOrMalformed[] = |
157 "Permission '*' is unknown or URL pattern is malformed."; | 632 "Permission '*' is unknown or URL pattern is malformed."; |
| 633 const char kReservedMessageFound[] = |
| 634 "Reserved key * found in message catalog."; |
| 635 const char kScriptBadgeRequiresFlag[] = |
| 636 "The script_badge manifest key is turned off by default. " |
| 637 "You can enable it with the --enable-script-badges command-line flag."; |
| 638 const char kScriptBadgeIconIgnored[] = |
| 639 "default_icon specified in script_badge manifest section will not be used."; |
| 640 const char kScriptBadgeTitleIgnored[] = |
| 641 "default_title specified in script_badge manifest section will not be " |
| 642 "used."; |
158 const char kUnrecognizedManifestKey[] = "Unrecognized manifest key '*'."; | 643 const char kUnrecognizedManifestKey[] = "Unrecognized manifest key '*'."; |
| 644 const char kWebRequestConflictsWithLazyBackground[] = |
| 645 "The 'webRequest' API cannot be used with event pages."; |
| 646 #if defined(OS_CHROMEOS) |
| 647 const char kIllegalPlugins[] = |
| 648 "Extensions cannot install plugins on Chrome OS"; |
| 649 #endif |
159 | 650 |
160 } // namespace manifest_errors | 651 } // namespace manifest_errors |
161 | 652 |
162 } // namespace extensions | 653 } // namespace extensions |
OLD | NEW |