OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // See c/c/e/features/* to understand this file, in particular feature.h, | 5 // See c/c/e/features/* to understand this file, in particular feature.h, |
6 // simple_feature.h, and base_feature_provider.h. | 6 // simple_feature.h, and base_feature_provider.h. |
7 | 7 |
8 { | 8 { |
9 "app": { | 9 "app": { |
10 "channel": "stable", | 10 "channel": "stable", |
11 "extension_types": ["packaged_app", "hosted_app", "platform_app"] | 11 "extension_types": ["legacy_packaged_app", "hosted_app", "platform_app"] |
12 }, | 12 }, |
13 // The default platform app CSP can only be overridden by whitelisted apps. | 13 // The default platform app CSP can only be overridden by whitelisted apps. |
14 // This is a separate key from the top-level content_security_policy one since | 14 // This is a separate key from the top-level content_security_policy one since |
15 // we can't combine type restrictions with whitelisted ID restrictions. If | 15 // we can't combine type restrictions with whitelisted ID restrictions. If |
16 // there is a need for additional whitelisted entries, the feature system | 16 // there is a need for additional whitelisted entries, the feature system |
17 // should instead be extended to support OR-ing of restrictions. | 17 // should instead be extended to support OR-ing of restrictions. |
18 "app.content_security_policy": { | 18 "app.content_security_policy": { |
19 "channel": "stable", | 19 "channel": "stable", |
20 "extension_types": ["platform_app"], | 20 "extension_types": ["platform_app"], |
21 "min_manifest_version": 2, | 21 "min_manifest_version": 2, |
22 "whitelist": [ | 22 "whitelist": [ |
23 "nckgahadagoaajjgafhacjanaoiihapd", // Google Talk prod | 23 "nckgahadagoaajjgafhacjanaoiihapd", // Google Talk prod |
24 "eggnbpckecmjlblplehfpjjdhhidfdoj", // Google Talk beta | 24 "eggnbpckecmjlblplehfpjjdhhidfdoj", // Google Talk beta |
25 "ppleadejekpmccmnpjdimmlfljlkdfej", // Google Talk alpha | 25 "ppleadejekpmccmnpjdimmlfljlkdfej", // Google Talk alpha |
26 "ljclpkphhpbpinifbeabbhlfddcpfdde", // Google Talk debug | 26 "ljclpkphhpbpinifbeabbhlfddcpfdde", // Google Talk debug |
27 "lphgohfeebnhcpiohjndkgbhhkoapkjc" // Apps Debugger | 27 "lphgohfeebnhcpiohjndkgbhhkoapkjc" // Apps Debugger |
28 ] | 28 ] |
29 }, | 29 }, |
30 "app.background": { | 30 "app.background": { |
31 "channel": "stable", | 31 "channel": "stable", |
32 "extension_types": ["platform_app"], | 32 "extension_types": ["platform_app"], |
33 "min_manifest_version": 2 | 33 "min_manifest_version": 2 |
34 }, | 34 }, |
35 "app.isolation": { | 35 "app.isolation": { |
36 "channel": "stable", | 36 "channel": "stable", |
37 // Platform apps always have isolated storage, thus they cannot specify it | 37 // Platform apps always have isolated storage, thus they cannot specify it |
38 // via the manifest. | 38 // via the manifest. |
39 "extension_types": ["packaged_app", "hosted_app"] | 39 "extension_types": ["legacy_packaged_app", "hosted_app"] |
40 }, | 40 }, |
41 "app.launch": { | 41 "app.launch": { |
42 "channel": "stable", | 42 "channel": "stable", |
43 "extension_types": ["packaged_app", "hosted_app"] | 43 "extension_types": ["legacy_packaged_app", "hosted_app"] |
44 }, | 44 }, |
45 "author": { | 45 "author": { |
46 "channel": "stable", | 46 "channel": "stable", |
47 "extension_types": "all" | 47 "extension_types": "all" |
48 }, | 48 }, |
49 "background": { | 49 "background": { |
50 "channel": "stable", | 50 "channel": "stable", |
51 "extension_types": [ | 51 "extension_types": [ |
52 // Platform apps specify their background page via app.background. | 52 // Platform apps specify their background page via app.background. |
53 "extension", "packaged_app", "hosted_app" | 53 "extension", "legacy_packaged_app", "hosted_app" |
54 ] | 54 ] |
55 }, | 55 }, |
56 "background.persistent": { | 56 "background.persistent": { |
57 "channel": "stable", | 57 "channel": "stable", |
58 "extension_types": [ | 58 "extension_types": [ |
59 "extension", "packaged_app" | 59 "extension", "legacy_packaged_app" |
60 ], | 60 ], |
61 "min_manifest_version": 2 | 61 "min_manifest_version": 2 |
62 }, | 62 }, |
63 "background_page": { | 63 "background_page": { |
64 "channel": "stable", | 64 "channel": "stable", |
65 "extension_types": [ | 65 "extension_types": [ |
66 "extension", "packaged_app", "hosted_app" | 66 "extension", "legacy_packaged_app", "hosted_app" |
67 ], | 67 ], |
68 "max_manifest_version": 1 | 68 "max_manifest_version": 1 |
69 }, | 69 }, |
70 "browser_action": { | 70 "browser_action": { |
71 "channel": "stable", | 71 "channel": "stable", |
72 "extension_types": ["extension"] | 72 "extension_types": ["extension"] |
73 }, | 73 }, |
74 "chrome_url_overrides": { | 74 "chrome_url_overrides": { |
75 "channel": "stable", | 75 "channel": "stable", |
76 "extension_types": ["extension", "packaged_app"] | 76 "extension_types": ["extension", "legacy_packaged_app"] |
77 }, | 77 }, |
78 "commands": { | 78 "commands": { |
79 "channel": "stable", | 79 "channel": "stable", |
80 "extension_types": ["extension"], | 80 "extension_types": ["extension"], |
81 "min_manifest_version": 2 | 81 "min_manifest_version": 2 |
82 }, | 82 }, |
83 "content_pack": { | 83 "content_pack": { |
84 "channel": "dev", | 84 "channel": "dev", |
85 "extension_types": ["extension"] | 85 "extension_types": ["extension"] |
86 }, | 86 }, |
87 "content_security_policy": { | 87 "content_security_policy": { |
88 "channel": "stable", | 88 "channel": "stable", |
89 // Platform apps have a restricted content security policy that cannot be | 89 // Platform apps have a restricted content security policy that cannot be |
90 // overriden (except for a whitelist of exceptions, see the | 90 // overriden (except for a whitelist of exceptions, see the |
91 // app.content_security_policy whitelist). | 91 // app.content_security_policy whitelist). |
92 "extension_types": ["extension", "packaged_app"] | 92 "extension_types": ["extension", "legacy_packaged_app"] |
93 }, | 93 }, |
94 "content_scripts": { | 94 "content_scripts": { |
95 "channel": "stable", | 95 "channel": "stable", |
96 "extension_types": ["extension", "packaged_app"] | 96 "extension_types": ["extension", "legacy_packaged_app"] |
97 }, | 97 }, |
98 "converted_from_user_script": { | 98 "converted_from_user_script": { |
99 "channel": "stable", | 99 "channel": "stable", |
100 "extension_types": [ | 100 "extension_types": [ |
101 "extension", "packaged_app", "hosted_app" | 101 "extension", "legacy_packaged_app", "hosted_app" |
102 ], | 102 ], |
103 "no_doc": true | 103 "no_doc": true |
104 }, | 104 }, |
105 "current_locale": { | 105 "current_locale": { |
106 "channel": "stable", | 106 "channel": "stable", |
107 "extension_types": "all" | 107 "extension_types": "all" |
108 }, | 108 }, |
109 "default_locale": { | 109 "default_locale": { |
110 "channel": "stable", | 110 "channel": "stable", |
111 "extension_types": "all" | 111 "extension_types": "all" |
112 }, | 112 }, |
113 "description": { | 113 "description": { |
114 "channel": "stable", | 114 "channel": "stable", |
115 "extension_types": "all" | 115 "extension_types": "all" |
116 }, | 116 }, |
117 "devtools_page": { | 117 "devtools_page": { |
118 "channel": "stable", | 118 "channel": "stable", |
119 "extension_types": ["extension", "packaged_app"] | 119 "extension_types": ["extension", "legacy_packaged_app"] |
120 }, | 120 }, |
121 "display_in_launcher": [ | 121 "display_in_launcher": [ |
122 { | 122 { |
123 "channel": "stable", | 123 "channel": "stable", |
124 "extension_types": ["packaged_app", "platform_app"], | 124 "extension_types": ["legacy_packaged_app", "platform_app"], |
125 "location": "component" | 125 "location": "component" |
126 }, | 126 }, |
127 { | 127 { |
128 "channel": "stable", | 128 "channel": "stable", |
129 "extension_types": ["packaged_app", "platform_app"], | 129 "extension_types": ["legacy_packaged_app", "platform_app"], |
130 "whitelist": [ | 130 "whitelist": [ |
131 "nmmhkkegccagdldgiimedpiccmgmieda" | 131 "nmmhkkegccagdldgiimedpiccmgmieda" |
132 ] | 132 ] |
133 } | 133 } |
134 ], | 134 ], |
135 "display_in_new_tab_page": [ | 135 "display_in_new_tab_page": [ |
136 { | 136 { |
137 "channel": "stable", | 137 "channel": "stable", |
138 "extension_types": ["packaged_app", "platform_app"], | 138 "extension_types": ["legacy_packaged_app", "platform_app"], |
139 "location": "component" | 139 "location": "component" |
140 }, | 140 }, |
141 { | 141 { |
142 "channel": "stable", | 142 "channel": "stable", |
143 "extension_types": ["packaged_app", "platform_app"], | 143 "extension_types": ["legacy_packaged_app", "platform_app"], |
144 "whitelist": [ | 144 "whitelist": [ |
145 "nmmhkkegccagdldgiimedpiccmgmieda" | 145 "nmmhkkegccagdldgiimedpiccmgmieda" |
146 ] | 146 ] |
147 } | 147 } |
148 ], | 148 ], |
149 "export": [ | 149 "export": [ |
150 { | 150 { |
151 "channel": "stable", | 151 "channel": "stable", |
152 "extension_types": ["shared_module"], | 152 "extension_types": ["shared_module"], |
153 "whitelist": [ | 153 "whitelist": [ |
154 "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", | 154 "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F", |
155 "4EB74897CB187C7633357C2FE832E0AD6A44883A" | 155 "4EB74897CB187C7633357C2FE832E0AD6A44883A" |
156 ] | 156 ] |
157 }, | 157 }, |
158 { | 158 { |
159 "channel": "dev", | 159 "channel": "dev", |
160 "extension_types": ["shared_module"] | 160 "extension_types": ["shared_module"] |
161 } | 161 } |
162 ], | 162 ], |
163 "externally_connectable": { | 163 "externally_connectable": { |
164 "channel": "stable", | 164 "channel": "stable", |
165 "extension_types": [ | 165 "extension_types": [ |
166 "extension", "hosted_app", "packaged_app", "platform_app" | 166 "extension", "hosted_app", "legacy_packaged_app", "platform_app" |
167 ] | 167 ] |
168 }, | 168 }, |
169 "file_browser_handlers": { | 169 "file_browser_handlers": { |
170 "channel": "stable", | 170 "channel": "stable", |
171 "extension_types": ["extension", "packaged_app"] | 171 "extension_types": ["extension", "legacy_packaged_app"] |
172 }, | 172 }, |
173 "file_handlers": { | 173 "file_handlers": { |
174 "channel": "stable", | 174 "channel": "stable", |
175 "extension_types": ["platform_app"] | 175 "extension_types": ["platform_app"] |
176 }, | 176 }, |
177 "homepage_url": { | 177 "homepage_url": { |
178 "channel": "stable", | 178 "channel": "stable", |
179 "extension_types": ["extension", "packaged_app"] | 179 "extension_types": ["extension", "legacy_packaged_app"] |
180 }, | 180 }, |
181 "icons": { | 181 "icons": { |
182 "channel": "stable", | 182 "channel": "stable", |
183 "extension_types": "all" | 183 "extension_types": "all" |
184 }, | 184 }, |
185 "import": { | 185 "import": { |
186 "channel": "stable", | 186 "channel": "stable", |
187 "extension_types": "all" | 187 "extension_types": "all" |
188 }, | 188 }, |
189 "incognito": { | 189 "incognito": { |
190 "channel": "stable", | 190 "channel": "stable", |
191 "extension_types": ["extension", "packaged_app"] | 191 "extension_types": ["extension", "legacy_packaged_app"] |
192 }, | 192 }, |
193 "input_components": { | 193 "input_components": { |
194 "channel": "stable", | 194 "channel": "stable", |
195 "extension_types": ["extension", "packaged_app"] | 195 "extension_types": ["extension", "legacy_packaged_app"] |
196 }, | 196 }, |
197 "key": { | 197 "key": { |
198 "channel": "stable", | 198 "channel": "stable", |
199 "extension_types": "all" | 199 "extension_types": "all" |
200 }, | 200 }, |
201 "kiosk_enabled": { | 201 "kiosk_enabled": { |
202 "channel": "stable", | 202 "channel": "stable", |
203 "extension_types": [ | 203 "extension_types": [ |
204 "platform_app" | 204 "platform_app" |
205 ] | 205 ] |
206 }, | 206 }, |
207 "manifest_version": { | 207 "manifest_version": { |
208 "channel": "stable", | 208 "channel": "stable", |
209 "extension_types": "all" | 209 "extension_types": "all" |
210 }, | 210 }, |
211 "media_galleries_handlers": { | 211 "media_galleries_handlers": { |
212 "channel": "dev", | 212 "channel": "dev", |
213 "extension_types": ["platform_app"] | 213 "extension_types": ["platform_app"] |
214 }, | 214 }, |
215 "mime_types": { | 215 "mime_types": { |
216 "channel": "stable", | 216 "channel": "stable", |
217 "extension_types": [ "extension", "packaged_app", "platform_app" ], | 217 "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ], |
218 "whitelist": [ | 218 "whitelist": [ |
219 "oickdpebdnfbgkcaoklfcdhjniefkcji", // browser_tests | 219 "oickdpebdnfbgkcaoklfcdhjniefkcji", // browser_tests |
220 "gbkeegbaiigmenfmjfclcdgdpimamgkj", // QuickOffice | 220 "gbkeegbaiigmenfmjfclcdgdpimamgkj", // QuickOffice |
221 "ionpfmkccalenbmnddpbmocokhaknphg", // QuickOffice Dev | 221 "ionpfmkccalenbmnddpbmocokhaknphg", // QuickOffice Dev |
222 "bpmcpldpdmajfigpchkicefoigmkfalc", // Quickoffice component extension | 222 "bpmcpldpdmajfigpchkicefoigmkfalc", // Quickoffice component extension |
223 "ehibbfinohgbchlgdbfpikodjaojhccn" // Editor | 223 "ehibbfinohgbchlgdbfpikodjaojhccn" // Editor |
224 ] | 224 ] |
225 }, | 225 }, |
226 "minimum_chrome_version": { | 226 "minimum_chrome_version": { |
227 "channel": "stable", | 227 "channel": "stable", |
228 "extension_types": [ | 228 "extension_types": [ |
229 "extension", "packaged_app", "hosted_app", "platform_app" | 229 "extension", "legacy_packaged_app", "hosted_app", "platform_app" |
230 ] | 230 ] |
231 }, | 231 }, |
232 "nacl_modules": { | 232 "nacl_modules": { |
233 "channel": "stable", | 233 "channel": "stable", |
234 "extension_types": [ | 234 "extension_types": [ |
235 "extension", "packaged_app", "hosted_app", "platform_app" | 235 "extension", "legacy_packaged_app", "hosted_app", "platform_app" |
236 ] | 236 ] |
237 }, | 237 }, |
238 "name": { | 238 "name": { |
239 "channel": "stable", | 239 "channel": "stable", |
240 "extension_types": "all" | 240 "extension_types": "all" |
241 }, | 241 }, |
242 "oauth2": { | 242 "oauth2": { |
243 "channel": "stable", | 243 "channel": "stable", |
244 "extension_types": [ | 244 "extension_types": [ |
245 "extension", "packaged_app", "platform_app" | 245 "extension", "legacy_packaged_app", "platform_app" |
246 ] | 246 ] |
247 }, | 247 }, |
248 "oauth2.auto_approve": { | 248 "oauth2.auto_approve": { |
249 "channel": "stable", | 249 "channel": "stable", |
250 "extension_types": [ | 250 "extension_types": [ |
251 "extension", "platform_app" | 251 "extension", "platform_app" |
252 ], | 252 ], |
253 "whitelist": [ | 253 "whitelist": [ |
254 "mdbihdcgjmagbcapkhhkjbbdlkflmbfo", // unit_tests | 254 "mdbihdcgjmagbcapkhhkjbbdlkflmbfo", // unit_tests |
255 "pmofbkohncoogjjhahejjfbppikbjigm", // Google Now | 255 "pmofbkohncoogjjhahejjfbppikbjigm", // Google Now |
256 "hkhhlkdconhgemhegnplaldnmnmkaemd", // Get Started App | 256 "hkhhlkdconhgemhegnplaldnmnmkaemd", // Get Started App |
257 "nmmhkkegccagdldgiimedpiccmgmieda", // In-app payments support app. | 257 "nmmhkkegccagdldgiimedpiccmgmieda", // In-app payments support app. |
258 "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C", | 258 "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C", |
259 "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA" | 259 "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA" |
260 ] | 260 ] |
261 }, | 261 }, |
262 "offline_enabled": { | 262 "offline_enabled": { |
263 "channel": "stable", | 263 "channel": "stable", |
264 "extension_types": [ | 264 "extension_types": [ |
265 "extension", "packaged_app", "hosted_app", "platform_app" | 265 "extension", "legacy_packaged_app", "hosted_app", "platform_app" |
266 ] | 266 ] |
267 }, | 267 }, |
268 "omnibox": { | 268 "omnibox": { |
269 "channel": "stable", | 269 "channel": "stable", |
270 "extension_types": ["extension", "packaged_app"] | 270 "extension_types": ["extension", "legacy_packaged_app"] |
271 }, | 271 }, |
272 "optional_permissions": { | 272 "optional_permissions": { |
273 "channel": "stable", | 273 "channel": "stable", |
274 "extension_types": [ | 274 "extension_types": [ |
275 "extension", "packaged_app", "hosted_app", "platform_app" | 275 "extension", "legacy_packaged_app", "hosted_app", "platform_app" |
276 ] | 276 ] |
277 }, | 277 }, |
278 "options_page": { | 278 "options_page": { |
279 "channel": "stable", | 279 "channel": "stable", |
280 "extension_types": [ | 280 "extension_types": [ |
281 "extension", "packaged_app", "hosted_app" | 281 "extension", "legacy_packaged_app", "hosted_app" |
282 ] | 282 ] |
283 }, | 283 }, |
284 "page_action": { | 284 "page_action": { |
285 "channel": "stable", | 285 "channel": "stable", |
286 "extension_types": ["extension"] | 286 "extension_types": ["extension"] |
287 }, | 287 }, |
288 "page_actions": { | 288 "page_actions": { |
289 "channel": "stable", | 289 "channel": "stable", |
290 "extension_types": ["extension"], | 290 "extension_types": ["extension"], |
291 "max_manifest_version": 1 | 291 "max_manifest_version": 1 |
292 }, | 292 }, |
293 "permissions": { | 293 "permissions": { |
294 "channel": "stable", | 294 "channel": "stable", |
295 "extension_types": [ | 295 "extension_types": [ |
296 "extension", "packaged_app", "hosted_app", "platform_app" | 296 "extension", "legacy_packaged_app", "hosted_app", "platform_app" |
297 ] | 297 ] |
298 }, | 298 }, |
299 "platforms": { | 299 "platforms": { |
300 "channel": "stable", | 300 "channel": "stable", |
301 "extension_types": "all" | 301 "extension_types": "all" |
302 }, | 302 }, |
303 "plugins": { | 303 "plugins": { |
304 "channel": "stable", | 304 "channel": "stable", |
305 "extension_types": ["extension", "packaged_app", "hosted_app"] | 305 "extension_types": ["extension", "legacy_packaged_app", "hosted_app"] |
306 }, | 306 }, |
307 "requirements": { | 307 "requirements": { |
308 "channel": "stable", | 308 "channel": "stable", |
309 "extension_types": [ | 309 "extension_types": [ |
310 "extension", "packaged_app", "hosted_app", "platform_app" | 310 "extension", "legacy_packaged_app", "hosted_app", "platform_app" |
311 ] | 311 ] |
312 }, | 312 }, |
313 "sandbox": { | 313 "sandbox": { |
314 "channel": "stable", | 314 "channel": "stable", |
315 "extension_types": [ | 315 "extension_types": [ |
316 "extension", "platform_app", "packaged_app" | 316 "extension", "platform_app", "legacy_packaged_app" |
317 ], | 317 ], |
318 "min_manifest_version": 2 | 318 "min_manifest_version": 2 |
319 }, | 319 }, |
320 "script_badge": { | 320 "script_badge": { |
321 "channel": "trunk", | 321 "channel": "trunk", |
322 "extension_types": ["extension"] | 322 "extension_types": ["extension"] |
323 }, | 323 }, |
324 "short_name": { | 324 "short_name": { |
325 "channel": "stable", | 325 "channel": "stable", |
326 "extension_types": "all" | 326 "extension_types": "all" |
327 }, | 327 }, |
328 "signature": { | 328 "signature": { |
329 "channel": "stable", | 329 "channel": "stable", |
330 "extension_types": "all" | 330 "extension_types": "all" |
331 }, | 331 }, |
332 "spellcheck": { | 332 "spellcheck": { |
333 "channel": "dev", | 333 "channel": "dev", |
334 "extension_types": ["extension"] | 334 "extension_types": ["extension"] |
335 }, | 335 }, |
336 "storage": { | 336 "storage": { |
337 "channel": "dev", | 337 "channel": "dev", |
338 "extension_types": ["extension", "packaged_app", "platform_app"], | 338 "extension_types": ["extension", "legacy_packaged_app", "platform_app"], |
339 "min_manifest_version": 2 | 339 "min_manifest_version": 2 |
340 }, | 340 }, |
341 "storage.managed_schema": { | 341 "storage.managed_schema": { |
342 "channel": "dev", | 342 "channel": "dev", |
343 "extension_types": ["extension", "packaged_app", "platform_app"], | 343 "extension_types": ["extension", "legacy_packaged_app", "platform_app"], |
344 "min_manifest_version": 2 | 344 "min_manifest_version": 2 |
345 }, | 345 }, |
346 "system_indicator": { | 346 "system_indicator": { |
347 "channel": "dev", | 347 "channel": "dev", |
348 "extension_types": ["extension", "packaged_app", "platform_app"] | 348 "extension_types": ["extension", "legacy_packaged_app", "platform_app"] |
349 }, | 349 }, |
350 "theme": { | 350 "theme": { |
351 "channel": "stable", | 351 "channel": "stable", |
352 "extension_types": ["theme"] | 352 "extension_types": ["theme"] |
353 }, | 353 }, |
354 "tts_engine": { | 354 "tts_engine": { |
355 "channel": "stable", | 355 "channel": "stable", |
356 "extension_types": ["extension", "packaged_app"] | 356 "extension_types": ["extension", "legacy_packaged_app"] |
357 }, | 357 }, |
358 "update_url": { | 358 "update_url": { |
359 "channel": "stable", | 359 "channel": "stable", |
360 "extension_types": "all" | 360 "extension_types": "all" |
361 }, | 361 }, |
362 "version": { | 362 "version": { |
363 "channel": "stable", | 363 "channel": "stable", |
364 "extension_types": "all" | 364 "extension_types": "all" |
365 }, | 365 }, |
366 "web_accessible_resources": { | 366 "web_accessible_resources": { |
367 "channel": "stable", | 367 "channel": "stable", |
368 "extension_types": [ | 368 "extension_types": [ |
369 "extension", "packaged_app", "hosted_app" | 369 "extension", "legacy_packaged_app", "hosted_app" |
370 ] | 370 ] |
371 } | 371 } |
372 } | 372 } |
OLD | NEW |