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.
24 "contexts": ["blessed_extension"],
25 "extension_types": ["platform_app"],
29 "component_extensions_auto_granted": false,
30 "contexts": ["blessed_extension"],
31 "extension_types": ["extension"],
34 "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice
35 "3727DD3E564B6055387425027AD74C58784ACC15", // Quickoffice internal
36 "12E618C3C6E97495AAECF2AC12DEB082353241C6" // QO component extension
40 "dependencies": ["permission:dns"],
41 "contexts": ["blessed_extension"]
44 "dependencies": ["permission:hid"],
45 "contexts": ["blessed_extension"]
48 "dependencies": ["permission:power"],
49 "contexts": ["blessed_extension"]
53 "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
54 "contexts": ["blessed_extension"]
56 "runtime.getManifest": {
57 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
60 // Everything except WebUI.
65 "unblessed_extension",
68 "matches": ["<all_urls>"]
71 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
74 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
76 "runtime.lastError": {
78 "extension_types": "all",
79 "matches": ["<all_urls>"]
81 "runtime.onConnect": {
82 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
84 "runtime.onMessage": {
85 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
87 "runtime.sendMessage": {
88 // Everything except WebUI.
93 "unblessed_extension",
96 "matches": ["<all_urls>"]
98 "runtime.setUninstallURL": {
102 "dependencies": ["permission:serial"],
103 "contexts": ["blessed_extension"]
106 "dependencies": ["permission:socket"],
107 "contexts": ["blessed_extension"]
110 "dependencies": ["manifest:sockets"],
111 "contexts": ["blessed_extension"]
113 "sockets.tcpServer": {
114 "dependencies": ["manifest:sockets"],
115 "contexts": ["blessed_extension"]
118 "dependencies": ["manifest:sockets"],
119 "contexts": ["blessed_extension"]
122 "dependencies": ["permission:storage"],
123 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
127 "extension_types": "all",
128 // Everything except web pages and WebUI. WebUI is declared in a separate
129 // rule to keep the "matches" property isolated.
134 "unblessed_extension"
138 "contexts": ["webui"],
140 "chrome://extensions/*",
141 "chrome://extensions-frame/*",
142 "chrome://chrome/extensions/*"
147 "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
148 "contexts": ["blessed_extension"]
152 "extension_types": ["extension"],
153 "location": "component"
156 "dependencies": ["permission:usb"],
157 "contexts": ["blessed_extension"]
161 "contexts": ["webui"]