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. 4 5 // This features file defines manifest keys 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. 8 9 // To add a new whitelisted ID, SHA-1 it and force it to uppercase. In Bash: 10 // 11 // $ echo -n "aaaabbbbccccddddeeeeffffgggghhhh" | \ 12 // sha1sum | tr '[:lower:]' '[:upper:]' 13 // 9A0417016F345C934A1A88F55CA17C05014EEEBA - 14 // 15 // Google employees: please update http://go/chrome-api-whitelist to map 16 // hashes back to ids. 17 18 { 19 // The default platform app CSP can only be overridden by whitelisted apps. 20 // This is a separate key from the top-level content_security_policy one since 21 // we can't combine type restrictions with whitelisted ID restrictions. If 22 // there is a need for additional whitelisted entries, the feature system 23 // should instead be extended to support OR-ing of restrictions. 24 "app.content_security_policy": { 25 "channel": "stable", 26 "extension_types": ["platform_app"], 27 "min_manifest_version": 2, 28 "whitelist": [ 29 "nckgahadagoaajjgafhacjanaoiihapd", // Google Talk prod 30 "eggnbpckecmjlblplehfpjjdhhidfdoj", // Google Talk beta 31 "ppleadejekpmccmnpjdimmlfljlkdfej", // Google Talk alpha 32 "ljclpkphhpbpinifbeabbhlfddcpfdde", // Google Talk debug 33 "lphgohfeebnhcpiohjndkgbhhkoapkjc" // Apps Debugger 34 ] 35 }, 36 "app.background": { 37 "channel": "stable", 38 "extension_types": ["platform_app"], 39 "min_manifest_version": 2 40 }, 41 "background": { 42 "channel": "stable", 43 "extension_types": [ 44 // Platform apps specify their background page via app.background. 45 "extension", "legacy_packaged_app", "hosted_app" 46 ] 47 }, 48 "background.persistent": { 49 "channel": "stable", 50 "extension_types": [ 51 "extension", "legacy_packaged_app" 52 ], 53 "min_manifest_version": 2 54 }, 55 "background_page": { 56 "channel": "stable", 57 "extension_types": [ 58 "extension", "legacy_packaged_app", "hosted_app" 59 ], 60 "max_manifest_version": 1 61 }, 62 "content_security_policy": { 63 "channel": "stable", 64 // Platform apps have a restricted content security policy that cannot be 65 // overriden (except for a whitelist of exceptions, see the 66 // app.content_security_policy whitelist). 67 "extension_types": ["extension", "legacy_packaged_app"] 68 }, 69 "description": { 70 "channel": "stable", 71 "extension_types": "all" 72 }, 73 "externally_connectable": { 74 "channel": "stable", 75 "extension_types": [ 76 "extension", "hosted_app", "legacy_packaged_app", "platform_app" 77 ] 78 }, 79 "file_handlers": [ 80 { 81 "channel": "stable", 82 "extension_types": ["platform_app"] 83 }, { 84 "channel": "stable", 85 "extension_types": [ "extension"], 86 "whitelist": [ 87 "2FC374607C2DF285634B67C64A2E356C607091C3", // Quickoffice 88 "3727DD3E564B6055387425027AD74C58784ACC15", // Quickoffice internal 89 "12E618C3C6E97495AAECF2AC12DEB082353241C6" // QO component extension 90 ] 91 } 92 ], 93 "icons": { 94 "channel": "stable", 95 "extension_types": "all" 96 }, 97 "incognito": [ 98 { 99 "channel": "stable", 100 "extension_types": ["extension", "legacy_packaged_app"] 101 }, 102 { 103 "channel": "stable", 104 "extension_types": ["platform_app"], 105 "location": "component" 106 } 107 ], 108 "kiosk_enabled": { 109 "channel": "stable", 110 "extension_types": [ 111 "platform_app" 112 ] 113 }, 114 "kiosk_only": { 115 "channel": "dev", 116 "extension_types": [ 117 "platform_app" 118 ] 119 }, 120 "launcher_page": { 121 "channel": "stable", 122 "min_manifest_version": 2, 123 "extension_types": ["platform_app"], 124 "whitelist": [ 125 "07BD6A765FFC289FF755D7CAB2893A40EC337FEC", // http://crbug.com/404000 126 "896B85CC7E913E11C34892C1425A093C0701D386", // http://crbug.com/404000 127 "11A01C82EF355E674E4F9728A801F5C3CB40D83F" // http://crbug.com/404000 128 ] 129 }, 130 "manifest_version": { 131 "channel": "stable", 132 "extension_types": "all" 133 }, 134 "nacl_modules": { 135 "channel": "stable", 136 "extension_types": [ 137 "extension", "legacy_packaged_app", "hosted_app", "platform_app" 138 ] 139 }, 140 "name": { 141 "channel": "stable", 142 "extension_types": "all" 143 }, 144 "offline_enabled": { 145 "channel": "stable", 146 "extension_types": [ 147 "extension", "legacy_packaged_app", "hosted_app", "platform_app" 148 ] 149 }, 150 "options_ui": { 151 "channel": "trunk", 152 "extension_types": ["extension", "legacy_packaged_app"] 153 }, 154 "sandbox": { 155 "channel": "stable", 156 "extension_types": [ 157 "extension", "platform_app", "legacy_packaged_app" 158 ], 159 "min_manifest_version": 2 160 }, 161 "sockets": { 162 "channel": "stable", 163 "extension_types": ["platform_app"] 164 }, 165 "version": { 166 "channel": "stable", 167 "extension_types": "all" 168 }, 169 "web_accessible_resources": [ 170 { 171 "channel": "stable", 172 "extension_types": [ 173 "extension", "legacy_packaged_app", "hosted_app" 174 ] 175 }, 176 { 177 "channel": "stable", 178 "extension_types": ["platform_app"], 179 "location": "component" 180 } 181 ], 182 "webview": { 183 "channel": "stable", 184 "extension_types": ["platform_app"], 185 "min_manifest_version": 2 186 } 187 } 188