Index: Source/bindings/scripts/v8_interface.py |
diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py |
index 3f807e6489af96915b105f5f0f424c9f08301d32..b4203989f7b672411af124c5f9a09f98a3609aea 100644 |
--- a/Source/bindings/scripts/v8_interface.py |
+++ b/Source/bindings/scripts/v8_interface.py |
@@ -101,6 +101,17 @@ def interface_context(interface): |
# [DependentLifetime] |
is_dependent_lifetime = 'DependentLifetime' in extended_attributes |
+ # [Iterable] |
+ iterator_method = None |
+ if 'Iterable' in extended_attributes: |
+ iterator_operation = IdlOperation(interface.idl_name) |
+ iterator_operation.name = 'iterator' |
+ iterator_operation.idl_type = IdlType('Iterator') |
+ iterator_operation.extended_attributes['RaisesException'] = None |
+ iterator_operation.extended_attributes['CallWith'] = 'ScriptState' |
+ iterator_method = v8_methods.method_context(interface, |
+ iterator_operation) |
+ |
# [MeasureAs] |
is_measure_as = 'MeasureAs' in extended_attributes |
if is_measure_as: |
@@ -164,6 +175,7 @@ def interface_context(interface): |
'is_event_target': inherits_interface(interface.name, 'EventTarget'), |
'is_exception': interface.is_exception, |
'is_node': inherits_interface(interface.name, 'Node'), |
+ 'iterator_method': iterator_method, |
'measure_as': v8_utilities.measure_as(interface), # [MeasureAs] |
'parent_interface': parent_interface, |
'pass_cpp_type': cpp_template_type( |