Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / common / extensions / docs / server2 / test_data / canned_data.py
blob69d6d3516f856c41aef8ef664408411bc66fb13d
1 # Copyright 2013 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.
5 import json
7 from extensions_paths import CHROME_EXTENSIONS
8 from third_party.json_schema_compiler.json_parse import OrderedDict
9 from test_file_system import MoveAllTo, MoveTo
12 CANNED_CHANNELS = OrderedDict([
13 ('master', 'master'),
14 ('dev', 31),
15 ('beta', 30),
16 ('stable', 29)
20 CANNED_BRANCHES = OrderedDict([
21 ('master', 'master'),
22 (31, '1612'),
23 (30, '1599'),
24 (29, '1547'),
25 (28, '1500'),
26 (27, '1453'),
27 (26, '1410'),
28 (25, '1364'),
29 (24, '1312'),
30 (23, '1271'),
31 (22, '1229'),
32 (21, '1180'),
33 (20, '1132'),
34 (19, '1084'),
35 (18, '1025'),
36 (17, '963'),
37 (16, '912'),
38 (15, '874'),
39 (14, '835'),
40 (13, '782'),
41 (12, '742'),
42 (11, '696'),
43 (10, '648'),
44 ( 9, '597'),
45 ( 8, '552'),
46 ( 7, '544'),
47 ( 6, '495'),
48 ( 5, '396'),
52 CANNED_TEST_FILE_SYSTEM_DATA = MoveTo(CHROME_EXTENSIONS, {
53 'api': {
54 '_api_features.json': json.dumps({
55 'ref_test': { 'dependencies': ['permission:ref_test'] },
56 'tester': { 'dependencies': ['permission:tester', 'manifest:tester'] }
57 }),
58 '_manifest_features.json': '{}',
59 '_permission_features.json': '{}'
61 'docs': {
62 'templates': {
63 'articles': {
64 'test_article.html':
65 '<h1>hi</h1>you<h2>first</h2><h3>inner</h3><h2>second</h2>'
67 'intros': {
68 'test_intro.html':
69 'you<h2>first</h2><h3>inner</h3><h2>second</h2>'
71 'json': {
72 'api_availabilities.json': json.dumps({
73 'master_api': {
74 'channel': 'master'
76 'dev_api': {
77 'channel': 'dev'
79 'beta_api': {
80 'channel': 'beta'
82 'stable_api': {
83 'channel': 'stable',
84 'version': 20
86 }),
87 'intro_tables.json': json.dumps({
88 'tester': {
89 'Permissions': [
91 'class': 'override',
92 'text': '"tester"'
95 'text': 'is an API for testing things.'
98 'Learn More': [
100 'link': 'https://tester.test.com/welcome.html',
101 'text': 'Welcome!'
106 'manifest.json': '{}',
107 'permissions.json': '{}'
109 'private': {
110 'intro_tables': {
111 'master_message.html': 'available on master'
113 'table_of_contents.html': '<table-of-contents>',
120 _TEST_WHATS_NEW_JSON = {
121 "backgroundpages.to-be-non-persistent": {
122 "type": "additionsToExistingApis",
123 "description": "backgrounds to be non persistent",
124 "version": 22
126 "chromeSetting.set-regular-only-scope": {
127 "type": "additionsToExistingApis",
128 "description": "ChromeSetting.set now has a regular_only scope.",
129 "version": 21
131 "manifest-v1-deprecated": {
132 "type": "manifestChanges",
133 "description": "Manifest version 1 was deprecated in Chrome 18",
134 "version": 20
139 CANNED_API_FILE_SYSTEM_DATA = MoveAllTo(CHROME_EXTENSIONS, {
140 'master': {
141 'api': {
142 '_api_features.json': json.dumps({
143 'alarm': {
144 'channel': 'stable'
146 'app.window': {
147 'channel': 'stable'
149 'browserAction': {
150 'channel': 'stable'
152 'contextMenus': {
153 'channel': 'stable'
155 'events': {
156 'channel': 'stable'
158 'extension': {
159 'channel': 'stable'
161 'signedInDevices': {
162 'channel': 'stable'
164 'systemInfo.cpu': {
165 'channel': 'stable'
167 'systemInfo.stuff': {
168 'channel': 'dev'
171 '_manifest_features.json': json.dumps({
172 'history': {
173 'channel': 'beta'
175 'notifications': {
176 'channel': 'beta'
178 'page_action': {
179 'channel': 'stable'
181 'runtime': {
182 'channel': 'stable'
184 'storage': {
185 'channel': 'beta'
187 'sync': {
188 'channel': 'master'
190 'web_request': {
191 'channel': 'stable'
194 '_permission_features.json': json.dumps({
195 'alarms': {
196 'channel': 'stable'
198 'bluetooth': {
199 'channel': 'dev'
201 'bookmarks': {
202 'channel': 'stable'
204 'cookies': {
205 'channel': 'dev'
207 'declarativeContent': {
208 'channel': 'master'
210 'declarativeWebRequest': [
211 { 'channel': 'beta',
212 'extension_types': ['extension']
214 { 'channel': 'stable',
215 'extension_types': ['extension'],
216 'whitelist': ['aaa']
219 'falseBetaAPI': {
220 'channel': 'beta'
222 'systemInfo.display': {
223 'channel': 'stable'
225 'masterAPI': {
226 'channel': 'master'
229 'alarm.json': json.dumps([{
230 'namespace': 'alarm',
231 'description': '<code>alarm</code>'
232 }]),
233 'app_window.json': json.dumps([{
234 'namespace': 'app.window',
235 'description': '<code>app.window</code>'
236 }]),
237 'browser_action.json': json.dumps([{
238 'namespace': 'browserAction',
239 'description': '<code>browserAction</code>'
240 }]),
241 'bluetooth.idl': '\n'.join(('//Copyleft Schmopyright',
243 '//An IDL description, oh my!',
244 'namespace bluetooth {',
245 ' dictionary Socket {',
246 ' long id;',
247 ' };',
248 '};')),
249 'context_menus.json': json.dumps([{
250 'namespace': 'contextMenus',
251 'description': ''
252 }]),
253 'json_stable_api.json': json.dumps([{
254 'namespace': 'jsonStableAPI',
255 'description': 'An API with a predetermined availability.'
256 }]),
257 'idle.json': json.dumps([{'namespace': 'idle', 'description': ''}]),
258 'input_ime.json': json.dumps([{
259 'namespace': 'input.ime',
260 'description': 'An API that has the potential to cause some trouble.'
261 }]),
262 'menus.json': json.dumps([{'namespace': 'menus', 'description': ''}]),
263 'signed_in_devices.json': json.dumps([{
264 'namespace': 'signedInDevices',
265 'description': 'Another API that could cause some trouble.'
266 }]),
267 'system_info_stuff.json': json.dumps([{
268 'namespace': 'systemInfo.stuff',
269 'description': 'Yet another API that could wreck havoc...'
270 }]),
271 'tabs.json': json.dumps([{'namespace': 'tabs', 'description': ''}]),
272 'windows.json': json.dumps([{'namespace': 'windows', 'description': ''}])
274 'docs': {
275 'templates': {
276 'json': {
277 'api_availabilities.json': json.dumps({
278 'jsonMasterAPI': {
279 'channel': 'master'
281 'jsonDevAPI': {
282 'channel': 'dev'
284 'jsonBetaAPI': {
285 'channel': 'beta'
287 'jsonStableAPI': {
288 'channel': 'stable',
289 'version': 20
292 'intro_tables.json': json.dumps({
293 'test': [
295 'Permissions': 'probably none'
299 'manifest.json': '{}',
300 'permissions.json': '{}',
301 'whats_new.json': json.dumps(_TEST_WHATS_NEW_JSON)
303 'public': {
304 'apps': {
305 'alarm.html': 'alarm.html',
306 'app_window.html': 'app_window.html',
307 'contextMenus.html': 'contextMenus.html',
309 'extensions': {
310 'alarm.html': 'alarm.html',
311 'browserAction.html': 'browserAction.html',
312 'contextMenus.html': 'contextMenus.html',
318 '1612': {
319 'api': {
320 '_api_features.json': json.dumps({
321 'alarm': {
322 'channel': 'stable'
324 'app.window': {
325 'channel': 'stable'
327 'browserAction': {
328 'channel': 'stable'
330 'events': {
331 'channel': 'master'
333 'extension': {
334 'channel': 'stable'
336 'systemInfo.cpu': {
337 'channel': 'stable'
339 'systemInfo.stuff': {
340 'channel': 'dev'
343 '_manifest_features.json': json.dumps({
344 'contextMenus': {
345 'channel': 'master'
347 'notifications': {
348 'channel': 'beta'
350 'page_action': {
351 'channel': 'stable'
353 'runtime': {
354 'channel': 'stable'
356 'storage': {
357 'channel': 'dev'
359 'sync': {
360 'channel': 'master'
362 'system_info_display': {
363 'channel': 'stable'
365 'web_request': {
366 'channel': 'stable'
369 '_permission_features.json': json.dumps({
370 'alarms': {
371 'channel': 'stable'
373 'appsFirst': {
374 'channel': 'stable',
375 'extension_types': ['extension', 'platform_app']
377 'bluetooth': {
378 'channel': 'dev'
380 'bookmarks': {
381 'channel': 'stable'
383 'cookies': {
384 'channel': 'dev'
386 'declarativeContent': {
387 'channel': 'master'
389 'declarativeWebRequest': [
390 { 'channel': 'beta' },
391 { 'channel': 'stable', 'whitelist': ['aaa'] }
393 'downloads': {
394 'channel': 'beta'
397 'alarm.json': json.dumps([{
398 'namespace': 'alarm',
399 'description': '<code>alarm</code>'
400 }]),
401 'app_window.json': json.dumps([{
402 'namespace': 'app.window',
403 'description': '<code>app.window</code>'
404 }]),
405 'browser_action.json': json.dumps([{
406 'namespace': 'browserAction',
407 'description': '<code>browserAction</code>'
408 }]),
409 'idle.json': json.dumps([{'namespace': 'idle'}]),
410 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
411 'menus.json': json.dumps([{'namespace': 'menus'}]),
412 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
413 'windows.json': json.dumps([{'namespace': 'windows'}])
415 'docs': {
416 'templates': {
417 'json': {
418 'api_availabilities.json': json.dumps({
419 'jsonMasterAPI': {
420 'channel': 'master'
422 'jsonDevAPI': {
423 'channel': 'dev'
425 'jsonBetaAPI': {
426 'channel': 'beta'
428 'jsonStableAPI': {
429 'channel': 'stable',
430 'version': 20
433 'intro_tables.json': json.dumps({
434 'test': [
436 'Permissions': 'probably none'
440 'manifest.json': '{}',
441 'permissions.json': '{}',
442 'whats_new.json': json.dumps(_TEST_WHATS_NEW_JSON)
444 'public': {
445 'apps': {
446 'alarm.html': 'alarm.html',
447 'app_window.html': 'app_window.html',
449 'extensions': {
450 'alarm.html': 'alarm.html',
451 'browserAction.html': 'browserAction.html',
457 '1599': {
458 'api': {
459 '_api_features.json': json.dumps({
460 'alarm': {
461 'channel': 'stable'
463 'app.window': {
464 'channel': 'stable'
466 'browserAction': {
467 'channel': 'stable'
469 'events': {
470 'channel': 'master'
472 'extension': {
473 'channel': 'stable'
475 'systemInfo.cpu': {
476 'channel': 'beta'
478 'systemInfo.stuff': {
479 'channel': 'dev'
482 '_manifest_features.json': json.dumps({
483 'contextMenus': {
484 'channel': 'master'
486 'notifications': {
487 'channel': 'dev'
489 'page_action': {
490 'channel': 'stable'
492 'runtime': {
493 'channel': 'stable'
495 'storage': {
496 'channel': 'dev'
498 'sync': {
499 'channel': 'master'
501 'system_info_display': {
502 'channel': 'stable'
504 'web_request': {
505 'channel': 'stable'
508 '_permission_features.json': json.dumps({
509 'alarms': {
510 'channel': 'stable'
512 'appsFirst': {
513 'channel': 'stable',
514 'extension_types': ['extension', 'platform_app']
516 'bluetooth': {
517 'channel': 'dev'
519 'bookmarks': {
520 'channel': 'stable'
522 'cookies': {
523 'channel': 'dev'
525 'declarativeContent': {
526 'channel': 'master'
528 'declarativeWebRequest': [
529 { 'channel': 'beta' },
530 { 'channel': 'stable', 'whitelist': ['aaa'] }
532 'downloads': {
533 'channel': 'beta'
536 'alarm.json': json.dumps([{
537 'namespace': 'alarm',
538 'description': '<code>alarm</code>'
539 }]),
540 'app_window.json': json.dumps([{
541 'namespace': 'app.window',
542 'description': '<code>app.window</code>'
543 }]),
544 'browser_action.json': json.dumps([{
545 'namespace': 'browserAction',
546 'description': '<code>browserAction</code>'
547 }]),
548 'idle.json': json.dumps([{'namespace': 'idle'}]),
549 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
550 'menus.json': json.dumps([{'namespace': 'menus'}]),
551 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
552 'windows.json': json.dumps([{'namespace': 'windows'}])
554 'docs': {
555 'templates': {
556 'json': {
557 'api_availabilities.json': json.dumps({
558 'jsonMasterAPI': {
559 'channel': 'master'
561 'jsonDevAPI': {
562 'channel': 'dev'
564 'jsonBetaAPI': {
565 'channel': 'beta'
567 'jsonStableAPI': {
568 'channel': 'stable',
569 'version': 20
572 'intro_tables.json': json.dumps({
573 'test': [
575 'Permissions': 'probably none'
579 'manifest.json': '{}',
580 'permissions.json': '{}',
581 'whats_new.json': json.dumps(_TEST_WHATS_NEW_JSON)
583 'public': {
584 'apps': {
585 'alarm.html': 'alarm.html',
586 'app_window.html': 'app_window.html',
588 'extensions': {
589 'alarm.html': 'alarm.html',
590 'browserAction.html': 'browserAction.html',
596 '1547': {
597 'api': {
598 '_api_features.json': json.dumps({
599 'alarm': {
600 'channel': 'stable'
602 'app.window': {
603 'channel': 'stable'
605 'browserAction': {
606 'channel': 'stable'
608 'events': {
609 'channel': 'master'
611 'extension': {
612 'channel': 'stable'
614 'systemInfo.stuff': {
615 'channel': 'dev'
618 '_manifest_features.json': json.dumps({
619 'contextMenus': {
620 'channel': 'master'
622 'notifications': {
623 'channel': 'dev'
625 'page_action': {
626 'channel': 'stable'
628 'runtime': {
629 'channel': 'stable'
631 'storage': {
632 'channel': 'dev'
634 'sync': {
635 'channel': 'master'
637 'system_info_display': {
638 'channel': 'stable'
640 'web_request': {
641 'channel': 'stable'
644 '_permission_features.json': json.dumps({
645 'alarms': {
646 'channel': 'stable'
648 'appsFirst': {
649 'channel': 'stable',
650 'extension_types': ['extension', 'platform_app']
652 'bluetooth': {
653 'channel': 'dev'
655 'bookmarks': {
656 'channel': 'stable'
658 'cookies': {
659 'channel': 'dev'
661 'declarativeContent': {
662 'channel': 'master'
664 'declarativeWebRequest': [
665 { 'channel': 'beta' },
666 { 'channel': 'stable', 'whitelist': ['aaa'] }
668 'downloads': {
669 'channel': 'beta'
672 'alarm.json': json.dumps([{
673 'namespace': 'alarm',
674 'description': '<code>alarm</code>'
675 }]),
676 'app_window.json': json.dumps([{
677 'namespace': 'app.window',
678 'description': '<code>app.window</code>'
679 }]),
680 'browser_action.json': json.dumps([{
681 'namespace': 'browserAction',
682 'description': '<code>browserAction</code>'
683 }]),
684 'idle.json': json.dumps([{'namespace': 'idle'}]),
685 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
686 'menus.json': json.dumps([{'namespace': 'menus'}]),
687 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
688 'windows.json': json.dumps([{'namespace': 'windows'}])
690 'docs': {
691 'templates': {
692 'json': {
693 'api_availabilities.json': json.dumps({
694 'jsonMasterAPI': {
695 'channel': 'master'
697 'jsonDevAPI': {
698 'channel': 'dev'
700 'jsonBetaAPI': {
701 'channel': 'beta'
703 'jsonStableAPI': {
704 'channel': 'stable',
705 'version': 20
708 'intro_tables.json': json.dumps({
709 'test': [
711 'Permissions': 'probably none'
715 'manifest.json': '{}',
716 'permissions.json': '{}',
717 'whats_new.json': json.dumps(_TEST_WHATS_NEW_JSON)
719 'public': {
720 'apps': {
721 'alarm.html': 'alarm.html',
722 'app_window.html': 'app_window.html',
724 'extensions': {
725 'alarm.html': 'alarm.html',
726 'browserAction.html': 'browserAction.html',
732 '1500': {
733 'api': {
734 '_api_features.json': json.dumps({
735 'alarm': {
736 'channel': 'stable'
738 'app.window': {
739 'channel': 'stable'
741 'browserAction': {
742 'channel': 'stable'
744 'events': {
745 'channel': 'master'
747 'extension': {
748 'channel': 'stable'
750 'systemInfo.stuff': {
751 'channel': 'dev'
754 '_manifest_features.json': json.dumps({
755 'contextMenus': {
756 'channel': 'master'
758 'notifications': {
759 'channel': 'dev'
761 'page_action': {
762 'channel': 'stable'
764 'runtime': {
765 'channel': 'stable'
767 'storage': {
768 'channel': 'dev'
770 'sync': {
771 'channel': 'master'
773 'system_info_display': {
774 'channel': 'stable'
776 'web_request': {
777 'channel': 'stable'
780 '_permission_features.json': json.dumps({
781 'alarms': {
782 'channel': 'stable'
784 'appsFirst': {
785 'channel': 'stable',
786 'extension_types': ['extension', 'platform_app']
788 'bluetooth': {
789 'channel': 'dev'
791 'bookmarks': {
792 'channel': 'stable'
794 'cookies': {
795 'channel': 'dev'
797 'declarativeContent': {
798 'channel': 'master'
800 'declarativeWebRequest': [
801 { 'channel': 'beta' },
802 { 'channel': 'stable', 'whitelist': ['aaa'] }
804 'downloads': {
805 'channel': 'beta'
808 'alarm.json': json.dumps([{
809 'namespace': 'alarm',
810 'description': '<code>alarm</code>'
811 }]),
812 'app_window.json': json.dumps([{
813 'namespace': 'app.window',
814 'description': '<code>app.window</code>'
815 }]),
816 'browser_action.json': json.dumps([{
817 'namespace': 'browserAction',
818 'description': '<code>browserAction</code>'
819 }]),
820 'idle.json': json.dumps([{'namespace': 'idle'}]),
821 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
822 'menus.json': json.dumps([{'namespace': 'menus'}]),
823 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
824 'windows.json': json.dumps([{'namespace': 'windows'}])
826 'docs': {
827 'templates': {
828 'json': {
829 'api_availabilities.json': json.dumps({
830 'jsonMasterAPI': {
831 'channel': 'master'
833 'jsonDevAPI': {
834 'channel': 'dev'
836 'jsonBetaAPI': {
837 'channel': 'beta'
839 'jsonStableAPI': {
840 'channel': 'stable',
841 'version': 20
844 'intro_tables.json': json.dumps({
845 'test': [
847 'Permissions': 'probably none'
851 'manifest.json': '{}',
852 'permissions.json': '{}',
853 'whats_new.json': json.dumps(_TEST_WHATS_NEW_JSON)
855 'public': {
856 'apps': {
857 'alarm.html': 'alarm.html',
858 'app_window.html': 'app_window.html',
860 'extensions': {
861 'alarm.html': 'alarm.html',
862 'browserAction.html': 'browserAction.html',
868 '1453': {
869 'api': {
870 '_api_features.json': json.dumps({
871 'alarm': {
872 'channel': 'stable'
874 'app.window': {
875 'channel': 'stable'
877 'browserAction': {
878 'channel': 'stable'
880 'events': {
881 'channel': 'dev'
883 'extension': {
884 'channel': 'stable'
886 'systemInfo.stuff': {
887 'channel': 'dev'
890 '_manifest_features.json': json.dumps({
891 'notifications': {
892 'channel': 'dev'
894 'page_action': {
895 'channel': 'stable'
897 'runtime': {
898 'channel': 'stable'
900 'storage': {
901 'channel': 'dev'
903 'system_info_display': {
904 'channel': 'stable'
906 'web_request': {
907 'channel': 'stable'
910 '_permission_features.json': json.dumps({
911 'alarms': {
912 'channel': 'stable'
914 'appsFirst': {
915 'channel': 'stable',
916 'extension_types': ['extension', 'platform_app']
918 'bluetooth': {
919 'channel': 'dev'
921 'bookmarks': {
922 'channel': 'stable'
924 'context_menus': {
925 'channel': 'master'
927 'declarativeContent': {
928 'channel': 'master'
930 'declarativeWebRequest': [
931 { 'channel': 'beta' },
932 { 'channel': 'stable', 'whitelist': ['aaa'] }
934 'downloads': {
935 'channel': 'dev'
938 'alarm.json': json.dumps([{
939 'namespace': 'alarm',
940 'description': '<code>alarm</code>'
941 }]),
942 'app_window.json': json.dumps([{
943 'namespace': 'app.window',
944 'description': '<code>app.window</code>'
945 }]),
946 'browser_action.json': json.dumps([{
947 'namespace': 'browserAction',
948 'description': '<code>browserAction</code>'
949 }]),
950 'idle.json': json.dumps([{'namespace': 'idle'}]),
951 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
952 'menus.json': json.dumps([{'namespace': 'menus'}]),
953 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
954 'windows.json': json.dumps([{'namespace': 'windows'}])
956 'docs': {
957 'templates': {
958 'json': {
959 'api_availabilities.json': json.dumps({
960 'jsonMasterAPI': {
961 'channel': 'master'
963 'jsonDevAPI': {
964 'channel': 'dev'
966 'jsonBetaAPI': {
967 'channel': 'beta'
969 'jsonStableAPI': {
970 'channel': 'stable',
971 'version': 20
974 'intro_tables.json': json.dumps({
975 'test': [
977 'Permissions': 'probably none'
981 'manifest.json': '{}',
982 'permissions.json': '{}',
983 'whats_new.json': json.dumps(_TEST_WHATS_NEW_JSON)
985 'public': {
986 'apps': {
987 'alarm.html': 'alarm.html',
988 'app_window.html': 'app_window.html',
990 'extensions': {
991 'alarm.html': 'alarm.html',
992 'browserAction.html': 'browserAction.html',
999 '1410': {
1000 'api': {
1001 '_manifest_features.json': json.dumps({
1002 'alarm': {
1003 'channel': 'stable'
1005 'app.window': {
1006 'channel': 'stable'
1008 'browserAction': {
1009 'channel': 'stable'
1011 'events': {
1012 'channel': 'beta'
1014 'notifications': {
1015 'channel': 'dev'
1017 'page_action': {
1018 'channel': 'stable'
1020 'runtime': {
1021 'channel': 'stable'
1023 'web_request': {
1024 'channel': 'stable'
1027 '_permission_features.json': json.dumps({
1028 'alarms': {
1029 'channel': 'stable'
1031 'appsFirst': {
1032 'channel': 'stable',
1033 'extension_types': ['extension', 'platform_app']
1035 'bluetooth': {
1036 'channel': 'dev'
1038 'bookmarks': {
1039 'channel': 'stable'
1041 'context_menus': {
1042 'channel': 'master'
1044 'declarativeContent': {
1045 'channel': 'master'
1047 'declarativeWebRequest': [
1048 { 'channel': 'beta' },
1049 { 'channel': 'stable', 'whitelist': ['aaa'] }
1051 'systemInfo.display': {
1052 'channel': 'stable'
1055 'alarm.json': json.dumps([{
1056 'namespace': 'alarm',
1057 'description': '<code>alarm</code>'
1058 }]),
1059 'app_window.json': json.dumps([{
1060 'namespace': 'app.window',
1061 'description': '<code>app.window</code>'
1062 }]),
1063 'browser_action.json': json.dumps([{
1064 'namespace': 'browserAction',
1065 'description': '<code>browserAction</code>'
1066 }]),
1067 'idle.json': json.dumps([{'namespace': 'idle'}]),
1068 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
1069 'menus.json': json.dumps([{'namespace': 'menus'}]),
1070 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
1071 'windows.json': json.dumps([{'namespace': 'windows'}])
1074 '1364': {
1075 'api': {
1076 '_manifest_features.json': json.dumps({
1077 'page_action': {
1078 'channel': 'stable'
1080 'runtime': {
1081 'channel': 'stable'
1084 '_permission_features.json': json.dumps({
1085 'alarms': {
1086 'channel': 'stable'
1088 'appsFirst': {
1089 'channel': 'stable',
1090 'extension_types': ['platform_app']
1092 'bookmarks': {
1093 'channel': 'stable'
1095 'systemInfo.display': {
1096 'channel': 'stable'
1098 'webRequest': {
1099 'channel': 'stable'
1102 'idle.json': json.dumps([{'namespace': 'idle'}]),
1103 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
1104 'menus.json': json.dumps([{'namespace': 'menus'}]),
1105 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
1106 'windows.json': json.dumps([{'namespace': 'windows'}])
1109 '1312': {
1110 'api': {
1111 '_manifest_features.json': json.dumps({
1112 'page_action': {
1113 'channel': 'stable'
1115 'runtime': {
1116 'channel': 'stable'
1118 'web_request': {
1119 'channel': 'stable'
1122 '_permission_features.json': json.dumps({
1123 'alarms': {
1124 'channel': 'stable'
1126 'bookmarks': {
1127 'channel': 'stable'
1129 'systemInfo.display': {
1130 'channel': 'stable'
1133 'idle.json': json.dumps([{'namespace': 'idle'}]),
1134 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
1135 'menus.json': json.dumps([{'namespace': 'menus'}]),
1136 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
1137 'windows.json': json.dumps([{'namespace': 'windows'}])
1140 '1271': {
1141 'api': {
1142 '_manifest_features.json': json.dumps({
1143 'page_action': {
1144 'channel': 'stable'
1146 'runtime': {
1147 'channel': 'stable'
1149 'system_info_display': {
1150 'channel': 'stable'
1153 '_permission_features.json': json.dumps({
1154 'alarms': {
1155 'channel': 'beta'
1157 'bookmarks': {
1158 'channel': 'stable'
1160 'webRequest': {
1161 'channel': 'stable'
1164 'alarms.idl': '//copy\n\n//desc\nnamespace alarms {}',
1165 'idle.json': json.dumps([{'namespace': 'idle'}]),
1166 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
1167 'menus.json': json.dumps([{'namespace': 'menus'}]),
1168 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
1169 'windows.json': json.dumps([{'namespace': 'windows'}])
1172 '1229': {
1173 'api': {
1174 '_manifest_features.json': json.dumps({
1175 'page_action': {
1176 'channel': 'stable'
1178 'runtime': {
1179 'channel': 'stable'
1181 'web_request': {
1182 'channel': 'stable'
1185 '_permission_features.json': json.dumps({
1186 'bookmarks': {
1187 'channel': 'stable'
1189 'systemInfo.display': {
1190 'channel': 'beta'
1193 'alarms.idl': '//copy\n\n//desc\nnamespace alarms {}',
1194 'idle.json': json.dumps([{'namespace': 'idle'}]),
1195 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
1196 'menus.json': json.dumps([{'namespace': 'menus'}]),
1197 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
1200 '1180': {
1201 'api': {
1202 '_manifest_features.json': json.dumps({
1203 'page_action': {
1204 'channel': 'stable'
1206 'runtime': {
1207 'channel': 'stable'
1210 '_permission_features.json': json.dumps({
1211 'bookmarks': {
1212 'channel': 'stable'
1214 'webRequest': {
1215 'channel': 'stable'
1218 'bookmarks.json': json.dumps([{'namespace': 'bookmarks'}]),
1219 'idle.json': json.dumps([{'namespace': 'idle'}]),
1220 'input_ime.json': json.dumps([{'namespace': 'input.ime'}]),
1221 'menus.json': json.dumps([{'namespace': 'menus'}]),
1222 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
1225 '1132': {
1226 'api': {
1227 '_manifest_features.json': json.dumps({
1228 'bookmarks': {
1229 'channel': 'master'
1231 'page_action': {
1232 'channel': 'stable'
1235 '_permission_features.json': json.dumps({
1236 'webRequest': {
1237 'channel': 'stable'
1240 'bookmarks.json': json.dumps([{'namespace': 'bookmarks'}]),
1241 'idle.json': json.dumps([{'namespace': 'idle'}]),
1242 'input.ime.json': json.dumps([{'namespace': 'input.ime'}]),
1243 'menus.json': json.dumps([{'namespace': 'menus'}]),
1244 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
1247 '1084': {
1248 'api': {
1249 '_manifest_features.json': json.dumps({
1250 'contents': 'nothing of interest here,really'
1252 'bookmarks.json': json.dumps([{'namespace': 'bookmarks'}]),
1253 'idle.json': json.dumps([{'namespace': 'idle'}]),
1254 'input.ime.json': json.dumps([{'namespace': 'input.ime'}]),
1255 'menus.json': json.dumps([{'namespace': 'menus'}]),
1256 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
1257 'pageAction.json': json.dumps([{'namespace': 'pageAction'}]),
1258 'webRequest.json': json.dumps([{'namespace': 'webRequest'}])
1261 '1025': {
1262 'api': {
1263 'bookmarks.json': json.dumps([{'namespace': 'bookmarks'}]),
1264 'idle.json': json.dumps([{'namespace': 'idle'}]),
1265 'input.ime.json': json.dumps([{'namespace': 'input.ime'}]),
1266 'menus.json': json.dumps([{'namespace': 'menus'}]),
1267 'tabs.json': json.dumps([{'namespace': 'tabs'}]),
1268 'pageAction.json': json.dumps([{'namespace': 'pageAction'}]),
1269 'webRequest.json': json.dumps([{'namespace': 'webRequest'}])
1272 '963': {
1273 'api': {
1274 'extension_api.json': json.dumps([
1276 'namespace': 'idle'
1279 'namespace': 'menus'
1282 'namespace': 'pageAction'
1285 'namespace': 'webRequest'
1290 '912': {
1291 'api': {
1292 'extension_api.json': json.dumps([
1294 'namespace': 'idle'
1297 'namespace': 'menus'
1300 'namespace': 'pageAction'
1303 'namespace': 'experimental.webRequest'
1308 '874': {
1309 'api': {
1310 'extension_api.json': json.dumps([
1312 'namespace': 'idle'
1315 'namespace': 'menus'
1318 'namespace': 'pageAction'
1323 '835': {
1324 'api': {
1325 'extension_api.json': json.dumps([
1327 'namespace': 'idle'
1330 'namespace': 'menus'
1333 'namespace': 'pageAction'
1338 '782': {
1339 'api': {
1340 'extension_api.json': json.dumps([
1342 'namespace': 'idle'
1345 'namespace': 'menus'
1348 'namespace': 'pageAction'
1353 '742': {
1354 'api': {
1355 'extension_api.json': json.dumps([
1357 'namespace': 'idle'
1360 'namespace': 'menus'
1363 'namespace': 'pageAction'
1368 '696': {
1369 'api': {
1370 'extension_api.json': json.dumps([
1372 'namespace': 'idle'
1375 'namespace': 'menus'
1378 'namespace': 'pageAction'
1383 '648': {
1384 'api': {
1385 'extension_api.json': json.dumps([
1387 'namespace': 'idle'
1390 'namespace': 'menus'
1393 'namespace': 'pageAction'
1398 '597': {
1399 'api': {
1400 'extension_api.json': json.dumps([
1402 'namespace': 'idle'
1405 'namespace': 'menus'
1408 'namespace': 'pageAction'
1413 '552': {
1414 'api': {
1415 'extension_api.json': json.dumps([
1417 'namespace': 'idle'
1420 'namespace': 'menus'
1423 'namespace': 'pageAction'
1428 '544': {
1429 'api': {
1430 'extension_api.json': json.dumps([
1432 'namespace': 'idle'
1435 'namespace': 'menus'
1440 '495': {
1441 'api': {
1442 'extension_api.json': json.dumps([
1444 'namespace': 'idle'
1447 'namespace': 'menus'
1452 '396': {
1453 'api': {
1454 'extension_api.json': json.dumps([
1456 'namespace': 'idle'
1459 'namespace': 'experimental.menus'