1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // See c/c/e/features/* to understand this file, in particular feature.h, 6 // simple_feature.h, and base_feature_provider.h. 7 // 8 // Note that specifying "web_page", "blessed_web_page", or "all" as a context 9 // type will require manually updating chrome/renderer/resources/dispatcher.cc. 10 11 { 12 "activityLogPrivate": { 13 "dependencies": ["permission:activityLogPrivate"], 14 "contexts": ["blessed_extension"] 15 }, 16 "adview": { 17 "dependencies": ["permission:adview"], 18 "contexts": ["blessed_extension"] 19 }, 20 "alarms": { 21 "dependencies": ["permission:alarms"], 22 "contexts": ["blessed_extension"] 23 }, 24 "app": { 25 "channel": "stable", 26 "extension_types": ["hosted_app", "extension", "legacy_packaged_app"], 27 "contexts": [ 28 "blessed_extension", 29 "unblessed_extension", 30 "content_script", 31 "web_page", 32 "blessed_web_page" 33 ], 34 "matches": [ 35 "http://*/*", "https://*/*", "chrome-extension://*/*", "file://*/*" 36 ] 37 }, 38 "app.runtime": { 39 "noparent": true, 40 "contexts": ["blessed_extension"], 41 "dependencies": ["permission:app.runtime"] 42 }, 43 "app.window": { 44 "noparent": true, 45 "contexts": ["blessed_extension"], 46 "dependencies": ["permission:app.window"] 47 }, 48 "app.currentWindowInternal": { 49 "noparent": true, 50 "internal": true, 51 "channel": "stable", 52 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 53 }, 54 "app.getDetails": { 55 "contexts": ["blessed_extension", "unblessed_extension", "content_script"], 56 "matches": [] 57 }, 58 "app.getDetailsForFrame": { 59 "contexts": ["blessed_extension", "unblessed_extension", "content_script"], 60 "matches": [] 61 }, 62 "app.getIsInstalled": { 63 "contexts": ["blessed_extension", "unblessed_extension", "content_script"], 64 "matches": [] 65 }, 66 "app.installState": { 67 "contexts": ["blessed_extension", "unblessed_extension", "content_script"], 68 "matches": [] 69 }, 70 "app.runningState": { 71 "contexts": ["blessed_extension", "unblessed_extension", "content_script"], 72 "matches": [] 73 }, 74 "audio": { 75 "dependencies": ["permission:audio"], 76 "contexts": ["blessed_extension"] 77 }, 78 "autotestPrivate": { 79 "dependencies": ["permission:autotestPrivate"], 80 "contexts": ["blessed_extension"] 81 }, 82 "bluetooth": { 83 "dependencies": ["permission:bluetooth"], 84 "contexts": ["blessed_extension"] 85 }, 86 "bookmarkManagerPrivate": { 87 "dependencies": ["permission:bookmarkManagerPrivate"], 88 "contexts": ["blessed_extension"] 89 }, 90 "bookmarks": { 91 "dependencies": ["permission:bookmarks"], 92 "contexts": ["blessed_extension"] 93 }, 94 "bookmarks.export": { 95 "extension_types": ["extension"], 96 "location": "component" 97 }, 98 "bookmarks.import": { 99 "extension_types": ["extension"], 100 "location": "component" 101 }, 102 "brailleDisplayPrivate": { 103 "dependencies": ["permission:brailleDisplayPrivate"], 104 "contexts": ["blessed_extension"] 105 }, 106 "browserAction": { 107 "dependencies": ["manifest:browser_action"], 108 "contexts": ["blessed_extension"] 109 }, 110 // This API is whitelisted on stable and should not be enabled for a wider 111 // audience without resolving security issues raised in API proposal and 112 // review (https://codereview.chromium.org/25305002). 113 "browserAction.openPopup": [{ 114 "channel": "dev", 115 "dependencies": ["manifest:browser_action"], 116 "contexts": ["blessed_extension"] 117 }, { 118 "channel": "stable", 119 "dependencies": ["manifest:browser_action"], 120 "whitelist": [ 121 "enhhojjnijigcajfphajepfemndkmdlo", // Dev 122 "pkedcjkdefgpdelpbcmbmeomcjbeemfm", // Trusted Tester 123 "fmfcbgogabcbclcofgocippekhfcmgfj", // Staging 124 "hfaagokkkhdbgiakmmlclaapfelnkoah", // Canary 125 "F155646B5D1CA545F7E1E4E20D573DFDD44C2540", // Trusted Tester (public) 126 "16CA7A47AAE4BE49B1E75A6B960C3875E945B264" // Release 127 ], 128 "contexts": ["blessed_extension"] 129 }], 130 "browsingData": { 131 "dependencies": ["permission:browsingData"], 132 "contexts": ["blessed_extension"] 133 }, 134 "cast.channel": { 135 "dependencies": ["permission:cast"], 136 "contexts": ["blessed_extension"] 137 }, 138 "cast.streaming.rtpStream": { 139 "dependencies": ["permission:cast.streaming"], 140 "contexts": ["blessed_extension"] 141 }, 142 "cast.streaming.session": { 143 "dependencies": ["permission:cast.streaming"], 144 "contexts": ["blessed_extension"] 145 }, 146 "cast.streaming.udpTransport": { 147 "dependencies": ["permission:cast.streaming"], 148 "contexts": ["blessed_extension"] 149 }, 150 "chromeosInfoPrivate": { 151 "platforms": ["chromeos"], 152 "dependencies": ["permission:chromeosInfoPrivate"], 153 "contexts": ["blessed_extension"] 154 }, 155 "cloudPrintPrivate": { 156 "dependencies": ["permission:cloudPrintPrivate"], 157 "contexts": ["blessed_extension"] 158 }, 159 "commandLinePrivate": { 160 "dependencies": ["permission:commandLinePrivate"], 161 "contexts": ["blessed_extension"] 162 }, 163 "commands": { 164 "dependencies": ["manifest:commands"], 165 "contexts": ["blessed_extension"] 166 }, 167 "contentSettings": { 168 "dependencies": ["permission:contentSettings"], 169 "contexts": ["blessed_extension"] 170 }, 171 "contextMenus": { 172 "dependencies": ["permission:contextMenus"], 173 "contexts": ["blessed_extension"] 174 }, 175 "cookies": { 176 "dependencies": ["permission:cookies"], 177 "contexts": ["blessed_extension"] 178 }, 179 "debugger": { 180 "dependencies": ["permission:debugger"], 181 "contexts": ["blessed_extension"] 182 }, 183 "declarativeContent": { 184 "dependencies": ["permission:declarativeContent"], 185 "contexts": ["blessed_extension"] 186 }, 187 "declarativeWebRequest": { 188 "dependencies": ["permission:declarativeWebRequest"], 189 "contexts": ["blessed_extension"] 190 }, 191 "desktopCapture": { 192 "dependencies": ["permission:desktopCapture"], 193 "contexts": ["blessed_extension"] 194 }, 195 "developerPrivate": { 196 "dependencies": ["permission:developerPrivate"], 197 "contexts": ["blessed_extension"] 198 }, 199 "devtools.inspectedWindow": { 200 "dependencies": ["manifest:devtools_page"], 201 "contexts": ["blessed_extension"] 202 }, 203 "devtools.network": { 204 "dependencies": ["manifest:devtools_page"], 205 "contexts": ["blessed_extension"] 206 }, 207 "devtools.panels": { 208 "dependencies": ["manifest:devtools_page"], 209 "contexts": ["blessed_extension"] 210 }, 211 "diagnostics": { 212 "dependencies": ["permission:diagnostics"], 213 "extension_types": ["platform_app"], 214 "contexts": ["blessed_extension"] 215 }, 216 "dial": { 217 "dependencies": ["permission:dial"], 218 "contexts": ["blessed_extension"] 219 }, 220 "dns": { 221 "dependencies": ["permission:dns"], 222 "contexts": ["blessed_extension"] 223 }, 224 "downloads": { 225 "dependencies": ["permission:downloads"], 226 "contexts": ["blessed_extension"] 227 }, 228 "downloadsInternal": { 229 "internal": true, 230 "channel": "stable", 231 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 232 }, 233 "echoPrivate": { 234 "platforms": ["chromeos"], 235 "dependencies": ["permission:echoPrivate"], 236 "contexts": ["blessed_extension"] 237 }, 238 "enterprise.platformKeysPrivate": { 239 "platforms": ["chromeos"], 240 "dependencies": ["permission:enterprise.platformKeysPrivate"], 241 "contexts": ["blessed_extension"] 242 }, 243 "events": { 244 "internal": true, 245 "channel": "stable", 246 "extension_types": ["platform_app", "extension"], 247 "contexts": "all", 248 "matches": ["<all_urls>"] 249 }, 250 "experimental.accessibility": { 251 "dependencies": ["permission:experimental"], 252 "contexts": ["blessed_extension"] 253 }, 254 "experimental.devtools.audits": { 255 "dependencies": ["permission:experimental", "manifest:devtools_page"], 256 "extension_types": ["platform_app"], 257 "contexts": ["blessed_extension"] 258 }, 259 "experimental.devtools.console": { 260 "dependencies": ["permission:experimental", "manifest:devtools_page"], 261 "extension_types": ["platform_app"], 262 "contexts": ["blessed_extension"] 263 }, 264 "experimental.discovery": { 265 "dependencies": ["permission:experimental"], 266 "contexts": ["blessed_extension"] 267 }, 268 "extension": { 269 "channel": "stable", 270 "extension_types": ["extension", "legacy_packaged_app"], 271 "contexts": ["blessed_extension"] 272 }, 273 "extension.getURL": { 274 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 275 }, 276 "extension.inIncognitoContext": { 277 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 278 }, 279 "extension.lastError": { 280 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 281 }, 282 "extension.onRequest": { 283 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 284 }, 285 "extension.sendNativeMessage": { 286 "dependencies": ["permission:nativeMessaging"] 287 }, 288 "extension.sendRequest": { 289 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 290 }, 291 "feedbackPrivate": { 292 "dependencies": ["permission:feedbackPrivate"], 293 "contexts": ["blessed_extension"] 294 }, 295 "fileBrowserHandler": { 296 "platforms": ["chromeos"], 297 "dependencies": ["permission:fileBrowserHandler"], 298 "contexts": ["blessed_extension"] 299 }, 300 "fileBrowserHandlerInternal": { 301 "internal": true, 302 "platforms": ["chromeos"], 303 "channel": "stable", 304 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 305 }, 306 "screenlockPrivate": { 307 "platforms": ["chromeos"], 308 "dependencies": ["permission:screenlockPrivate"], 309 "extension_types": ["platform_app"], 310 "contexts": ["blessed_extension", "unblessed_extension"] 311 }, 312 "fileBrowserPrivate": { 313 "platforms": ["chromeos"], 314 "dependencies": ["permission:fileBrowserPrivate"], 315 "contexts": ["blessed_extension"] 316 }, 317 "fileSystem": { 318 "dependencies": ["permission:fileSystem"], 319 "contexts": ["blessed_extension"] 320 }, 321 "fileSystemProvider": { 322 "dependencies": ["permission:fileSystemProvider"], 323 "contexts": ["blessed_extension"] 324 }, 325 "firstRunPrivate": { 326 "platforms": ["chromeos"], 327 "dependencies": ["permission:firstRunPrivate"], 328 "contexts": ["blessed_extension"] 329 }, 330 "fontSettings": { 331 "dependencies": ["permission:fontSettings"], 332 "contexts": ["blessed_extension"] 333 }, 334 "gcm": { 335 "dependencies": ["permission:gcm"], 336 "contexts": ["blessed_extension"] 337 }, 338 "hangoutsPrivate": { 339 "channel": "stable", 340 "contexts": ["blessed_extension"], 341 "whitelist": [ 342 // http://crbug.com/309737 343 "nckgahadagoaajjgafhacjanaoiihapd", 344 "ljclpkphhpbpinifbeabbhlfddcpfdde", 345 "ppleadejekpmccmnpjdimmlfljlkdfej", 346 "eggnbpckecmjlblplehfpjjdhhidfdoj" 347 ] 348 }, 349 "history": { 350 "dependencies": ["permission:history"], 351 "contexts": ["blessed_extension"] 352 }, 353 "i18n": { 354 "channel": "stable", 355 "extension_types": ["extension", "legacy_packaged_app", "platform_app"], 356 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 357 }, 358 "identity": { 359 "dependencies": ["permission:identity"], 360 "contexts": ["blessed_extension"] 361 }, 362 "identityPrivate": { 363 "dependencies": ["permission:identityPrivate"], 364 "contexts": ["blessed_extension"] 365 }, 366 "idltest": { 367 "dependencies": ["permission:idltest"], 368 "contexts": ["blessed_extension"] 369 }, 370 "idle": { 371 "dependencies": ["permission:idle"], 372 "contexts": ["blessed_extension"] 373 }, 374 "infobars": { 375 "dependencies": ["permission:infobars"], 376 "contexts": ["blessed_extension"] 377 }, 378 "input.ime": { 379 "platforms": ["chromeos"], 380 "dependencies": ["permission:input"], 381 "contexts": ["blessed_extension"] 382 }, 383 "inputMethodPrivate": { 384 "platforms": ["chromeos"], 385 "dependencies": ["permission:inputMethodPrivate"], 386 "contexts": ["blessed_extension"] 387 }, 388 "location": { 389 "dependencies": ["permission:location"], 390 "contexts": ["blessed_extension"] 391 }, 392 "logPrivate": { 393 "dependencies": ["permission:logPrivate"], 394 "extension_types": ["extension", "legacy_packaged_app"], 395 "contexts": ["blessed_extension"] 396 }, 397 "management": { 398 "dependencies": ["permission:management"], 399 "contexts": ["blessed_extension"] 400 }, 401 "management.getPermissionWarningsByManifest": { 402 "dependencies": [], 403 "channel": "stable", 404 "extension_types": ["extension", "legacy_packaged_app", "platform_app"] 405 }, 406 "management.uninstallSelf": { 407 "dependencies": [], 408 "channel": "stable", 409 "extension_types": ["extension", "legacy_packaged_app", "platform_app"] 410 }, 411 // This is not a real API, only here for documentation purposes. 412 // See http://crbug.com/275944 for background. 413 "manifestTypes": { 414 "internal": true, 415 "channel": "stable", 416 "contexts": ["blessed_extension"] 417 }, 418 "mediaGalleries": { 419 "dependencies": ["permission:mediaGalleries"], 420 "contexts": ["blessed_extension"] 421 }, 422 "mediaGalleries.getMetadata": { 423 "channel": "dev", 424 "dependencies": ["permission:mediaGalleries"], 425 "contexts": ["blessed_extension"] 426 }, 427 "mediaGalleriesPrivate": { 428 "dependencies": ["permission:mediaGalleriesPrivate"], 429 "contexts": ["blessed_extension"] 430 }, 431 "mediaPlayerPrivate": { 432 "platforms": ["chromeos"], 433 "dependencies": ["permission:mediaPlayerPrivate"], 434 "contexts": ["blessed_extension"] 435 }, 436 "metricsPrivate": { 437 "dependencies": ["permission:metricsPrivate"], 438 "contexts": ["blessed_extension"] 439 }, 440 "mdns": { 441 "dependencies": ["permission:mdns"], 442 "contexts": ["blessed_extension"] 443 }, 444 "musicManagerPrivate": { 445 "dependencies": ["permission:musicManagerPrivate"], 446 "contexts": ["blessed_extension"] 447 }, 448 "networkingPrivate": { 449 "platforms": ["chromeos", "win"], 450 "dependencies": ["permission:networkingPrivate"], 451 "contexts": ["blessed_extension"] 452 }, 453 "notifications": { 454 "dependencies": ["permission:notifications"], 455 "contexts": ["blessed_extension"] 456 }, 457 "omnibox": { 458 "dependencies": ["manifest:omnibox"], 459 "contexts": ["blessed_extension"] 460 }, 461 "pageAction": { 462 "dependencies": ["manifest:page_action"], 463 "contexts": ["blessed_extension"] 464 }, 465 "pageActions": { 466 "dependencies": ["manifest:page_actions"], 467 "contexts": ["blessed_extension"] 468 }, 469 "pageCapture": { 470 "dependencies": ["permission:pageCapture"], 471 "contexts": ["blessed_extension"] 472 }, 473 "permissions": { 474 "channel": "stable", 475 "extension_types": ["extension", "legacy_packaged_app", "platform_app"], 476 "contexts": ["blessed_extension"] 477 }, 478 "power": { 479 "dependencies": ["permission:power"], 480 "contexts": ["blessed_extension"] 481 }, 482 "preferencesPrivate": { 483 "dependencies": ["permission:preferencesPrivate"], 484 "contexts": ["blessed_extension"] 485 }, 486 "principalsPrivate": { 487 "dependencies": ["permission:principalsPrivate"], 488 "contexts": ["blessed_extension"] 489 }, 490 "privacy": { 491 "dependencies": ["permission:privacy"], 492 "contexts": ["blessed_extension"] 493 }, 494 "processes": { 495 "dependencies": ["permission:processes"], 496 "contexts": ["blessed_extension"] 497 }, 498 "proxy": { 499 "dependencies": ["permission:proxy"], 500 "contexts": ["blessed_extension"] 501 }, 502 "pushMessaging": { 503 "dependencies": ["permission:pushMessaging"], 504 "contexts": ["blessed_extension"] 505 }, 506 "imageWriterPrivate": { 507 "dependencies": ["permission:imageWriterPrivate"], 508 "extension_types": ["platform_app"], 509 "contexts": ["blessed_extension"] 510 }, 511 "rtcPrivate": { 512 "dependencies": ["permission:rtcPrivate"], 513 "contexts": ["blessed_extension"] 514 }, 515 "runtime": { 516 "channel": "stable", 517 "extension_types": ["extension", "legacy_packaged_app", "platform_app"], 518 "contexts": ["blessed_extension"] 519 }, 520 "runtime.connect": { 521 "contexts": "all", 522 "matches": ["<all_urls>"] 523 }, 524 "runtime.getManifest": { 525 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 526 }, 527 "runtime.getURL": { 528 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 529 }, 530 "runtime.id": { 531 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 532 }, 533 "runtime.lastError": { 534 "contexts": "all", 535 "extension_types": "all", 536 "matches": ["<all_urls>"] 537 }, 538 "runtime.onConnect": { 539 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 540 }, 541 "runtime.onMessage": { 542 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 543 }, 544 "runtime.reload": { 545 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 546 }, 547 "runtime.requestUpdateCheck": { 548 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 549 }, 550 "runtime.sendMessage": { 551 "contexts": "all", 552 "matches": ["<all_urls>"] 553 }, 554 "runtime.setUninstallUrl": { 555 "channel": "dev", 556 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 557 }, 558 "scriptBadge": { 559 "dependencies": ["manifest:script_badge"], 560 "contexts": ["blessed_extension"] 561 }, 562 "serial": { 563 "dependencies": ["permission:serial"], 564 "contexts": ["blessed_extension"] 565 }, 566 "sessions": { 567 "dependencies": ["permission:sessions"], 568 "contexts": ["blessed_extension"] 569 }, 570 "signedInDevices": { 571 "dependencies": ["permission:signedInDevices"], 572 "contexts": ["blessed_extension"] 573 }, 574 "socket": { 575 "dependencies": ["permission:socket"], 576 "contexts": ["blessed_extension"] 577 }, 578 "sockets.tcp": { 579 "dependencies": ["manifest:sockets"], 580 "contexts": ["blessed_extension"] 581 }, 582 "sockets.tcpServer": { 583 "dependencies": ["manifest:sockets"], 584 "contexts": ["blessed_extension"] 585 }, 586 "sockets.udp": { 587 "dependencies": ["manifest:sockets"], 588 "contexts": ["blessed_extension"] 589 }, 590 "storage": { 591 "dependencies": ["permission:storage"], 592 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 593 }, 594 "streamsPrivate": { 595 "dependencies": ["permission:streamsPrivate"], 596 "contexts": ["blessed_extension"] 597 }, 598 "syncFileSystem": { 599 "dependencies": ["permission:syncFileSystem"], 600 "contexts": ["blessed_extension"] 601 }, 602 "systemIndicator": { 603 "dependencies": ["manifest:system_indicator"], 604 "contexts": ["blessed_extension"] 605 }, 606 "system.cpu": { 607 "dependencies": ["permission:system.cpu"], 608 "contexts": ["blessed_extension"] 609 }, 610 "system.display": { 611 "dependencies": ["permission:system.display"], 612 "contexts": ["blessed_extension"] 613 }, 614 "system.memory": { 615 "dependencies": ["permission:system.memory"], 616 "contexts": ["blessed_extension"] 617 }, 618 "system.network": { 619 "dependencies": ["permission:system.network"], 620 "contexts": ["blessed_extension"] 621 }, 622 "system.storage": { 623 "dependencies": ["permission:system.storage"], 624 "contexts": ["blessed_extension"] 625 }, 626 "system.storage.getAvailableCapacity": { 627 "channel": "dev" 628 }, 629 "systemPrivate": { 630 "dependencies": ["permission:systemPrivate"], 631 "contexts": ["blessed_extension"] 632 }, 633 "tabCapture": { 634 "dependencies": ["permission:tabCapture"], 635 "contexts": ["blessed_extension"] 636 }, 637 "tabs": { 638 "channel": "stable", 639 "extension_types": ["extension", "legacy_packaged_app"], 640 "contexts": ["blessed_extension"] 641 }, 642 "terminalPrivate": { 643 "platforms": ["chromeos"], 644 "dependencies": ["permission:terminalPrivate"], 645 "contexts": ["blessed_extension"] 646 }, 647 "test": { 648 "channel": "stable", 649 "extension_types": "all", 650 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 651 }, 652 "topSites": { 653 "dependencies": ["permission:topSites"], 654 "contexts": ["blessed_extension"] 655 }, 656 "tts": { 657 "dependencies": ["permission:tts"], 658 "contexts": ["blessed_extension"] 659 }, 660 "ttsEngine": { 661 "dependencies": ["permission:ttsEngine"], 662 "contexts": ["blessed_extension"] 663 }, 664 "types": { 665 "channel": "stable", 666 "extension_types": ["extension", "legacy_packaged_app", "platform_app"], 667 "contexts": ["blessed_extension"] 668 }, 669 "types.private": { 670 "channel": "dev", 671 "extension_types": ["extension"], 672 "location": "component" 673 }, 674 "usb": { 675 "dependencies": ["permission:usb"], 676 "contexts": ["blessed_extension"] 677 }, 678 "virtualKeyboardPrivate": { 679 "platforms": ["chromeos"], 680 "dependencies": ["permission:virtualKeyboardPrivate"], 681 "contexts": ["blessed_extension"] 682 }, 683 "wallpaper": { 684 "platforms": ["chromeos"], 685 "dependencies": ["permission:wallpaper"], 686 "contexts": ["blessed_extension"] 687 }, 688 "wallpaperPrivate": { 689 "platforms": ["chromeos"], 690 "dependencies": ["permission:wallpaperPrivate"], 691 "contexts": ["blessed_extension"] 692 }, 693 "webNavigation": { 694 "dependencies": ["permission:webNavigation"], 695 "contexts": ["blessed_extension"] 696 }, 697 "webRequest": { 698 "dependencies": ["permission:webRequest"], 699 "contexts": ["blessed_extension"] 700 }, 701 "webRequestInternal": { 702 "internal": true, 703 "channel": "stable", 704 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 705 }, 706 "webrtcAudioPrivate": { 707 "dependencies": ["permission:webrtcAudioPrivate"], 708 "contexts": ["blessed_extension"] 709 }, 710 "webrtcLoggingPrivate": { 711 "dependencies": ["permission:webrtcLoggingPrivate"], 712 "contexts": ["blessed_extension"] 713 }, 714 "webstore": { 715 // Hosted apps can use the webstore API from within a blessed context. 716 "channel": "stable", 717 "extension_types": ["hosted_app"], 718 "contexts": ["blessed_web_page", "web_page"], 719 // Any webpage can use the webstore API. 720 "matches": ["http://*/*", "https://*/*"] 721 }, 722 "webstorePrivate": { 723 "dependencies": ["permission:webstorePrivate"], 724 "contexts": ["blessed_extension"] 725 }, 726 "webview": { 727 "internal": true, 728 "dependencies": ["permission:webview"], 729 "contexts": ["blessed_extension", "unblessed_extension"] 730 }, 731 "webViewRequest": { 732 "dependencies": ["permission:webview"], 733 "contexts": ["blessed_extension", "unblessed_extension"] 734 }, 735 "webviewTag": { 736 "internal": true, 737 "channel": "stable", 738 "dependencies": ["permission:webview"], 739 "contexts": ["blessed_extension"] 740 }, 741 "windows": { 742 "dependencies": ["api:tabs"], 743 "contexts": ["blessed_extension"] 744 } 745 } 746