- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / common / extensions / docs / server2 / test_data / object_level_availability / tabs.py
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.
4
5 import json
6
7
8 TABS_SCHEMA_BRANCHES = {
9   'trunk': {
10     'api': {
11       '_api_features.json': "{}",
12       '_manifest_features.json': "{}",
13       '_permission_features.json': "{}",
14       'tabs.json': json.dumps([{
15         'namespace': 'tabs',
16         'types': [
17           {
18             'id': 'Tab',
19             'properties': {
20               'url': {},
21               'index': {},
22               'selected': {},
23               'id': {},
24               'windowId': {}
25             }
26           },
27           {
28             'id': 'InjectDetails',
29             'properties': {
30               'allFrames': {},
31               'code': {},
32               'file': {}
33             }
34           }
35         ],
36         'properties': {
37           'fakeTabsProperty1': {},
38           'fakeTabsProperty2': {},
39           'fakeTabsProperty3': {}
40         },
41         'functions': [
42           {
43             'name': 'getCurrent',
44             'parameters': [
45               {
46                 'name': 'callback',
47                 'parameters': [
48                   {
49                     'name': 'tab'
50                   }
51                 ]
52               }
53             ]
54           },
55           {
56             'name': 'get',
57             'parameters': [
58               {
59                 'name': 'callback',
60                 'parameters': [
61                   {
62                     'name': 'tab'
63                   }
64                 ]
65               },
66               {
67                 'name': 'tabId'
68               }
69             ]
70           }
71         ],
72         'events': [
73           {
74             'name': 'onActivated',
75             'parameters': [
76               {
77                 'name': 'activeInfo',
78                 'properties': {
79                   'tabId': {},
80                   'windowId': {}
81                 }
82               }
83             ]
84           },
85           {
86             'name': 'onUpdated',
87             'parameters': [
88               {
89                 'name': 'tabId'
90               },
91               {
92                 'name': 'tab'
93               },
94               {
95                 'name': 'changeInfo',
96                 'properties': {
97                   'pinned': {},
98                   'status': {}
99                 }
100               }
101             ]
102           }
103         ]
104       }])
105     }
106   },
107   '1500': {
108     'api': {
109       '_api_features.json': "{}",
110       '_manifest_features.json': "{}",
111       '_permission_features.json': "{}",
112       'tabs.json': json.dumps([{
113         'namespace': 'tabs',
114         'types': [
115           {
116             'id': 'Tab',
117             'properties': {
118               'url': {},
119               'index': {},
120               'selected': {},
121               'id': {},
122               'windowId': {}
123             }
124           },
125           {
126             'id': 'InjectDetails',
127             'properties': {
128               'allFrames': {},
129               'code': {},
130               'file': {}
131             }
132           }
133         ],
134         'properties': {
135           'fakeTabsProperty1': {},
136           'fakeTabsProperty2': {}
137         },
138         'functions': [
139           {
140             'name': 'getCurrent',
141             'parameters': [
142               {
143                 'name': 'callback',
144                 'parameters': [
145                   {
146                     'name': 'tab'
147                   }
148                 ]
149               }
150             ]
151           },
152           {
153             'name': 'get',
154             'parameters': [
155               {
156                 'name': 'callback',
157                 'parameters': [
158                   {
159                     'name': 'tab'
160                   }
161                 ]
162               },
163               {
164                 'name': 'tabId'
165               }
166             ]
167           }
168         ],
169         'events': [
170           {
171             'name': 'onActivated',
172             'parameters': [
173               {
174                 'name': 'activeInfo',
175                 'properties': {
176                   'tabId': {},
177                   'windowId': {}
178                 }
179               }
180             ]
181           },
182           {
183             'name': 'onUpdated',
184             'parameters': [
185               {
186                 'name': 'tabId'
187               },
188               {
189                 'name': 'tab'
190               },
191               {
192                 'name': 'changeInfo',
193                 'properties': {
194                   'pinned': {},
195                   'status': {}
196                 }
197               }
198             ]
199           }
200         ]
201       }])
202     }
203   },
204   '1453': {
205     'api': {
206       '_api_features.json': "{}",
207       '_manifest_features.json': "{}",
208       '_permission_features.json': "{}",
209       'tabs.json': json.dumps([{
210         'namespace': 'tabs',
211         'types': [
212           {
213             'id': 'Tab',
214             'properties': {
215               'url': {},
216               'index': {},
217               'selected': {},
218               'id': {},
219               'windowId': {}
220             }
221           },
222           {
223             'id': 'InjectDetails',
224             'properties': {
225               'allFrames': {},
226               'code': {},
227               'file': {}
228             }
229           }
230         ],
231         'properties': {
232           'fakeTabsProperty1': {},
233           'fakeTabsProperty2': {}
234         },
235         'functions': [
236           {
237             'name': 'getCurrent',
238             'parameters': [
239               {
240                 'name': 'callback',
241                 'parameters': [
242                   {
243                     'name': 'tab'
244                   }
245                 ]
246               }
247             ]
248           },
249           {
250             'name': 'get',
251             'parameters': [
252               {
253                 'name': 'callback',
254                 'parameters': [
255                   {
256                     'name': 'tab'
257                   }
258                 ]
259               },
260               {
261                 'name': 'tabId'
262               }
263             ]
264           }
265         ],
266         'events': [
267           {
268             'name': 'onActivated',
269             'parameters': [
270               {
271                 'name': 'activeInfo',
272                 'properties': {
273                   'tabId': {}
274                 }
275               }
276             ]
277           },
278           {
279             'name': 'onUpdated',
280             'parameters': [
281               {
282                 'name': 'tabId'
283               },
284               {
285                 'name': 'changeInfo',
286                 'properties': {
287                   'pinned': {},
288                   'status': {}
289                 }
290               }
291             ]
292           }
293         ]
294       }])
295     }
296   },
297   '1410': {
298     'api': {
299       '_manifest_features.json': "{}",
300       '_permission_features.json': "{}",
301       'tabs.json': json.dumps([{
302         'namespace': 'tabs',
303         'types': [
304           {
305             'id': 'Tab',
306             'properties': {
307               'url': {},
308               'index': {},
309               'selected': {},
310               'id': {},
311               'windowId': {}
312             }
313           },
314           {
315             'id': 'InjectDetails',
316             'properties': {
317               'allFrames': {},
318               'code': {},
319               'file': {}
320             }
321           }
322         ],
323         'properties': {
324           'fakeTabsProperty1': {},
325           'fakeTabsProperty2': {}
326         },
327         'functions': [
328           {
329             'name': 'getCurrent',
330             'parameters': [
331               {
332                 'name': 'callback',
333                 'parameters': [
334                   {
335                     'name': 'tab'
336                   }
337                 ]
338               }
339             ]
340           },
341           {
342             'name': 'get',
343             'parameters': [
344               {
345                 'name': 'callback',
346                 'parameters': [
347                   {
348                     'name': 'tab'
349                   }
350                 ]
351               }
352             ]
353           }
354         ],
355         'events': [
356           {
357             'name': 'onUpdated',
358             'parameters': [
359               {
360                 'name': 'tabId'
361               },
362               {
363                 'name': 'changeInfo',
364                 'properties': {
365                   'pinned': {},
366                   'status': {}
367                 }
368               }
369             ]
370           }
371         ]
372       }])
373     }
374   },
375   '1364': {
376     'api': {
377       '_manifest_features.json': "{}",
378       '_permission_features.json': "{}",
379       'tabs.json': json.dumps([{
380         'namespace': 'tabs',
381         'types': [
382           {
383             'id': 'Tab',
384             'properties': {
385               'url': {},
386               'index': {},
387               'selected': {},
388               'id': {},
389               'windowId': {}
390             }
391           },
392           {
393             'id': 'InjectDetails',
394             'properties': {
395               'allFrames': {}
396             }
397           }
398         ],
399         'properties': {
400           'fakeTabsProperty1': {},
401           'fakeTabsProperty2': {}
402         },
403         'functions': [
404           {
405             'name': 'getCurrent',
406             'parameters': [
407               {
408                 'name': 'callback',
409                 'parameters': [
410                   {
411                     'name': 'tab'
412                   }
413                 ]
414               }
415             ]
416           },
417           {
418             'name': 'get',
419             'parameters': [
420               {
421                 'name': 'callback',
422                 'parameters': [
423                   {
424                     'name': 'tab'
425                   }
426                 ]
427               }
428             ]
429           }
430         ],
431         'events': [
432           {
433             'name': 'onUpdated',
434             'parameters': [
435               {
436                 'name': 'tabId'
437               },
438               {
439                 'name': 'changeInfo',
440                 'properties': {
441                   'pinned': {},
442                   'status': {}
443                 }
444               }
445             ]
446           }
447         ]
448       }])
449     }
450   },
451   '1312': {
452     'api': {
453       '_manifest_features.json': "{}",
454       '_permission_features.json': "{}",
455       'tabs.json': json.dumps([{
456         'namespace': 'tabs',
457         'types': [
458           {
459             'id': 'Tab',
460             'properties': {
461               'url': {},
462               'index': {},
463               'selected': {},
464               'id': {},
465               'windowId': {}
466             }
467           }
468         ],
469         'properties': {
470           'fakeTabsProperty1': {},
471           'fakeTabsProperty2': {}
472         },
473         'functions': [
474           {
475             'name': 'getCurrent',
476             'parameters': [
477               {
478                 'name': 'callback',
479                 'parameters': [
480                   {
481                     'name': 'tab'
482                   }
483                 ]
484               }
485             ]
486           },
487           {
488             'name': 'get',
489             'parameters': [
490               {
491                 'name': 'callback',
492                 'parameters': [
493                   {
494                     'name': 'tab'
495                   }
496                 ]
497               }
498             ]
499           }
500         ],
501         'events': [
502           {
503             'name': 'onUpdated',
504             'parameters': [
505               {
506                 'name': 'tabId'
507               },
508               {
509                 'name': 'changeInfo',
510                 'properties': {
511                   'pinned': {},
512                   'status': {}
513                 }
514               }
515             ]
516           }
517         ]
518       }])
519     }
520   },
521   '1271': {
522     'api': {
523       '_manifest_features.json': "{}",
524       '_permission_features.json': "{}",
525       'tabs.json': json.dumps([{
526         'namespace': 'tabs',
527         'types': [
528           {
529             'id': 'Tab',
530             'properties': {
531               'url': {},
532               'index': {},
533               'selected': {},
534               'id': {},
535               'windowId': {}
536             }
537           }
538         ],
539         'properties': {
540           'fakeTabsProperty1': {},
541           'fakeTabsProperty2': {}
542         },
543         'functions': [
544           {
545             'name': 'getCurrent',
546             'parameters': [
547               {
548                 'name': 'callback',
549                 'parameters': [
550                   {
551                     'name': 'tab'
552                   }
553                 ]
554               }
555             ]
556           },
557           {
558             'name': 'get',
559             'parameters': [
560               {
561                 'name': 'callback',
562                 'parameters': [
563                   {
564                     'name': 'tab'
565                   }
566                 ]
567               }
568             ]
569           }
570         ],
571         'events': [
572           {
573             'name': 'onUpdated',
574             'parameters': [
575               {
576                 'name': 'tabId'
577               },
578               {
579                 'name': 'changeInfo',
580                 'properties': {
581                   'pinned': {},
582                   'status': {}
583                 }
584               }
585             ]
586           }
587         ]
588       }])
589     }
590   },
591   '1229': {
592     'api': {
593       '_manifest_features.json': "{}",
594       '_permission_features.json': "{}",
595       'tabs.json': json.dumps([{
596         'namespace': 'tabs',
597         'types': [
598           {
599             'id': 'Tab',
600             'properties': {
601               'url': {},
602               'index': {},
603               'selected': {},
604               'id': {},
605               'windowId': {}
606             }
607           }
608         ],
609         'properties': {
610           'fakeTabsProperty1': {},
611           'fakeTabsProperty2': {}
612         },
613         'functions': [
614           {
615             'name': 'getCurrent',
616             'parameters': [
617               {
618                 'name': 'callback',
619                 'parameters': [
620                   {
621                     'name': 'tab'
622                   }
623                 ]
624               }
625             ]
626           },
627           {
628             'name': 'get',
629             'parameters': [
630               {
631                 'name': 'callback',
632                 'parameters': [
633                   {
634                     'name': 'tab'
635                   }
636                 ]
637               }
638             ]
639           }
640         ],
641         'events': [
642           {
643             'name': 'onUpdated',
644             'parameters': [
645               {
646                 'name': 'tabId'
647               },
648               {
649                 'name': 'changeInfo',
650                 'properties': {
651                   'pinned': {},
652                   'status': {}
653                 }
654               }
655             ]
656           }
657         ]
658       }])
659     }
660   },
661   '1180': {
662     'api': {
663       '_manifest_features.json': "{}",
664       '_permission_features.json': "{}",
665       'tabs.json': json.dumps([{
666         'namespace': 'tabs',
667         'types': [
668           {
669             'id': 'Tab',
670             'properties': {
671               'url': {},
672               'index': {},
673               'selected': {},
674               'id': {}
675             }
676           }
677         ],
678         'properties': {
679           'fakeTabsProperty1': {},
680           'fakeTabsProperty2': {}
681         },
682         'functions': [
683           {
684             'name': 'getCurrent',
685             'parameters': [
686               {
687                 'name': 'callback',
688                 'parameters': [
689                   {
690                     'name': 'tab'
691                   }
692                 ]
693               }
694             ]
695           },
696           {
697             'name': 'get',
698             'parameters': [
699               {
700                 'name': 'callback',
701                 'parameters': [
702                   {
703                     'name': 'tab'
704                   }
705                 ]
706               }
707             ]
708           }
709         ],
710         'events': [
711           {
712             'name': 'onUpdated',
713             'parameters': [
714               {
715                 'name': 'tabId'
716               },
717               {
718                 'name': 'changeInfo',
719                 'properties': {
720                   'pinned': {},
721                   'status': {}
722                 }
723               }
724             ]
725           }
726         ]
727       }])
728     }
729   },
730   '1132': {
731     'api': {
732       '_manifest_features.json': "{}",
733       '_permission_features.json': "{}",
734       'tabs.json': json.dumps([{
735         'namespace': 'tabs',
736         'types': [
737           {
738             'id': 'Tab',
739             'properties': {
740               'url': {},
741               'index': {},
742               'id': {}
743             }
744           }
745         ],
746         'properties': {
747           'fakeTabsProperty1': {},
748           'fakeTabsProperty2': {}
749         },
750         'functions': [
751           {
752             'name': 'getCurrent',
753             'parameters': [
754               {
755                 'name': 'callback',
756                 'parameters': [
757                   {
758                     'name': 'tab'
759                   }
760                 ]
761               }
762             ]
763           },
764           {
765             'name': 'get',
766             'parameters': [
767               {
768                 'name': 'callback',
769                 'parameters': [
770                   {
771                     'name': 'tab'
772                   }
773                 ]
774               }
775             ]
776           }
777         ],
778         'events': [
779           {
780             'name': 'onUpdated',
781             'parameters': [
782               {
783                 'name': 'tabId'
784               },
785               {
786                 'name': 'changeInfo',
787                 'properties': {
788                   'pinned': {},
789                   'status': {}
790                 }
791               }
792             ]
793           }
794         ]
795       }])
796     }
797   },
798   '1084': {
799     'api': {
800       'tabs.json': json.dumps([{
801         'namespace': 'tabs',
802         'types': [
803           {
804             'id': 'Tab',
805             'properties': {
806               'url': {},
807               'index': {},
808               'id': {}
809             }
810           }
811         ],
812         'properties': {
813           'fakeTabsProperty1': {},
814           'fakeTabsProperty2': {}
815         },
816         'functions': [
817           {
818             'name': 'getCurrent',
819             'parameters': [
820               {
821                 'name': 'callback',
822                 'parameters': [
823                   {
824                     'name': 'tab'
825                   }
826                 ]
827               }
828             ]
829           },
830           {
831             'name': 'get',
832             'parameters': [
833               {
834                 'name': 'callback',
835                 'parameters': [
836                   {
837                     'name': 'tab'
838                   }
839                 ]
840               }
841             ]
842           }
843         ],
844         'events': [
845           {
846             'name': 'onUpdated',
847             'parameters': [
848               {
849                 'name': 'tabId'
850               },
851               {
852                 'name': 'changeInfo',
853                 'properties': {
854                   'pinned': {},
855                   'status': {}
856                 }
857               }
858             ]
859           }
860         ]
861       }])
862     }
863   },
864   '1025': {
865     'api': {
866       'tabs.json': json.dumps([{
867         'namespace': 'tabs',
868         'types': [
869           {
870             'id': 'Tab',
871             'properties': {
872               'url': {},
873               'index': {},
874               'id': {}
875             }
876           }
877         ],
878         'properties': {
879           'fakeTabsProperty1': {},
880           'fakeTabsProperty2': {}
881         },
882         'functions': [
883           {
884             'name': 'get',
885             'parameters': [
886               {
887                 'name': 'callback',
888                 'parameters': [
889                   {
890                     'name': 'tab'
891                   }
892                 ]
893               }
894             ]
895           }
896         ],
897         'events': [
898           {
899             'name': 'onUpdated',
900             'parameters': [
901               {
902                 'name': 'tabId'
903               },
904               {
905                 'name': 'changeInfo',
906                 'properties': {
907                   'pinned': {},
908                   'status': {}
909                 }
910               }
911             ]
912           }
913         ]
914       }])
915     }
916   },
917   '963': {
918     'api': {
919       'extension_api.json': json.dumps([{
920         'namespace': 'tabs',
921         'types': [
922           {
923             'id': 'Tab',
924             'properties': {
925               'url': {},
926               'id': {}
927             }
928           }
929         ],
930         'properties': {
931           'fakeTabsProperty1': {},
932           'fakeTabsProperty2': {}
933         },
934         'functions': [
935           {
936             'name': 'get',
937             'parameters': [
938               {
939                 'name': 'callback',
940                 'parameters': [
941                   {
942                     'name': 'tab'
943                   }
944                 ]
945               }
946             ]
947           }
948         ],
949         'events': [
950           {
951             'name': 'onUpdated',
952             'parameters': [
953               {
954                 'name': 'tabId'
955               },
956               {
957                 'name': 'changeInfo',
958                 'properties': {
959                   'pinned': {},
960                   'status': {}
961                 }
962               }
963             ]
964           }
965         ]
966       }])
967     }
968   },
969   '912': {
970     'api': {
971       'extension_api.json': json.dumps([{
972         'namespace': 'tabs',
973         'types': [
974           {
975             'id': 'Tab',
976             'properties': {
977               'url': {},
978               'id': {}
979             }
980           }
981         ],
982         'properties': {
983           'fakeTabsProperty1': {},
984           'fakeTabsProperty2': {}
985         },
986         'functions': [
987           {
988             'name': 'get',
989             'parameters': [
990               {
991                 'name': 'callback',
992                 'parameters': [
993                   {
994                     'name': 'tab'
995                   }
996                 ]
997               }
998             ]
999           }
1000         ],
1001         'events': [
1002           {
1003             'name': 'onUpdated',
1004             'parameters': [
1005               {
1006                 'name': 'tabId'
1007               }
1008             ]
1009           }
1010         ]
1011       }])
1012     }
1013   },
1014   '874': {
1015     'api': {
1016       'extension_api.json': json.dumps([{
1017         'namespace': 'tabs',
1018         'types': [
1019           {
1020             'id': 'Tab',
1021             'properties': {
1022               'url': {},
1023               'id': {}
1024             }
1025           }
1026         ],
1027         'properties': {
1028           'fakeTabsProperty1': {},
1029           'fakeTabsProperty2': {}
1030         },
1031         'functions': [
1032           {
1033             'name': 'get',
1034             'parameters': [
1035               {
1036                 'name': 'callback',
1037                 'parameters': [
1038                   {
1039                     'name': 'tab'
1040                   }
1041                 ]
1042               }
1043             ]
1044           }
1045         ],
1046         'events': [
1047           {
1048             'name': 'onUpdated',
1049             'parameters': [
1050               {
1051                 'name': 'tabId'
1052               }
1053             ]
1054           }
1055         ]
1056       }])
1057     }
1058   },
1059   '835': {
1060     'api': {
1061       'extension_api.json': json.dumps([{
1062         'namespace': 'tabs',
1063         'types': [
1064           {
1065             'id': 'Tab',
1066             'properties': {
1067               'url': {},
1068               'id': {}
1069             }
1070           }
1071         ],
1072         'properties': {
1073           'fakeTabsProperty1': {}
1074         },
1075         'functions': [
1076           {
1077             'name': 'get',
1078             'parameters': [
1079               {
1080                 'name': 'callback',
1081                 'parameters': [
1082                   {
1083                     'name': 'tab'
1084                   }
1085                 ]
1086               }
1087             ]
1088           }
1089         ],
1090         'events': [
1091           {
1092             'name': 'onUpdated',
1093             'parameters': [
1094               {
1095                 'name': 'tabId'
1096               }
1097             ]
1098           }
1099         ]
1100       }])
1101     }
1102   },
1103   '782': {
1104     'api': {
1105       'extension_api.json': "{}"
1106     }
1107   }
1108 }