1 // Copyright 2014 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.
5 // This features file defines extension APIs implemented under src/extensions.
6 // See extensions/common/features/* to understand this file, in particular
7 // feature.h, simple_feature.h, and base_feature_provider.h.
9 // Note that specifying "web_page", "blessed_web_page", or "all" as a context
10 // type will require manually updating chrome/renderer/resources/dispatcher.cc.
12 // To add a new whitelisted ID, SHA-1 it and force it to uppercase. In Bash:
14 // $ echo -n "aaaabbbbccccddddeeeeffffgggghhhh" | \
15 // sha1sum | tr '[:lower:]' '[:upper:]'
16 // 9A0417016F345C934A1A88F55CA17C05014EEEBA -
18 // Google employees: please update http://go/chrome-api-whitelist to map
19 // hashes back to ids.
23 "dependencies": ["permission:dns"],
24 "contexts": ["blessed_extension"]
28 "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
29 "contexts": ["blessed_extension"]
31 "runtime.getManifest": {
32 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
36 "matches": ["<all_urls>"]
39 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
42 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
44 "runtime.lastError": {
46 "extension_types": "all",
47 "matches": ["<all_urls>"]
49 "runtime.onConnect": {
50 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
52 "runtime.onMessage": {
53 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
56 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
58 "runtime.requestUpdateCheck": {
59 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
61 "runtime.sendMessage": {
63 "matches": ["<all_urls>"]
65 "runtime.setUninstallURL": {
67 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
70 "dependencies": ["permission:socket"],
71 "contexts": ["blessed_extension"]
74 "dependencies": ["manifest:sockets"],
75 "contexts": ["blessed_extension"]
77 "sockets.tcpServer": {
78 "dependencies": ["manifest:sockets"],
79 "contexts": ["blessed_extension"]
82 "dependencies": ["manifest:sockets"],
83 "contexts": ["blessed_extension"]
86 "dependencies": ["permission:storage"],
87 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
92 "extension_types": "all",
93 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
97 "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
98 "contexts": ["blessed_extension"]
102 "extension_types": ["extension"],
103 "location": "component"
106 "dependencies": ["permission:usb"],
107 "contexts": ["blessed_extension"]