Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(570)

Side by Side Diff: chrome/common/extensions/api/_api_features.json

Issue 15091002: Lazily load API schemas from resource files and convert all APIs to features (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comments Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 { 5 {
6 "app": { 6 "app": {
7 "channel": "stable", 7 "channel": "stable",
8 "extension_types": ["hosted_app", "extension", "packaged_app"], 8 "extension_types": ["hosted_app", "extension", "packaged_app"],
9 "contexts": [ 9 "contexts": [
10 "blessed_extension", "unblessed_extension", "content_script", "web_page" 10 "blessed_extension", "unblessed_extension", "content_script", "web_page"
11 ], 11 ],
12 "matches": [ 12 "matches": [
13 "http://*/*", "https://*/*", "chrome-extension://*/*", "file://*/*" 13 "http://*/*", "https://*/*", "chrome-extension://*/*", "file://*/*"
14 ] 14 ]
15 }, 15 },
16 "app.runtime": { 16 "app.runtime": {
17 "channel": "stable",
18 "contexts": ["blessed_extension"], 17 "contexts": ["blessed_extension"],
19 "dependencies": ["permission:app.runtime"] 18 "dependencies": ["permission:app.runtime"]
20 }, 19 },
21 "app.window": { 20 "app.window": {
22 "channel": "stable",
23 "contexts": ["blessed_extension"], 21 "contexts": ["blessed_extension"],
24 "dependencies": ["permission:app.window"] 22 "dependencies": ["permission:app.window"]
25 }, 23 },
26 "app.currentWindowInternal": { 24 "app.currentWindowInternal": {
27 "internal": true, 25 "internal": true,
28 "channel": "stable", 26 "channel": "stable",
29 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 27 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
30 }, 28 },
31 "bookmarks": { 29 "bookmarks": {
32 "channel": "stable",
Yoyo Zhou 2013/05/28 23:49:38 Why remove this?
not at google - send to devlin 2013/05/28 23:53:58 It depends on the bookmarks permission, which has
33 "dependencies": ["permission:bookmarks"], 30 "dependencies": ["permission:bookmarks"],
34 "contexts": ["blessed_extension"] 31 "contexts": ["blessed_extension"]
35 }, 32 },
36 "bookmarks.export": { 33 "bookmarks.export": {
37 "channel": "stable", 34 "parent": "bookmarks",
Matt Perry 2013/05/24 19:53:23 Can we get rid of the "parent" key and just infer
not at google - send to devlin 2013/05/24 20:07:59 the canonical example is "app". we need _some_ con
Yoyo Zhou 2013/05/28 23:49:38 At least it seems to me the common case is that th
38 "extension_types": ["extension"], 35 "extension_types": ["extension"],
39 "contexts": ["blessed_extension"],
40 "location": "component" 36 "location": "component"
41 }, 37 },
42 "bookmarks.import": { 38 "bookmarks.import": {
43 "channel": "stable", 39 "parent": "bookmarks",
44 "extension_types": ["extension"], 40 "extension_types": ["extension"],
45 "contexts": ["blessed_extension"],
46 "location": "component" 41 "location": "component"
47 }, 42 },
48 "downloadsInternal": { 43 "downloadsInternal": {
49 "internal": true, 44 "internal": true,
50 "channel": "stable", 45 "channel": "stable",
51 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 46 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
52 }, 47 },
53 "events": { 48 "events": {
54 "internal": true, 49 "internal": true,
55 "channel": "stable", 50 "channel": "stable",
56 "contexts": [ 51 "contexts": [
57 "blessed_extension", "unblessed_extension", "content_script", "web_page" 52 "blessed_extension", "unblessed_extension", "content_script", "web_page"
58 ], 53 ],
59 "matches": ["<all_urls>"] 54 "matches": ["<all_urls>"]
60 }, 55 },
61 "fileBrowserHandlerInternal": { 56 "fileBrowserHandlerInternal": {
62 "internal": true, 57 "internal": true,
63 "channel": "stable", 58 "channel": "stable",
64 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 59 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
65 }, 60 },
66 "runtime": { 61 "runtime": {
67 "channel": "stable", 62 "channel": "stable",
68 "extension_types": ["extension", "packaged_app", "platform_app"], 63 "extension_types": ["extension", "packaged_app", "platform_app"],
69 "contexts": ["blessed_extension"] 64 "contexts": ["blessed_extension"]
70 }, 65 },
71 "runtime.connect": { 66 "runtime.connect": {
72 "channel": "stable", 67 "parent": "runtime",
73 "extension_types": ["extension", "packaged_app", "platform_app"],
74 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 68 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
75 }, 69 },
76 "runtime.getManifest": { 70 "runtime.getManifest": {
77 "channel": "stable", 71 "parent": "runtime",
78 "extension_types": ["extension", "packaged_app", "platform_app"],
79 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 72 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
80 }, 73 },
81 "runtime.getURL": { 74 "runtime.getURL": {
82 "channel": "stable", 75 "parent": "runtime",
83 "extension_types": ["extension", "packaged_app", "platform_app"],
84 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 76 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
85 }, 77 },
86 "runtime.id": { 78 "runtime.id": {
87 "channel": "stable", 79 "parent": "runtime",
88 "extension_types": ["extension", "packaged_app", "platform_app"],
89 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 80 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
90 }, 81 },
91 "runtime.lastError": { 82 "runtime.lastError": {
92 "channel": "stable", 83 "parent": "runtime",
93 "extension_types": ["extension", "packaged_app", "platform_app"],
94 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 84 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
95 }, 85 },
96 "runtime.onConnect": { 86 "runtime.onConnect": {
97 "channel": "stable", 87 "parent": "runtime",
98 "extension_types": ["extension", "packaged_app", "platform_app"],
99 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 88 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
100 }, 89 },
101 "runtime.onMessage": { 90 "runtime.onMessage": {
102 "channel": "stable", 91 "parent": "runtime",
103 "extension_types": ["extension", "packaged_app", "platform_app"],
104 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 92 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
105 }, 93 },
106 "runtime.reload": { 94 "runtime.reload": {
107 "channel": "stable", 95 "parent": "runtime",
108 "extension_types": ["extension", "packaged_app", "platform_app"],
109 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 96 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
110 }, 97 },
111 "runtime.requestUpdateCheck": { 98 "runtime.requestUpdateCheck": {
112 "channel": "stable", 99 "parent": "runtime",
113 "extension_types": ["extension", "packaged_app", "platform_app"],
114 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 100 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
115 }, 101 },
116 "runtime.sendMessage": { 102 "runtime.sendMessage": {
117 "channel": "stable", 103 "parent": "runtime",
118 "extension_types": ["extension", "packaged_app", "platform_app"],
119 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 104 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
120 }, 105 },
121 "webRequestInternal": { 106 "webRequestInternal": {
122 "internal": true, 107 "internal": true,
123 "channel": "stable", 108 "channel": "stable",
124 "contexts": ["blessed_extension", "unblessed_extension", "content_script"] 109 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
125 }, 110 },
126 "webstore": { 111 "webstore": {
127 // Hosted apps can use the webstore API from within a blessed context. 112 // Hosted apps can use the webstore API from within a blessed context.
128 "channel": "stable", 113 "channel": "stable",
129 "extension_types": ["hosted_app"], 114 "extension_types": ["hosted_app"],
130 "contexts": ["blessed_extension", "web_page"], 115 "contexts": ["blessed_extension", "web_page"],
131 // Any webpage can use the webstore API. 116 // Any webpage can use the webstore API.
132 "matches": ["http://*/*", "https://*/*"] 117 "matches": ["http://*/*", "https://*/*"]
118 },
119
120 // NEW APIS BEGIN HERE
Yoyo Zhou 2013/05/28 23:49:38 If we're going to want to have these all in alphab
not at google - send to devlin 2013/05/28 23:53:58 i think for easier auditing.
121 "alarms": {
122 "dependencies": ["permission:alarms"],
123 "contexts": ["blessed_extension"]
124 },
125 "autotestPrivate": {
126 "dependencies": ["permission:autotestPrivate"],
127 "contexts": ["blessed_extension"]
128 },
129 "bluetooth": {
130 "dependencies": ["permission:bluetooth"],
131 "contexts": ["blessed_extension"]
132 },
133 "bookmarkManagerPrivate": {
134 "dependencies": ["permission:bookmarkManagerPrivate"],
135 "contexts": ["blessed_extension"]
136 },
137 "browserAction": {
138 "dependencies": ["manifest:browser_action"],
139 "contexts": ["blessed_extension"]
140 },
141 "browsingData": {
142 "dependencies": ["permission:browsingData"],
143 "contexts": ["blessed_extension"]
144 },
145 "chromeosInfoPrivate": {
146 "dependencies": ["permission:chromeosInfoPrivate"],
147 "contexts": ["blessed_extension"]
148 },
149 "cloudPrintPrivate": {
150 "dependencies": ["permission:cloudPrintPrivate"],
151 "contexts": ["blessed_extension"]
152 },
153 "commands": {
154 "dependencies": ["manifest:commands"],
155 "contexts": ["blessed_extension"]
156 },
157 "contentSettings": {
158 "dependencies": ["permission:contentSettings"],
159 "contexts": ["blessed_extension"]
160 },
161 "contextMenus": {
162 "dependencies": ["permission:contextMenus"],
163 "contexts": ["blessed_extension"]
164 },
165 "cookies": {
166 "dependencies": ["permission:cookies"],
167 "contexts": ["blessed_extension"]
168 },
169 "debugger": {
170 "dependencies": ["permission:debugger"],
171 "contexts": ["blessed_extension"]
172 },
173 "declarativeContent": {
174 "dependencies": ["permission:declarativeContent"],
175 "contexts": ["blessed_extension"]
176 },
177 "declarativeWebRequest": {
178 "dependencies": ["permission:declarativeWebRequest"],
179 "contexts": ["blessed_extension"]
180 },
181 "developerPrivate": {
182 "dependencies": ["permission:developerPrivate"],
183 "contexts": ["blessed_extension"]
184 },
185 "dial": {
186 "dependencies": ["permission:dial"],
187 "contexts": ["blessed_extension"]
188 },
189 "downloads": {
190 "dependencies": ["permission:downloads"],
191 "contexts": ["blessed_extension"]
192 },
193 "echoPrivate": {
194 "dependencies": ["permission:echoPrivate"],
195 "contexts": ["blessed_extension"]
196 },
197 "experimental.accessibility": {
198 "dependencies": ["permission:experimental"],
199 "contexts": ["blessed_extension"]
200 },
201 "experimental.discovery": {
202 "dependencies": ["permission:experimental"],
203 "contexts": ["blessed_extension"]
204 },
205 "experimental.dns": {
206 "dependencies": ["permission:experimental"],
207 "contexts": ["blessed_extension"]
208 },
209 "experimental.idltest": {
210 "dependencies": ["permission:experimental"],
211 "contexts": ["blessed_extension"]
212 },
213 "experimental.infobars": {
214 "dependencies": ["permission:experimental"],
215 "contexts": ["blessed_extension"]
216 },
217 "experimental.input.virtualKeyboard": {
218 "dependencies": ["permission:input", "permission:experimental"],
219 "contexts": ["blessed_extension"]
220 },
221 "experimental.processes": {
222 "dependencies": ["permission:experimental"],
223 "contexts": ["blessed_extension"]
224 },
225 "experimental.mediaGalleries": {
226 "dependencies": ["permission:mediaGalleries", "permission:experimental"],
227 "contexts": ["blessed_extension"]
228 },
229 "experimental.record": {
230 "dependencies": ["permission:experimental"],
231 "contexts": ["blessed_extension"]
232 },
233 "experimental.rlz": {
234 "dependencies": ["permission:experimental"],
235 "contexts": ["blessed_extension"]
236 },
237 "experimental.systemInfo.cpu": {
238 "dependencies": ["permission:experimental"],
239 "contexts": ["blessed_extension"]
240 },
241 "experimental.systemInfo.display": {
242 "dependencies": ["permission:experimental"],
243 "contexts": ["blessed_extension"]
244 },
245 "experimental.systemInfo.memory": {
246 "dependencies": ["permission:experimental"],
247 "contexts": ["blessed_extension"]
248 },
249 "experimental.systemInfo.storage": {
250 "dependencies": ["permission:experimental"],
251 "contexts": ["blessed_extension"]
252 },
253 "extension": {
254 "channel": "stable",
255 "extension_types": ["extension", "packaged_app"],
256 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
not at google - send to devlin 2013/05/24 19:09:18 can we invert this? have a convention where we onl
cduvall 2013/05/30 00:50:51 Done.
257 },
258 "extension.getBackgroundPage": {
259 "parent": "extension",
260 "contexts": ["blessed_extension"]
261 },
262 "extension.getViews": {
263 "parent": "extension",
264 "contexts": ["blessed_extension"]
265 },
266 "extension.isAllowedFileSchemeAccess": {
267 "parent": "extension",
268 "contexts": ["blessed_extension"]
269 },
270 "extension.isAllowedIncognitoAccess": {
271 "parent": "extension",
272 "contexts": ["blessed_extension"]
273 },
274 "extension.onRequestExternal": {
275 "parent": "extension",
276 "contexts": ["blessed_extension"]
277 },
278 "extension.setUpdateUrlData": {
279 "parent": "extension",
280 "contexts": ["blessed_extension"]
281 },
282 "fileBrowserHandler": {
283 "dependencies": ["permission:fileBrowserHandler"],
284 "contexts": ["blessed_extension"]
285 },
286 "fileBrowserPrivate": {
287 "dependencies": ["permission:fileBrowserPrivate"],
288 "contexts": ["blessed_extension"]
289 },
290 "fileSystem": {
291 "dependencies": ["permission:fileSystem"],
292 "contexts": ["blessed_extension"]
293 },
294 "fontSettings": {
295 "dependencies": ["permission:fontSettings"],
296 "contexts": ["blessed_extension"]
297 },
298 "history": {
299 "dependencies": ["permission:history"],
300 "contexts": ["blessed_extension"]
301 },
302 "i18n": {
303 "channel": "stable",
304 "extension_types": ["extension", "packaged_app", "platform_app"],
305 "contexts": ["blessed_extension", "unblessed_extension"]
not at google - send to devlin 2013/05/24 19:09:18 content script?
cduvall 2013/05/30 00:50:51 Done.
306 },
307 "identity": {
308 "dependencies": ["permission:identity"],
309 "contexts": ["blessed_extension"]
310 },
311 "idle": {
312 "dependencies": ["permission:idle"],
313 "contexts": ["blessed_extension"]
314 },
315 "input.ime": {
316 "dependencies": ["permission:input"],
317 "contexts": ["blessed_extension"]
318 },
319 "inputMethodPrivate": {
320 "dependencies": ["permission:input"],
321 "contexts": ["blessed_extension"]
322 },
323 "managedModePrivate": {
324 "dependencies": ["permission:managedModePrivate"],
325 "contexts": ["blessed_extension"]
326 },
327 "location": {
328 "dependencies": ["permission:location"],
329 "contexts": ["blessed_extension"]
330 },
331 "management": {
332 "dependencies": ["permission:management"],
333 "contexts": ["blessed_extension"]
334 },
335 "mediaGalleries": {
336 "dependencies": ["permission:mediaGalleries"],
337 "contexts": ["blessed_extension"]
338 },
339 "mediaGalleriesPrivate": {
340 "dependencies": ["permission:mediaGalleriesPrivate"],
341 "contexts": ["blessed_extension"]
342 },
343 "mediaPlayerPrivate": {
344 "dependencies": ["permission:mediaPlayerPrivate"],
345 "contexts": ["blessed_extension"]
346 },
347 "metricsPrivate": {
348 "dependencies": ["permission:metricsPrivate"],
349 "contexts": ["blessed_extension"]
350 },
351 "networkingPrivate": {
352 "dependencies": ["permission:networkingPrivate"],
353 "contexts": ["blessed_extension"]
354 },
355 "notifications": {
356 "dependencies": ["permission:notifications"],
357 "contexts": ["blessed_extension"]
358 },
359 "omnibox": {
360 "dependencies": ["manifest:omnibox"],
361 "contexts": ["blessed_extension"]
362 },
363 "pageAction": {
364 "dependencies": ["manifest:page_action"],
365 "contexts": ["blessed_extension"]
366 },
367 "pageActions": {
368 "dependencies": ["manifest:page_actions"],
369 "contexts": ["blessed_extension"]
370 },
371 "pageCapture": {
372 "dependencies": ["permission:pageCapture"],
373 "contexts": ["blessed_extension"]
374 },
375 "pageLauncher": {
376 "dependencies": ["manifest:page_launcher"],
377 "contexts": ["blessed_extension"]
378 },
379 "permissions": {
380 "channel": "stable",
381 "extension_types": ["extension", "packaged_app", "platform_app"],
382 "contexts": ["blessed_extension"]
383 },
384 "power": {
385 "dependencies": ["permission:power"],
386 "contexts": ["blessed_extension"]
387 },
388 "privacy": {
389 "dependencies": ["permission:privacy"],
390 "contexts": ["blessed_extension"]
391 },
392 "proxy": {
393 "dependencies": ["permission:proxy"],
394 "contexts": ["blessed_extension"]
395 },
396 "pushMessaging": {
397 "dependencies": ["permission:pushMessaging"],
398 "contexts": ["blessed_extension"]
399 },
400 "rtcPrivate": {
401 "dependencies": ["permission:rtcPrivate"],
402 "contexts": ["blessed_extension"]
403 },
404 "scriptBadge": {
405 "dependencies": ["manifest:script_badge"],
406 "contexts": ["blessed_extension"]
407 },
408 "serial": {
409 "dependencies": ["permission:serial"],
410 "contexts": ["blessed_extension"]
411 },
412 "sessionRestore": {
413 "dependencies": ["permission:sessionRestore"],
414 "contexts": ["blessed_extension"]
415 },
416 "socket": {
417 "dependencies": ["permission:socket"],
418 "contexts": ["blessed_extension"]
419 },
420 "storage": {
421 "dependencies": ["permission:storage"],
422 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
423 },
424 "syncFileSystem": {
425 "dependencies": ["permission:syncFileSystem"],
426 "contexts": ["blessed_extension"]
427 },
428 "systemIndicator": {
429 "dependencies": ["manifest:system_indicator"],
430 "contexts": ["blessed_extension"]
431 },
432 "systemInfo.display": {
433 "dependencies": ["permission:systemInfo.display"],
434 "contexts": ["blessed_extension"]
435 },
436 "systemPrivate": {
437 "dependencies": ["permission:systemPrivate"],
438 "contexts": ["blessed_extension"]
439 },
440 "tabCapture": {
441 "dependencies": ["permission:tabCapture"],
442 "contexts": ["blessed_extension"]
443 },
444 "tabs": {
445 "channel": "stable",
446 "extension_types": ["extension", "packaged_app"],
447 "contexts": ["blessed_extension"]
448 },
449 "terminalPrivate": {
450 "dependencies": ["permission:terminalPrivate"],
451 "contexts": ["blessed_extension"]
452 },
453 "test": {
454 "channel": "stable",
455 "extension_types": "all",
456 "contexts": ["blessed_extension", "unblessed_extension", "content_script"]
457 },
458 "topSites": {
459 "dependencies": ["permission:topSites"],
460 "contexts": ["blessed_extension"]
461 },
462 "tts": {
463 "dependencies": ["permission:tts"],
464 "contexts": ["blessed_extension"]
465 },
466 "ttsEngine": {
467 "dependencies": ["permission:ttsEngine"],
468 "contexts": ["blessed_extension"]
469 },
470 "types": {
471 "channel": "stable",
472 "extension_types": "all",
not at google - send to devlin 2013/05/24 19:09:18 i don't think this should include hosted_app?
cduvall 2013/05/30 00:50:51 Done.
473 "contexts": ["blessed_extension"]
474 },
475 "usb": {
476 "dependencies": ["permission:usb"],
477 "contexts": ["blessed_extension"]
478 },
479 "wallpaperPrivate": {
480 "dependencies": ["permission:wallpaperPrivate"],
481 "contexts": ["blessed_extension"]
482 },
483 "webNavigation": {
484 "dependencies": ["permission:webNavigation"],
485 "contexts": ["blessed_extension"]
486 },
487 "webRequest": {
488 "dependencies": ["permission:webRequest"],
489 "contexts": ["blessed_extension"]
490 },
491 "webSocketProxyPrivate": {
492 "dependencies": ["permission:webSocketProxyPrivate"],
493 "contexts": ["blessed_extension"]
494 },
495 "webstorePrivate": {
496 "dependencies": ["permission:webstorePrivate"],
497 "contexts": ["blessed_extension"]
498 },
499 "webview": {
500 "dependencies": ["permission:webview"],
501 "contexts": ["blessed_extension"]
502 },
503 "windows": {
504 "dependencies": ["permission:tabs"],
505 "contexts": ["blessed_extension"]
133 } 506 }
134 } 507 }
OLDNEW
« no previous file with comments | « no previous file | chrome/common/extensions/api/api.gyp » ('j') | chrome/common/extensions/api/api.gyp » ('J')

Powered by Google App Engine
This is Rietveld 408576698