• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3// found in the LICENSE file.
4
5// This features file defines manifest keys implemented under src/chrome.
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  "about_page": {
20    "channel": "stable",
21    "extension_types": ["shared_module"]
22  },
23  "app": {
24    "channel": "stable",
25    "extension_types": ["legacy_packaged_app", "hosted_app", "platform_app"]
26  },
27  "app.isolation": {
28    "channel": "stable",
29    // Platform apps always have isolated storage, thus they cannot specify it
30    // via the manifest.
31    "extension_types": ["legacy_packaged_app", "hosted_app"]
32  },
33  "app.launch": {
34    "channel": "stable",
35    "extension_types": ["legacy_packaged_app", "hosted_app"]
36  },
37  "app.service_worker": {
38    "channel": "trunk",  // When changing update tests: http://crbug.com/353209
39    "extension_types": ["platform_app"]
40  },
41  "author": {
42    "channel": "stable",
43    "extension_types": "all"
44  },
45  "automation": {
46    "channel": "trunk",
47    "extension_types": ["extension", "legacy_packaged_app"]
48  },
49  "bluetooth": {
50    // Note: The "bluetooth" manifest permission is used by the
51    // chrome.bluetooth, chrome.bluetoothSocket and chrome.bluetoothLowEnergy
52    // APIs.
53    "channel": "stable",
54    "extension_types": ["platform_app"]
55  },
56  "browser_action": {
57    "channel": "stable",
58    "extension_types": ["extension"]
59  },
60  "chrome_settings_overrides": {
61    "channel": "stable",
62    "extension_types": ["extension"],
63    "platforms": ["win"]
64  },
65  "chrome_ui_overrides": [{
66    "channel": "dev",
67    "extension_types": ["extension"]
68  }, {
69    "channel": "stable",
70    "extension_types": ["extension"],
71    "whitelist": [
72      "CB2E4E7174A398FCB3AFA6840500C2E1D22DA7B2", // Bookmark Manager
73      "D5736E4B5CF695CB93A2FB57E4FDC6E5AFAB6FE2", // http://crbug.com/312900
74      "D57DE394F36DC1C3220E7604C575D29C51A6C495", // http://crbug.com/319444
75      "3F65507A3B39259B38C8173C6FFA3D12DF64CCE9"  // http://crbug.com/371562
76    ]
77  }],
78  "chrome_url_overrides": {
79    "channel": "stable",
80    "extension_types": ["extension", "legacy_packaged_app"]
81  },
82  "commands": {
83    "channel": "stable",
84    "extension_types": ["extension", "platform_app"],
85    "min_manifest_version": 2
86  },
87  "content_pack": {
88    "channel": "dev",
89    "extension_types": ["extension"]
90  },
91  "content_scripts": {
92    "channel": "stable",
93    "extension_types": ["extension", "legacy_packaged_app"]
94  },
95  "converted_from_user_script": {
96    "channel": "stable",
97    "extension_types": [
98      "extension", "legacy_packaged_app", "hosted_app"
99    ],
100    "no_doc": true
101  },
102  "current_locale": {
103    "channel": "stable",
104    "extension_types": "all"
105  },
106  "default_locale": {
107    "channel": "stable",
108    "extension_types": "all"
109  },
110  "description": {
111    "channel": "stable",
112    "extension_types": "all"
113  },
114  "devtools_page": {
115    "channel": "stable",
116    "extension_types": ["extension", "legacy_packaged_app"]
117  },
118  "display_in_launcher": [
119    {
120      "channel": "stable",
121      "extension_types": ["legacy_packaged_app", "platform_app", "hosted_app"],
122      "location": "component"
123    },
124    {
125      "channel": "stable",
126      "extension_types": ["legacy_packaged_app", "platform_app"],
127      "whitelist": [
128        "nmmhkkegccagdldgiimedpiccmgmieda"
129      ]
130    }
131  ],
132  "display_in_new_tab_page": [
133    {
134      "channel": "stable",
135      "extension_types": ["legacy_packaged_app", "platform_app", "hosted_app"],
136      "location": "component"
137    },
138    {
139      "channel": "stable",
140      "extension_types": ["legacy_packaged_app", "platform_app"],
141      "whitelist": [
142        "nmmhkkegccagdldgiimedpiccmgmieda"
143      ]
144    }
145  ],
146  "export": [
147    {
148      "channel": "stable",
149      "extension_types": ["shared_module"],
150      "whitelist": [
151        "6EAED1924DB611B6EEF2A664BD077BE7EAD33B8F",
152        "4EB74897CB187C7633357C2FE832E0AD6A44883A",
153        // Next four: http://crbug.com/357213
154        "mafeflapfdfljijmlienjedomfjfmhpd",
155        "ajchadodoajkaojdidnbblnfcdipbple",
156        "47F838F58D2A3B585DE50F29E3585D94999921D1",
157        "8EBAFB8DEB647EA2FC887A5E01EBD9BDC0FDC536"
158      ]
159    },
160    {
161      "channel": "dev",
162      "extension_types": ["shared_module"]
163    }
164  ],
165  "externally_connectable": {
166    "channel": "stable",
167    "extension_types": [
168      "extension", "hosted_app", "legacy_packaged_app", "platform_app"
169    ]
170  },
171  "file_browser_handlers": [
172    {
173      "channel": "stable",
174      "extension_types": ["extension", "legacy_packaged_app"]
175    },
176    {
177      "channel": "stable",
178      "extension_types": ["platform_app"],
179      "location": "component"
180    }
181  ],
182  "file_handlers": [
183  {
184    "channel": "stable",
185    "extension_types": ["platform_app"]
186  }, {
187    "channel": "stable",
188    "extension_types": [ "extension"],
189    "whitelist": [
190      "2FC374607C2DF285634B67C64A2E356C607091C3",  // Quickoffice
191      "3727DD3E564B6055387425027AD74C58784ACC15",  // Quickoffice internal
192      "12E618C3C6E97495AAECF2AC12DEB082353241C6"   // QO component extension
193    ]
194  }],
195  "homepage_url": {
196    "channel": "stable",
197    "extension_types": ["extension", "legacy_packaged_app"]
198  },
199  "icons": {
200    "channel": "stable",
201    "extension_types": "all"
202  },
203  "import": {
204    "channel": "stable",
205    "extension_types": "all"
206  },
207  "input_components": {
208    "channel": "stable",
209    "extension_types": ["extension", "legacy_packaged_app"]
210  },
211  "key": {
212    "channel": "stable",
213    "extension_types": "all"
214  },
215  "manifest_version": {
216    "channel": "stable",
217    "extension_types": "all"
218  },
219  "mime_types": {
220    "channel": "stable",
221    "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ],
222    "whitelist": [
223      "oickdpebdnfbgkcaoklfcdhjniefkcji",  // browser_tests
224      "gbkeegbaiigmenfmjfclcdgdpimamgkj",  // QuickOffice
225      "ionpfmkccalenbmnddpbmocokhaknphg",  // QuickOffice Dev
226      "bpmcpldpdmajfigpchkicefoigmkfalc",  // Quickoffice component extension
227      "ehibbfinohgbchlgdbfpikodjaojhccn",  // Editor
228      "mhjfbmdgcfjbbpaeojofohoefgiehjai"   // PDF
229    ]
230  },
231  "mime_types_handler": {
232    "channel": "stable",
233    "extension_types": [ "extension", "legacy_packaged_app", "platform_app" ],
234    "whitelist": [
235      "oickdpebdnfbgkcaoklfcdhjniefkcji",  // browser_tests
236      "gbkeegbaiigmenfmjfclcdgdpimamgkj",  // QuickOffice
237      "ionpfmkccalenbmnddpbmocokhaknphg",  // QuickOffice Dev
238      "bpmcpldpdmajfigpchkicefoigmkfalc",  // Quickoffice component extension
239      "ehibbfinohgbchlgdbfpikodjaojhccn",  // Editor
240      "mhjfbmdgcfjbbpaeojofohoefgiehjai"   // PDF
241    ]
242  },
243  "minimum_chrome_version": {
244    "channel": "stable",
245    "extension_types": [
246      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
247    ]
248  },
249  "nacl_modules": {
250    "channel": "stable",
251    "extension_types": [
252      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
253    ]
254  },
255  "name": {
256    "channel": "stable",
257    "extension_types": "all"
258  },
259  "oauth2": {
260    "channel": "stable",
261    "extension_types": [
262      "extension", "legacy_packaged_app", "platform_app"
263    ]
264  },
265  "oauth2.auto_approve": {
266    "channel": "stable",
267    "extension_types": [
268      "extension", "platform_app"
269    ],
270    "whitelist": [
271      "mdbihdcgjmagbcapkhhkjbbdlkflmbfo",  // unit_tests
272      "pafkbggdmjlpgkdkcbjmhmfcdpncadgh",  // Google Now
273      "nmmhkkegccagdldgiimedpiccmgmieda",  // In-app payments support app.
274      "4B1D0E19C6C43C008C44A8278C8B5BFE15ABEB3C",
275      "F7FA7ABC1ECB89BA8EE6656847EFABBF43BB9BCA",
276      "1A26E32DE447A17CBE5E9750CDBA78F58539B39C",  // TODO(rockot): Kill these.
277      "E61F841D8210B6A9891E5384CB665FBED31FCD7B"   // http://crbug.com/281715
278    ]
279  },
280  "omnibox": {
281    "channel": "stable",
282    "extension_types": ["extension", "legacy_packaged_app"]
283  },
284  "optional_permissions": {
285    "channel": "stable",
286    "extension_types": [
287      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
288    ]
289  },
290  "options_page": {
291    "channel": "stable",
292    "extension_types": [
293      "extension", "legacy_packaged_app", "hosted_app"
294    ]
295  },
296  "page_action": {
297    "channel": "stable",
298    "extension_types": ["extension"]
299  },
300  "page_actions": {
301    "channel": "stable",
302    "extension_types": ["extension"],
303    "max_manifest_version": 1
304  },
305  "permissions": {
306    "channel": "stable",
307    "extension_types": [
308      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
309    ]
310  },
311  "platforms": {
312    "channel": "stable",
313    "extension_types": "all"
314  },
315  "plugins": {
316    "channel": "stable",
317    "extension_types": ["extension", "legacy_packaged_app", "hosted_app"]
318  },
319  "requirements": {
320    "channel": "stable",
321    "extension_types": [
322      "extension", "legacy_packaged_app", "hosted_app", "platform_app"
323    ]
324  },
325  "script_badge": {
326    "channel": "trunk",
327    "extension_types": ["extension"]
328  },
329  "short_name": {
330    "channel": "stable",
331    "extension_types": "all"
332  },
333  "signature": {
334    "channel": "stable",
335    "extension_types": "all"
336  },
337  "spellcheck": {
338    "channel": "dev",
339    "extension_types": ["extension"]
340  },
341  "storage": {
342    "channel": "stable",
343    "extension_types": ["extension", "legacy_packaged_app", "platform_app"],
344    "min_manifest_version": 2
345  },
346  "system_indicator": [
347    {
348      "channel": "dev",
349      "extension_types": ["extension", "legacy_packaged_app", "platform_app"]
350    },
351    {
352      "channel": "stable",
353      "whitelist": [
354        "F29716B08705C9D3C12CDFE3F638BAE709570C31",  // browser_tests
355        // See crbug.com/245730 for details on the Hangouts whitelist.
356        "53041A2FA309EECED01FFC751E7399186E860B2C",  // Hangouts
357        "312745D9BF916161191143F6490085EEA0434997",  // Hangouts beta
358        "A74A4D44C7CFCD8844830E6140C8D763E12DD8F3",  // Hangouts alpha
359        "E7E2461CE072DF036CF9592740196159E2D7C089",  // Hangouts debug
360        "49DA0B9CCEEA299186C6E7226FD66922D57543DC"   // Hangouts dev
361      ],
362      "extension_types": ["extension", "platform_app"]
363    }
364  ],
365  "theme": {
366    "channel": "stable",
367    "extension_types": ["theme"]
368  },
369  "tts_engine": {
370    "channel": "stable",
371    "extension_types": ["extension", "legacy_packaged_app"]
372  },
373  "update_url": {
374    "channel": "stable",
375    "extension_types": "all"
376  },
377  "url_handlers": {
378    "channel": "stable",
379    "extension_types": ["platform_app"]
380  },
381  "version": {
382    "channel": "stable",
383    "extension_types": "all"
384  }
385}
386