| // Copyright 2014 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // This features file defines switches used to control Extension behaviour, |
| // typically allowlist configuration. |
| // Note, the features defined here are generally ignored for the purposes of |
| // extension documentation. |
| // See chrome/common/extensions/api/_features.md to understand this file, as |
| // well as feature.h, simple_feature.h, and feature_provider.h. |
| |
| { |
| "zoom_without_bubble": { |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "allowlist": [ |
| "CBCC42ABED43A4B58FE3810E62AFFA010EB0349F" // https://crbug.com/538252 |
| ] |
| }, |
| "allow_usb_devices_permission_interface_class": { |
| "channel": "stable", |
| "extension_types": ["platform_app"], |
| "session_types": ["kiosk"] |
| }, |
| "signin_screen": [ { |
| "channel": "canary", |
| "component_extensions_auto_granted": false, |
| "platforms": ["chromeos"], |
| "location": "unpacked", |
| "allowlist": [ |
| "05D1DBD6E8B9C4690FFA7D50E6F60C5290DC662A" // crbug.com/941107 |
| ] |
| }, { |
| // Strict restrictions for stable channel. |
| // For now only allowlisted apps. |
| "channel": "stable", |
| "component_extensions_auto_granted": false, |
| "extension_types": ["platform_app"], |
| "location": "policy", |
| "platforms": ["chromeos"], |
| "allowlist": [ |
| // https://crbug.com/626342 |
| "85DA1AC24AF23CDA9F5A19858EB9C6E9E1BA57F6", // Sign-in Screen Test App |
| "EC3DE21E048B67319893889529354DFBFA96FD23", // https://crbug.com/1233881 |
| "A19608AC34215B127FF9D7C006D67F5C8ED8146D", // https://crbug.com/1233881 |
| "6B748A5C005F21B7CBCF4170C2F883E435DEB511", // CSSI Smart Card Middleware |
| // http://b/297940831 |
| "D95D50CDFE6F14769DA2D1E59DF853BFA56BFC3C" // Net iD for Chrome OS |
| ] |
| }, { |
| "channel": "stable", |
| "component_extensions_auto_granted": false, |
| "extension_types": ["login_screen_extension"], |
| "location": "policy", |
| "platforms": ["chromeos"], |
| "allowlist": [ |
| "93B7178E8C275515C38D4F43D9DF4648F0EA9B03", // Identity Card Connector |
| "EC3DE21E048B67319893889529354DFBFA96FD23", // https://crbug.com/1233881 |
| "A19608AC34215B127FF9D7C006D67F5C8ED8146D", // https://crbug.com/1233881 |
| // https://crbug.com/1194693 |
| "6B748A5C005F21B7CBCF4170C2F883E435DEB511", // CSSI Smart Card Middleware |
| "075FF17D52ED6E3C2E5EC4D99F188E7A25AF47EA", // Beta CSSI Smart Card Middleware |
| // http://b/297940831 |
| "D95D50CDFE6F14769DA2D1E59DF853BFA56BFC3C" // Net iD for Chrome OS |
| ] |
| }, { |
| // Explicitly allowlist extensions that should always be available |
| // on a sign-in screen. Mind that some of them will be closed when signin is |
| // performed. See for reference |kNonRiskyExtensionsIdsHashes| in |
| // chrome/browser/ash/profiles/profile_helper.cc. |
| "channel": "stable", |
| "component_extensions_auto_granted": false, |
| "platforms": ["chromeos"], |
| "allowlist": [ |
| // https://crbug.com/626342 |
| "E24F1786D842E91E74C27929B0B3715A4689A473", // Gnubby component extension |
| "6F9E349A0561C78A0D3F41496FE521C5151C7F71", // Gnubby app |
| "8EBDF73405D0B84CEABB8C7513C9B9FA9F1DC2CE", // Genius app (help) |
| "06BE211D5F014BAB34BC22D9DDA09C63A81D828E", // Chrome OS XKB |
| "3F50C3A83839D9C76334BCE81CDEC06174F266AF", // Virtual Keyboard |
| "2F47B526FA71F44816618C41EC55E5EE9543FDCC", // Braille Keyboard |
| "86672C8D7A04E24EFB244BF96FE518C4C4809F73", // Speech synthesis |
| "1CF709D51B2B96CF79D00447300BD3BFBE401D21", // Mobile activation |
| "40FF1103292F40C34066E023B8BE8CAE18306EAE", // Chromeos help |
| "3C654B3B6682CA194E75AD044CEDE927675DDEE8", // Easy unlock |
| "2FCBCE08B34CCA1728A85F1EFBD9A34DD2558B2E", // ChromeVox |
| "7910EAFDAF64B947E1CB31B333A9BD14CA556B6C" // Feedback extension |
| ] |
| }, |
| // Extensions that are force-installed on the login screen through policy will |
| // receive type "login_screen_extension" and have limited API capabilities. |
| // Nonetheless, we only allow specifically allowlisted extensions here. |
| { |
| "channel": "stable", |
| "component_extensions_auto_granted": false, |
| "extension_types": ["login_screen_extension"], |
| "location": "policy", |
| "platforms": ["chromeos"], |
| "allowlist": [ |
| "FA84F98B32AFC3013F5711F8711F8F38DB210AB7", // Sign-in Screen Test Extension |
| "7FE4A999359A456C4B0FB7B7AD85CEA29CA50519" // Login screen APIs test extension |
| ] |
| }, { |
| "channel": "stable", |
| "component_extensions_auto_granted": false, |
| "dependencies": ["behavior:imprivata_login_screen_extension"], |
| "extension_types": ["login_screen_extension"], |
| "location": "policy", |
| "platforms": ["chromeos"] |
| }], |
| "allow_secondary_kiosk_app_enabled_on_launch": { |
| "channel": "dev", |
| "extension_types": ["platform_app"] |
| }, |
| // Allowlist KeyPermissions for login screen extensions that cannot set the |
| // user policy (they don't have a user yet). |
| "key_permissions_in_login_screen": { |
| "channel": "stable", |
| "dependencies": ["behavior:imprivata_login_screen_extension"], |
| "extension_types": ["login_screen_extension"], |
| "location": "policy", |
| "platforms": ["chromeos"] |
| }, |
| // Imprivata extensions (login screen and in-session) use multiple different |
| // extension IDs for their individual channels (stable + beta) and as version |
| // pinning workaround (see crbug.com/1065112). To avoid having to repeat these |
| // long allowlists all over the place, we will use these three behavior |
| // features to depend upon instead (see crbug.com/1100979). |
| "imprivata_extension": [{ |
| "channel": "stable", |
| "dependencies": ["behavior:imprivata_login_screen_extension"], |
| "extension_types": ["login_screen_extension"] |
| }, { |
| "channel": "stable", |
| "dependencies": ["behavior:imprivata_in_session_extension"], |
| "extension_types": ["extension"] |
| }], |
| "imprivata_login_screen_extension": { |
| "channel": "stable", |
| "extension_types": ["login_screen_extension"], |
| "location": "policy", |
| "platforms": ["chromeos"], |
| "allowlist": [ |
| "E219EE36A3B40612FD2A8CD6937B03EF0C97D3FE", |
| "4DBFC1C52D6660DD90791976DF7FEF7B3D360509", |
| "CDA6A10BE50CE65C59B766D0CE6A27E8E0A1533F", |
| "D85454743B32D9F5ABF3E5F18DF78809F3A0ABD4", |
| "04569B963251EB28C0906099668D98EE65ECA2D8", |
| "7BF5B69C3ACA9E6ACA5C480661B8073EB9FA32A9", |
| "5F2EF8E9F7E975090278D6A0AD039860430C5684", |
| "97A4DC8AFC1FCF665C71B624A55675C297AB256C", |
| "A00EB72B456C374F1EA86C09833C7DBB6CD95CAE", |
| "51DDBADA37EF4D25AD03CB1BB6451799456FE183", |
| "DD97CAE4D8658003658140109BC119188A19A5B8", |
| "320857126E2180A5751AA384B7B7332A4964BD8C" |
| ] |
| }, |
| "imprivata_in_session_extension": { |
| "channel": "stable", |
| "extension_types": ["extension"], |
| "location": "policy", |
| "platforms": ["chromeos", "lacros"], |
| "allowlist": [ |
| "A24DE1B21A67E25FB62AC8491642038FE25DA75B", |
| "6B25164FFE2BADB5F1DBBD301CC022170267022D", |
| "4D15F9AFCF54E56F0A6E06D22DD15F133DCF0882", |
| "171F86E3D91235E5FC745282834BB3DA164F14B3", |
| "F7BDB4C21BFF955F851C6CF65167373BDEED6218", |
| "220ABCF657446B2CBEBDE2DDA09B6FC415E87FB7", |
| "B0092A67BFB22960DE49B11E9CA56035BD40BCFA", |
| "3899082721C4996840EA4DD3A7B604914FB915CF", |
| "0D0EF5C81661E90BAFD606EADD68D8BB5EDC7E9A", |
| "D53DFC9E0D738159557959ABCA61BDDC97470C87", |
| "579D5666AB7B27A2E9EA0B13FB7F70CA7D864F72", |
| "FC3BBFAD9D7E711BBBD8235E7640348A9B98EB5F" |
| ] |
| } |
| } |