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

Side by Side Diff: tools/dom/scripts/generator.py

Issue 204033002: Fixes for Chrome 34 merge (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 9 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
« no previous file with comments | « tools/dom/idl/dart/dart.idl ('k') | tools/dom/scripts/htmlrenamer.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 # for details. All rights reserved. Use of this source code is governed by a 3 # for details. All rights reserved. Use of this source code is governed by a
4 # BSD-style license that can be found in the LICENSE file. 4 # BSD-style license that can be found in the LICENSE file.
5 5
6 """This module provides shared functionality for systems to generate 6 """This module provides shared functionality for systems to generate
7 Dart APIs from the IDL database.""" 7 Dart APIs from the IDL database."""
8 8
9 import copy 9 import copy
10 import json 10 import json
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 'generator._methods_with_named_formals', [ 63 'generator._methods_with_named_formals', [
64 'DirectoryEntry.getDirectory', 64 'DirectoryEntry.getDirectory',
65 'DirectoryEntry.getFile', 65 'DirectoryEntry.getFile',
66 'Entry.copyTo', 66 'Entry.copyTo',
67 'Entry.moveTo', 67 'Entry.moveTo',
68 'HTMLInputElement.setRangeText', 68 'HTMLInputElement.setRangeText',
69 'HTMLTextAreaElement.setRangeText', 69 'HTMLTextAreaElement.setRangeText',
70 'XMLHttpRequest.open', 70 'XMLHttpRequest.open',
71 ]) 71 ])
72 72
73 def ReturnValueConversionHack(idl_type, value, interface_name):
74 if idl_type == 'SVGMatrix':
75 return '%sTearOff::create(%s)' % (idl_type, value)
76 elif ((idl_type == 'SVGAngle' and interface_name != 'SVGAnimatedAngle')
77 or (idl_type == 'SVGTransform' and interface_name == 'SVGSVGElement')):
78 # Somewhere in the IDL it probably specifies whether we need to call
79 # create or not.
80 return 'SVGPropertyTearOff<%s>::create(%s)' % (idl_type, value)
81
82 return value
83
73 # 84 #
74 # Renames for attributes that have names that are not legal Dart names. 85 # Renames for attributes that have names that are not legal Dart names.
75 # 86 #
76 _dart_attribute_renames = monitored.Dict('generator._dart_attribute_renames', { 87 _dart_attribute_renames = monitored.Dict('generator._dart_attribute_renames', {
77 'default': 'defaultValue', 88 'default': 'defaultValue',
78 }) 89 })
79 90
80 # 91 #
81 # Interface version of the DOM needs to delegate typed array constructors to a 92 # Interface version of the DOM needs to delegate typed array constructors to a
82 # factory provider. 93 # factory provider.
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 666
656 def native_type(self): 667 def native_type(self):
657 return self._data.native_type or self._idl_type 668 return self._data.native_type or self._idl_type
658 669
659 def bindings_class(self): 670 def bindings_class(self):
660 return 'Dart%s' % self.idl_type() 671 return 'Dart%s' % self.idl_type()
661 672
662 def vector_to_dart_template_parameter(self): 673 def vector_to_dart_template_parameter(self):
663 return self.native_type() 674 return self.native_type()
664 675
665 def to_native_info(self, idl_node, interface_name): 676 def to_native_info(self, idl_node, interface_name, callback_name):
666 cls = self.bindings_class() 677 cls = self.bindings_class()
667 678
668 if 'Callback' in idl_node.ext_attrs: 679 if 'Callback' in idl_node.ext_attrs:
669 return '%s.release()', 'OwnPtr<%s>' % self.native_type(), cls, 'create' 680 return '%s.release()', 'OwnPtr<%s>' % self.native_type(), cls, 'create'
670 681
671 if self.custom_to_native(): 682 # This is a hack to handle property references correctly.
683 if (self.native_type() in ['SVGPropertyTearOff<SVGAngle>',
684 'SVGPropertyTearOff<SVGAngle>*', 'SVGMatrixTearOff']
685 and (callback_name != 'createSVGTransformFromMatrixCallback'
686 or interface_name != 'SVGTransformList')):
687 argument_expression_template = '%s->propertyReference()'
688 type = '%s*' % self.native_type()
689 elif self.custom_to_native():
672 type = 'RefPtr<%s>' % self.native_type() 690 type = 'RefPtr<%s>' % self.native_type()
673 argument_expression_template = '%s.get()' 691 argument_expression_template = '%s.get()'
674 else: 692 else:
675 type = '%s*' % self.native_type() 693 type = '%s*' % self.native_type()
676 if isinstance(self, SVGTearOffIDLTypeInfo) and not interface_name.endswith ('List'): 694 argument_expression_template = '%s'
677 argument_expression_template = '%s->propertyReference()'
678 else:
679 argument_expression_template = '%s'
680 return argument_expression_template, type, cls, 'toNative' 695 return argument_expression_template, type, cls, 'toNative'
681 696
682 def pass_native_by_ref(self): return False 697 def pass_native_by_ref(self): return False
683 698
684 def custom_to_native(self): 699 def custom_to_native(self):
685 return self._data.custom_to_native 700 return self._data.custom_to_native
686 701
687 def parameter_type(self): 702 def parameter_type(self):
688 return '%s*' % self.native_type() 703 return '%s*' % self.native_type()
689 704
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
722 includes = [self._idl_type] + (self._data.conversion_includes or []) 737 includes = [self._idl_type] + (self._data.conversion_includes or [])
723 return ['"Dart%s.h"' % include for include in includes] 738 return ['"Dart%s.h"' % include for include in includes]
724 739
725 def to_dart_conversion(self, value, interface_name=None, attributes=None): 740 def to_dart_conversion(self, value, interface_name=None, attributes=None):
726 return 'Dart%s::toDart(%s)' % (self._idl_type, value) 741 return 'Dart%s::toDart(%s)' % (self._idl_type, value)
727 742
728 def return_to_dart_conversion(self, value, auto_dart_scope_setup, 743 def return_to_dart_conversion(self, value, auto_dart_scope_setup,
729 interface_name=None, attributes=None): 744 interface_name=None, attributes=None):
730 auto_dart_scope='true' if auto_dart_scope_setup else 'false' 745 auto_dart_scope='true' if auto_dart_scope_setup else 'false'
731 return 'Dart%s::returnToDart(args, %s, %s)' % (self._idl_type, 746 return 'Dart%s::returnToDart(args, %s, %s)' % (self._idl_type,
732 value, 747 ReturnValueConversionHack(sel f._idl_type, value, interface_name),
733 auto_dart_scope) 748 auto_dart_scope)
734 749
735 def custom_to_dart(self): 750 def custom_to_dart(self):
736 return self._data.custom_to_dart 751 return self._data.custom_to_dart
737 752
738 753
739 class InterfaceIDLTypeInfo(IDLTypeInfo): 754 class InterfaceIDLTypeInfo(IDLTypeInfo):
740 def __init__(self, idl_type, data, dart_interface_name, type_registry): 755 def __init__(self, idl_type, data, dart_interface_name, type_registry):
741 super(InterfaceIDLTypeInfo, self).__init__(idl_type, data) 756 super(InterfaceIDLTypeInfo, self).__init__(idl_type, data)
742 self._dart_interface_name = dart_interface_name 757 self._dart_interface_name = dart_interface_name
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 846
832 def interface_name(self): 847 def interface_name(self):
833 return self.dart_type() 848 return self.dart_type()
834 849
835 def implementation_name(self): 850 def implementation_name(self):
836 return self.dart_type() 851 return self.dart_type()
837 852
838 def vector_to_dart_template_parameter(self): 853 def vector_to_dart_template_parameter(self):
839 raise Exception('sequences of sequences are not supported yet') 854 raise Exception('sequences of sequences are not supported yet')
840 855
841 def to_native_info(self, idl_node, interface_name): 856 def to_native_info(self, idl_node, interface_name, callback_name):
842 item_native_type = self._item_info.vector_to_dart_template_parameter() 857 item_native_type = self._item_info.vector_to_dart_template_parameter()
843 if isinstance(self._item_info, PrimitiveIDLTypeInfo): 858 if isinstance(self._item_info, PrimitiveIDLTypeInfo):
844 return '%s', 'Vector<%s>' % item_native_type, 'DartUtilities', 'toNativeVe ctor<%s>' % item_native_type 859 return '%s', 'Vector<%s>' % item_native_type, 'DartUtilities', 'toNativeVe ctor<%s>' % item_native_type
845 return '%s', 'Vector< RefPtr<%s> >' % item_native_type, 'DartUtilities', 'to NativeVector< RefPtr<%s> >' % item_native_type 860 return '%s', 'Vector< RefPtr<%s> >' % item_native_type, 'DartUtilities', 'to NativeVector< RefPtr<%s> >' % item_native_type
846 861
847 def parameter_type(self): 862 def parameter_type(self):
848 native_type = self.native_type() 863 native_type = self.native_type()
849 if array_type(native_type): 864 if array_type(native_type):
850 return 'const Vector<RefPtr<%s> > &' % array_type(native_type) 865 return 'const Vector<RefPtr<%s> > &' % array_type(native_type)
851 866
(...skipping 14 matching lines...) Expand all
866 attributes) 881 attributes)
867 882
868 def conversion_includes(self): 883 def conversion_includes(self):
869 return self._item_info.conversion_includes() 884 return self._item_info.conversion_includes()
870 885
871 886
872 class DOMStringArrayTypeInfo(SequenceIDLTypeInfo): 887 class DOMStringArrayTypeInfo(SequenceIDLTypeInfo):
873 def __init__(self, data, item_info): 888 def __init__(self, data, item_info):
874 super(DOMStringArrayTypeInfo, self).__init__('DOMString[]', data, item_info) 889 super(DOMStringArrayTypeInfo, self).__init__('DOMString[]', data, item_info)
875 890
876 def to_native_info(self, idl_node, interface_name): 891 def to_native_info(self, idl_node, interface_name, callback_name):
877 return '%s', 'RefPtr<DOMStringList>', 'DartDOMStringList', 'toNative' 892 return '%s', 'RefPtr<DOMStringList>', 'DartDOMStringList', 'toNative'
878 893
879 def pass_native_by_ref(self): return False 894 def pass_native_by_ref(self): return False
880 895
881 def implementation_name(self): 896 def implementation_name(self):
882 return "" 897 return ""
883 898
884 899
885 class PrimitiveIDLTypeInfo(IDLTypeInfo): 900 class PrimitiveIDLTypeInfo(IDLTypeInfo):
886 def __init__(self, idl_type, data): 901 def __init__(self, idl_type, data):
887 super(PrimitiveIDLTypeInfo, self).__init__(idl_type, data) 902 super(PrimitiveIDLTypeInfo, self).__init__(idl_type, data)
888 903
889 def vector_to_dart_template_parameter(self): 904 def vector_to_dart_template_parameter(self):
890 # Ugly hack. Usually IDLs floats are treated as C++ doubles, however 905 # Ugly hack. Usually IDLs floats are treated as C++ doubles, however
891 # sequence<float> should map to Vector<float> 906 # sequence<float> should map to Vector<float>
892 if self.idl_type() == 'float': return 'float' 907 if self.idl_type() == 'float': return 'float'
893 return self.native_type() 908 return self.native_type()
894 909
895 def to_native_info(self, idl_node, interface_name): 910 def to_native_info(self, idl_node, interface_name, callback_name):
896 type = self.native_type() 911 type = self.native_type()
897 if type == 'SerializedScriptValue': 912 if type == 'SerializedScriptValue':
898 type = 'RefPtr<%s>' % type 913 type = 'RefPtr<%s>' % type
899 if type == 'String': 914 if type == 'String':
900 type = 'DartStringAdapter' 915 type = 'DartStringAdapter'
901 target_type = self._capitalized_native_type() 916 target_type = self._capitalized_native_type()
902 if self.idl_type() == 'Date': 917 if self.idl_type() == 'Date':
903 target_type = 'Date' 918 target_type = 'Date'
904 return '%s', type, 'DartUtilities', 'dartTo%s' % target_type 919 return '%s', type, 'DartUtilities', 'dartTo%s' % target_type
905 920
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
949 964
950 def native_type(self): 965 def native_type(self):
951 if self._data.native_type: 966 if self._data.native_type:
952 return self._data.native_type 967 return self._data.native_type
953 tear_off_type = 'SVGPropertyTearOff' 968 tear_off_type = 'SVGPropertyTearOff'
954 if self._idl_type.endswith('List'): 969 if self._idl_type.endswith('List'):
955 tear_off_type = 'SVGListPropertyTearOff' 970 tear_off_type = 'SVGListPropertyTearOff'
956 return '%s<%s>' % (tear_off_type, self._idl_type) 971 return '%s<%s>' % (tear_off_type, self._idl_type)
957 972
958 def receiver(self): 973 def receiver(self):
959 if self._idl_type.endswith('List'): 974 return 'receiver->'
960 return 'receiver->'
961 return 'receiver->propertyReference().'
962 975
963 def to_conversion_cast(self, value, interface_name, attributes): 976 def to_conversion_cast(self, value, interface_name, attributes):
964 svg_primitive_types = ['SVGAngle', 'SVGLength', 'SVGMatrix', 977 svg_primitive_types = ['SVGLength', 'SVGMatrix',
965 'SVGNumber', 'SVGPoint', 'SVGRect', 'SVGTransform'] 978 'SVGNumber', 'SVGPoint', 'SVGRect', 'SVGTransform']
966 conversion_cast = '%s::create(%s)' 979
967 if interface_name.startswith('SVGAnimated'): 980 # This is a hack. We either need to figure out the right way to derive this
968 conversion_cast = 'static_cast<%s*>(%s)' 981 # information from the IDL or remove this generator.
969 elif self.idl_type() == 'SVGStringList': 982 if self.idl_type() != 'SVGTransformList':
970 conversion_cast = '%s::create(receiver, %s)' 983 return value
971 elif interface_name.endswith('List'): 984
972 conversion_cast = 'static_cast<%s*>(%s.get())' 985 conversion_cast = 'static_cast<%s*>(%s)'
973 elif self.idl_type() in svg_primitive_types:
974 conversion_cast = '%s::create(%s)'
975 else:
976 conversion_cast = 'static_cast<%s*>(%s)'
977 conversion_cast = conversion_cast % (self.native_type(), value) 986 conversion_cast = conversion_cast % (self.native_type(), value)
978 return '%s' % (conversion_cast) 987 return '%s' % (conversion_cast)
979 988
980 def to_dart_conversion(self, value, interface_name, attributes): 989 def to_dart_conversion(self, value, interface_name, attributes):
981 return 'Dart%s::toDart(%s)' % (self._idl_type, self.to_conversion_cast(value , interface_name, attributes)) 990 return 'Dart%s::toDart(%s)' % (self._idl_type, self.to_conversion_cast(value , interface_name, attributes))
982 991
983 def return_to_dart_conversion(self, value, auto_dart_scope_setup, 992 def return_to_dart_conversion(self, value, auto_dart_scope_setup,
984 interface_name, attr): 993 interface_name, attr):
985 auto_dart_scope='true' if auto_dart_scope_setup else 'false' 994 auto_dart_scope='true' if auto_dart_scope_setup else 'false'
986 return 'Dart%s::returnToDart(args, %s, %s)' % (self._idl_type, 995 return 'Dart%s::returnToDart(args, %s, %s)' % (self._idl_type,
987 self.to_conversion_cast( 996 self.to_conversion_cast(
988 value, 997 ReturnValueConversionHack (self._idl_type, value, interface_name),
989 interface_name, 998 interface_name,
990 attr), 999 attr),
991 auto_dart_scope) 1000 auto_dart_scope)
992 1001
993 def argument_expression(self, name, interface_name): 1002 def argument_expression(self, name, interface_name):
994 return name if interface_name.endswith('List') else '%s->propertyReference() ' % name 1003 return name
995
996 1004
997 class TypedListIDLTypeInfo(InterfaceIDLTypeInfo): 1005 class TypedListIDLTypeInfo(InterfaceIDLTypeInfo):
998 def __init__(self, idl_type, data, interface_name, type_registry): 1006 def __init__(self, idl_type, data, interface_name, type_registry):
999 super(TypedListIDLTypeInfo, self).__init__( 1007 super(TypedListIDLTypeInfo, self).__init__(
1000 idl_type, data, interface_name, type_registry) 1008 idl_type, data, interface_name, type_registry)
1001 1009
1002 def conversion_includes(self): 1010 def conversion_includes(self):
1003 return [ '"wtf/%s.h"' % self._idl_type ] 1011 return [ '"wtf/%s.h"' % self._idl_type ]
1004 1012
1005 def to_dart_conversion(self, value, interface_name, attributes): 1013 def to_dart_conversion(self, value, interface_name, attributes):
1006 return 'DartUtilities::arrayBufferViewToDart(%s)' % value 1014 return 'DartUtilities::arrayBufferViewToDart(%s)' % value
1007 1015
1008 def return_to_dart_conversion(self, value, auto_dart_scope_setup, 1016 def return_to_dart_conversion(self, value, auto_dart_scope_setup,
1009 interface_name, attributes): 1017 interface_name, attributes):
1010 return 'Dart_SetReturnValue(args, %s)' % self.to_dart_conversion( 1018 return 'Dart_SetReturnValue(args, %s)' % self.to_dart_conversion(
1011 value, 1019 value,
1012 interface_name, 1020 interface_name,
1013 attributes) 1021 attributes)
1014 1022
1015 def to_native_info(self, idl_node, interface_name): 1023 def to_native_info(self, idl_node, interface_name, callback_name):
1016 return '%s.get()', 'RefPtr<%s>' % self._idl_type, 'DartUtilities', 'dartTo%s ' % self._idl_type 1024 return '%s.get()', 'RefPtr<%s>' % self._idl_type, 'DartUtilities', 'dartTo%s ' % self._idl_type
1017 1025
1018 1026
1019 class BasicTypedListIDLTypeInfo(InterfaceIDLTypeInfo): 1027 class BasicTypedListIDLTypeInfo(InterfaceIDLTypeInfo):
1020 def __init__(self, idl_type, data, interface_name, type_registry): 1028 def __init__(self, idl_type, data, interface_name, type_registry):
1021 super(BasicTypedListIDLTypeInfo, self).__init__( 1029 super(BasicTypedListIDLTypeInfo, self).__init__(
1022 idl_type, data, interface_name, type_registry) 1030 idl_type, data, interface_name, type_registry)
1023 1031
1024 def conversion_includes(self): 1032 def conversion_includes(self):
1025 return [] 1033 return []
1026 1034
1027 def to_dart_conversion(self, value, interface_name, attributes): 1035 def to_dart_conversion(self, value, interface_name, attributes):
1028 function_name = 'DartUtilities::%sToDart' % self._idl_type 1036 function_name = 'DartUtilities::%sToDart' % self._idl_type
1029 function_name = function_name[0].lower() + function_name[1:] 1037 function_name = function_name[0].lower() + function_name[1:]
1030 return '%s(%s)' % (function_name, value) 1038 return '%s(%s)' % (function_name, value)
1031 1039
1032 def return_to_dart_conversion(self, value, auto_dart_scope_setup, 1040 def return_to_dart_conversion(self, value, auto_dart_scope_setup,
1033 interface_name, attributes): 1041 interface_name, attributes):
1034 return 'Dart_SetReturnValue(args, %s)' % self.to_dart_conversion( 1042 return 'Dart_SetReturnValue(args, %s)' % self.to_dart_conversion(
1035 value, 1043 value,
1036 interface_name, 1044 interface_name,
1037 attributes) 1045 attributes)
1038 1046
1039 def to_native_info(self, idl_node, interface_name): 1047 def to_native_info(self, idl_node, interface_name, callback_name):
1040 return '%s.get()', 'RefPtr<%s>' % self._idl_type, 'DartUtilities', 'dartTo%s ' % self._idl_type 1048 return '%s.get()', 'RefPtr<%s>' % self._idl_type, 'DartUtilities', 'dartTo%s ' % self._idl_type
1041 1049
1042 1050
1043 class TypeData(object): 1051 class TypeData(object):
1044 def __init__(self, clazz, dart_type=None, native_type=None, 1052 def __init__(self, clazz, dart_type=None, native_type=None,
1045 merged_interface=None, merged_into=None, 1053 merged_interface=None, merged_into=None,
1046 custom_to_dart=False, custom_to_native=False, 1054 custom_to_dart=False, custom_to_native=False,
1047 conversion_includes=None, 1055 conversion_includes=None,
1048 webcore_getter_name='getAttribute', 1056 webcore_getter_name='getAttribute',
1049 webcore_setter_name='setAttribute', 1057 webcore_setter_name='setAttribute',
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 'Int16Array': TypedListTypeData('int'), 1177 'Int16Array': TypedListTypeData('int'),
1170 'Int32Array': TypedListTypeData('int'), 1178 'Int32Array': TypedListTypeData('int'),
1171 'Uint8Array': TypedListTypeData('int'), 1179 'Uint8Array': TypedListTypeData('int'),
1172 'Uint8ClampedArray': TypedListTypeData('int'), 1180 'Uint8ClampedArray': TypedListTypeData('int'),
1173 'Uint16Array': TypedListTypeData('int'), 1181 'Uint16Array': TypedListTypeData('int'),
1174 'Uint32Array': TypedListTypeData('int'), 1182 'Uint32Array': TypedListTypeData('int'),
1175 1183
1176 'ArrayBufferView': TypeData(clazz='BasicTypedList'), 1184 'ArrayBufferView': TypeData(clazz='BasicTypedList'),
1177 'ArrayBuffer': TypeData(clazz='BasicTypedList'), 1185 'ArrayBuffer': TypeData(clazz='BasicTypedList'),
1178 1186
1179 'SVGAngle': TypeData(clazz='SVGTearOff'), 1187 'SVGAngle': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<SVG Angle>'),
1180 'SVGLength': TypeData(clazz='SVGTearOff'), 1188 'SVGLength': TypeData(clazz='SVGTearOff', native_type='SVGLengthTearOff'),
1181 'SVGLengthList': TypeData(clazz='SVGTearOff', item_type='SVGLength'), 1189 'SVGLengthList': TypeData(clazz='SVGTearOff', item_type='SVGLength', native_ type='SVGLengthListTearOff'),
1182 'SVGMatrix': TypeData(clazz='SVGTearOff'), 1190 'SVGMatrix': TypeData(clazz='SVGTearOff', native_type='SVGMatrixTearOff'),
1183 'SVGNumber': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<SV GNumber>'), 1191 'SVGNumber': TypeData(clazz='SVGTearOff', native_type='SVGNumberTearOff'),
1184 'SVGNumberList': TypeData(clazz='SVGTearOff', item_type='SVGNumber'), 1192 'SVGNumberList': TypeData(clazz='SVGTearOff', item_type='SVGNumber', native_ type='SVGNumberListTearOff'),
1185 'SVGPathSegList': TypeData(clazz='SVGTearOff', item_type='SVGPathSeg', 1193 'SVGPathSegList': TypeData(clazz='SVGTearOff', item_type='SVGPathSeg',
1186 native_type='SVGPathSegListPropertyTearOff'), 1194 native_type='SVGPathSegListPropertyTearOff'),
1187 'SVGPoint': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<Flo atPoint>'), 1195 'SVGPoint': TypeData(clazz='SVGTearOff', native_type='SVGPointTearOff'),
1188 'SVGPointList': TypeData(clazz='SVGTearOff'), 1196 'SVGPointList': TypeData(clazz='SVGTearOff', native_type='SVGPointListTearOf f'),
1189 'SVGPreserveAspectRatio': TypeData(clazz='SVGTearOff'), 1197 'SVGPreserveAspectRatio': TypeData(clazz='SVGTearOff', native_type='SVGPrese rveAspectRatioTearOff'),
1190 'SVGRect': TypeData(clazz='SVGTearOff', native_type='SVGPropertyTearOff<SVGR ect>'), 1198 'SVGRect': TypeData(clazz='SVGTearOff', native_type='SVGRectTearOff'),
1191 'SVGStringList': TypeData(clazz='SVGTearOff', item_type='DOMString', 1199 'SVGStringList': TypeData(clazz='SVGTearOff', item_type='DOMString',
1192 native_type='SVGStaticListPropertyTearOff<SVGStringList>'), 1200 native_type='SVGStringListTearOff'),
1193 'SVGTransform': TypeData(clazz='SVGTearOff'), 1201 'SVGTransform': TypeData(clazz='SVGTearOff', native_type="SVGPropertyTearOff <SVGTransform>"),
1194 'SVGTransformList': TypeData(clazz='SVGTearOff', item_type='SVGTransform', 1202 'SVGTransformList': TypeData(clazz='SVGTearOff', item_type='SVGTransform',
1195 native_type='SVGTransformListPropertyTearOff'), 1203 native_type='SVGTransformListPropertyTearOff'),
1196 }) 1204 })
1197 1205
1198 _svg_supplemental_includes = [ 1206 _svg_supplemental_includes = [
1199 '"SVGAnimatedPropertyTearOff.h"', 1207 '"core/svg/properties/SVGPropertyTraits.h"',
1200 '"SVGAnimatedListPropertyTearOff.h"',
1201 '"SVGStaticListPropertyTearOff.h"',
1202 '"SVGAnimatedListPropertyTearOff.h"',
1203 '"SVGTransformListPropertyTearOff.h"',
1204 '"SVGPathSegListPropertyTearOff.h"',
1205 ] 1208 ]
1206 1209
1207 class TypeRegistry(object): 1210 class TypeRegistry(object):
1208 def __init__(self, database, renamer=None): 1211 def __init__(self, database, renamer=None):
1209 self._database = database 1212 self._database = database
1210 self._renamer = renamer 1213 self._renamer = renamer
1211 self._cache = {} 1214 self._cache = {}
1212 1215
1213 def TypeInfo(self, type_name): 1216 def TypeInfo(self, type_name):
1214 if not type_name in self._cache: 1217 if not type_name in self._cache:
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1269 if type_data.clazz == 'BasicTypedList': 1272 if type_data.clazz == 'BasicTypedList':
1270 if type_name == 'ArrayBuffer': 1273 if type_name == 'ArrayBuffer':
1271 dart_interface_name = 'ByteBuffer' 1274 dart_interface_name = 'ByteBuffer'
1272 else: 1275 else:
1273 dart_interface_name = self._renamer.RenameInterfaceId(type_name) 1276 dart_interface_name = self._renamer.RenameInterfaceId(type_name)
1274 return BasicTypedListIDLTypeInfo( 1277 return BasicTypedListIDLTypeInfo(
1275 type_name, type_data, dart_interface_name, self) 1278 type_name, type_data, dart_interface_name, self)
1276 1279
1277 class_name = '%sIDLTypeInfo' % type_data.clazz 1280 class_name = '%sIDLTypeInfo' % type_data.clazz
1278 return globals()[class_name](type_name, type_data) 1281 return globals()[class_name](type_name, type_data)
OLDNEW
« no previous file with comments | « tools/dom/idl/dart/dart.idl ('k') | tools/dom/scripts/htmlrenamer.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698