| Index: Source/bindings/scripts/v8_interface.py
|
| diff --git a/Source/bindings/scripts/v8_interface.py b/Source/bindings/scripts/v8_interface.py
|
| index 6e4f37812c3fede093a6b387f19839620cd78a2e..85e19d66ee5a6fb25e3e2c05611fe546768ae7ed 100644
|
| --- a/Source/bindings/scripts/v8_interface.py
|
| +++ b/Source/bindings/scripts/v8_interface.py
|
| @@ -467,19 +467,37 @@ def interface_context(interface):
|
| # FIXME: maplike<> and setlike<> should also imply the presence of a
|
| # 'size' attribute.
|
|
|
| + # Serializer
|
| + if interface.serializer:
|
| + serializer = interface.serializer
|
| + serializer_ext_attrs = serializer.extended_attributes.copy()
|
| + if serializer.operation:
|
| + return_type = serializer.operation.idl_type
|
| + implemented_as = serializer.operation.name
|
| + else:
|
| + return_type = IdlType('V8ObjectBuilder')
|
| + implemented_as = None
|
| + methods.append(generated_method(
|
| + return_type=return_type,
|
| + name='toJSON',
|
| + extended_attributes=serializer_ext_attrs,
|
| + implemented_as=implemented_as))
|
| +
|
| # Stringifier
|
| if interface.stringifier:
|
| stringifier = interface.stringifier
|
| stringifier_ext_attrs = stringifier.extended_attributes.copy()
|
| if stringifier.attribute:
|
| - stringifier_ext_attrs['ImplementedAs'] = stringifier.attribute.name
|
| + implemented_as = stringifier.attribute.name
|
| elif stringifier.operation:
|
| - stringifier_ext_attrs['ImplementedAs'] = stringifier.operation.name
|
| + implemented_as = stringifier.operation.name
|
| + else:
|
| + implemented_as = 'toString'
|
| methods.append(generated_method(
|
| return_type=IdlType('DOMString'),
|
| name='toString',
|
| extended_attributes=stringifier_ext_attrs,
|
| - implemented_as='toString'))
|
| + implemented_as=implemented_as))
|
|
|
| conditionally_enabled_methods = []
|
| custom_registration_methods = []
|
|
|