OLD | NEW |
1 # Copyright (C) 2013 Google Inc. All rights reserved. | 1 # Copyright (C) 2013 Google Inc. All rights reserved. |
2 # | 2 # |
3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
5 # met: | 5 # met: |
6 # | 6 # |
7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 'unsigned int', | 104 'unsigned int', |
105 'unsigned long', | 105 'unsigned long', |
106 'unsigned short', | 106 'unsigned short', |
107 ]) | 107 ]) |
108 CPP_SPECIAL_CONVERSION_RULES = { | 108 CPP_SPECIAL_CONVERSION_RULES = { |
109 'Date': 'double', | 109 'Date': 'double', |
110 'Dictionary': 'Dictionary', | 110 'Dictionary': 'Dictionary', |
111 'EventHandler': 'EventListener*', | 111 'EventHandler': 'EventListener*', |
112 'NodeFilter': 'RefPtrWillBeRawPtr<NodeFilter>', | 112 'NodeFilter': 'RefPtrWillBeRawPtr<NodeFilter>', |
113 'Promise': 'ScriptPromise', | 113 'Promise': 'ScriptPromise', |
| 114 'ReadableStream2': 'ScriptReadableStream', |
114 'ScriptValue': 'ScriptValue', | 115 'ScriptValue': 'ScriptValue', |
115 # FIXME: Eliminate custom bindings for XPathNSResolver http://crbug.com/345
529 | 116 # FIXME: Eliminate custom bindings for XPathNSResolver http://crbug.com/345
529 |
116 'XPathNSResolver': 'RawPtr<XPathNSResolver>', | 117 'XPathNSResolver': 'RawPtr<XPathNSResolver>', |
117 'boolean': 'bool', | 118 'boolean': 'bool', |
118 'unrestricted double': 'double', | 119 'unrestricted double': 'double', |
119 'unrestricted float': 'float', | 120 'unrestricted float': 'float', |
120 } | 121 } |
121 | 122 |
122 | 123 |
123 def cpp_type(idl_type, extended_attributes=None, raw_type=False, used_as_rvalue_
type=False, used_as_variadic_argument=False, used_in_cpp_sequence=False): | 124 def cpp_type(idl_type, extended_attributes=None, raw_type=False, used_as_rvalue_
type=False, used_as_variadic_argument=False, used_in_cpp_sequence=False): |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 'core/html/HTMLCollection.h', | 356 'core/html/HTMLCollection.h', |
356 'core/html/HTMLDataListOptionsCollection.h', | 357 'core/html/HTMLDataListOptionsCollection.h', |
357 'core/html/HTMLFormControlsCollection.h', | 358 'core/html/HTMLFormControlsCollection.h', |
358 'core/html/HTMLTableRowsCollection.h']), | 359 'core/html/HTMLTableRowsCollection.h']), |
359 'NodeList': set(['bindings/core/v8/V8NodeList.h', | 360 'NodeList': set(['bindings/core/v8/V8NodeList.h', |
360 'core/dom/NameNodeList.h', | 361 'core/dom/NameNodeList.h', |
361 'core/dom/NodeList.h', | 362 'core/dom/NodeList.h', |
362 'core/dom/StaticNodeList.h', | 363 'core/dom/StaticNodeList.h', |
363 'core/html/LabelsNodeList.h']), | 364 'core/html/LabelsNodeList.h']), |
364 'Promise': set(['bindings/core/v8/ScriptPromise.h']), | 365 'Promise': set(['bindings/core/v8/ScriptPromise.h']), |
| 366 'ReadableStream2': set(['core/streams/ScriptReadableStream.h']), |
365 'SerializedScriptValue': set(['bindings/core/v8/SerializedScriptValue.h', | 367 'SerializedScriptValue': set(['bindings/core/v8/SerializedScriptValue.h', |
366 'bindings/core/v8/SerializedScriptValueFactory
.h']), | 368 'bindings/core/v8/SerializedScriptValueFactory
.h']), |
367 'ScriptValue': set(['bindings/core/v8/ScriptValue.h']), | 369 'ScriptValue': set(['bindings/core/v8/ScriptValue.h']), |
368 } | 370 } |
369 | 371 |
370 | 372 |
371 def includes_for_type(idl_type, extended_attributes=None): | 373 def includes_for_type(idl_type, extended_attributes=None): |
372 idl_type = idl_type.preprocessed_type | 374 idl_type = idl_type.preprocessed_type |
373 extended_attributes = extended_attributes or {} | 375 extended_attributes = extended_attributes or {} |
374 | 376 |
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
690 if idl_type.base_type in ['any', 'object'] or idl_type.is_callback_function: | 692 if idl_type.base_type in ['any', 'object'] or idl_type.is_callback_function: |
691 return IdlType('ScriptValue') | 693 return IdlType('ScriptValue') |
692 return idl_type | 694 return idl_type |
693 | 695 |
694 IdlTypeBase.preprocessed_type = property(preprocess_idl_type) | 696 IdlTypeBase.preprocessed_type = property(preprocess_idl_type) |
695 | 697 |
696 | 698 |
697 def preprocess_idl_type_and_value(idl_type, cpp_value, extended_attributes): | 699 def preprocess_idl_type_and_value(idl_type, cpp_value, extended_attributes): |
698 """Returns IDL type and value, with preliminary type conversions applied.""" | 700 """Returns IDL type and value, with preliminary type conversions applied.""" |
699 idl_type = idl_type.preprocessed_type | 701 idl_type = idl_type.preprocessed_type |
700 if idl_type.name == 'Promise': | 702 if idl_type.name == 'Promise' or idl_type.name == 'ReadableStream2': |
701 idl_type = IdlType('ScriptValue') | 703 idl_type = IdlType('ScriptValue') |
702 if idl_type.base_type in ['long long', 'unsigned long long']: | 704 if idl_type.base_type in ['long long', 'unsigned long long']: |
703 # long long and unsigned long long are not representable in ECMAScript; | 705 # long long and unsigned long long are not representable in ECMAScript; |
704 # we represent them as doubles. | 706 # we represent them as doubles. |
705 is_nullable = idl_type.is_nullable | 707 is_nullable = idl_type.is_nullable |
706 idl_type = IdlType('double') | 708 idl_type = IdlType('double') |
707 if is_nullable: | 709 if is_nullable: |
708 idl_type = IdlNullableType(idl_type) | 710 idl_type = IdlNullableType(idl_type) |
709 cpp_value = 'static_cast<double>(%s)' % cpp_value | 711 cpp_value = 'static_cast<double>(%s)' % cpp_value |
710 # HTML5 says that unsigned reflected attributes should be in the range | 712 # HTML5 says that unsigned reflected attributes should be in the range |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
977 number_of_nullable_member_types_union) | 979 number_of_nullable_member_types_union) |
978 | 980 |
979 | 981 |
980 def includes_nullable_type_union(idl_type): | 982 def includes_nullable_type_union(idl_type): |
981 # http://heycam.github.io/webidl/#dfn-includes-a-nullable-type | 983 # http://heycam.github.io/webidl/#dfn-includes-a-nullable-type |
982 return idl_type.number_of_nullable_member_types == 1 | 984 return idl_type.number_of_nullable_member_types == 1 |
983 | 985 |
984 IdlTypeBase.includes_nullable_type = False | 986 IdlTypeBase.includes_nullable_type = False |
985 IdlNullableType.includes_nullable_type = True | 987 IdlNullableType.includes_nullable_type = True |
986 IdlUnionType.includes_nullable_type = property(includes_nullable_type_union) | 988 IdlUnionType.includes_nullable_type = property(includes_nullable_type_union) |
OLD | NEW |