| Index: Source/bindings/scripts/v8_attributes.py
|
| diff --git a/Source/bindings/scripts/v8_attributes.py b/Source/bindings/scripts/v8_attributes.py
|
| index 6b3b1a110e9fb81882ccc226ca88d6944e33790e..e7ca652755b024bae9cc8721f50b59d2f904133c 100644
|
| --- a/Source/bindings/scripts/v8_attributes.py
|
| +++ b/Source/bindings/scripts/v8_attributes.py
|
| @@ -52,12 +52,6 @@ def attribute_context(interface, attribute):
|
| is_check_security_for_node = 'CheckSecurity' in extended_attributes
|
| if is_check_security_for_node:
|
| includes.add('bindings/core/v8/BindingSecurity.h')
|
| - # [Custom]
|
| - has_custom_getter = ('Custom' in extended_attributes and
|
| - extended_attributes['Custom'] in [None, 'Getter'])
|
| - has_custom_setter = (not attribute.is_read_only and
|
| - 'Custom' in extended_attributes and
|
| - extended_attributes['Custom'] in [None, 'Setter'])
|
| # [CustomElementCallbacks], [Reflect]
|
| is_custom_element_callbacks = 'CustomElementCallbacks' in extended_attributes
|
| is_reflect = 'Reflect' in extended_attributes
|
| @@ -102,8 +96,8 @@ def attribute_context(interface, attribute):
|
| 'cpp_type_initializer': idl_type.cpp_type_initializer,
|
| 'deprecate_as': v8_utilities.deprecate_as(attribute), # [DeprecateAs]
|
| 'enum_validation_expression': idl_type.enum_validation_expression,
|
| - 'has_custom_getter': has_custom_getter,
|
| - 'has_custom_setter': has_custom_setter,
|
| + 'has_custom_getter': has_custom_getter(attribute),
|
| + 'has_custom_setter': has_custom_setter(attribute),
|
| 'has_type_checking_unrestricted': has_type_checking_unrestricted,
|
| 'idl_type': str(idl_type), # need trailing [] on array for Dictionary::ConversionContext::setConversionType
|
| 'is_call_with_execution_context': v8_utilities.has_extended_attribute_value(attribute, 'CallWith', 'ExecutionContext'),
|
| @@ -154,9 +148,9 @@ def attribute_context(interface, attribute):
|
| if is_constructor_attribute(attribute):
|
| constructor_getter_context(interface, attribute, context)
|
| return context
|
| - if not has_custom_getter:
|
| + if not has_custom_getter(attribute):
|
| getter_context(interface, attribute, context)
|
| - if (not has_custom_setter and
|
| + if (not has_custom_setter(attribute) and
|
| (not attribute.is_read_only or 'PutForwards' in extended_attributes)):
|
| setter_context(interface, attribute, context)
|
|
|
| @@ -475,6 +469,21 @@ def property_attributes(attribute):
|
| return property_attributes_list or ['v8::None']
|
|
|
|
|
| +# [Custom], [Custom=Getter]
|
| +def has_custom_getter(attribute):
|
| + extended_attributes = attribute.extended_attributes
|
| + return ('Custom' in extended_attributes and
|
| + extended_attributes['Custom'] in [None, 'Getter'])
|
| +
|
| +
|
| +# [Custom], [Custom=Setter]
|
| +def has_custom_setter(attribute):
|
| + extended_attributes = attribute.extended_attributes
|
| + return (not attribute.is_read_only and
|
| + 'Custom' in extended_attributes and
|
| + extended_attributes['Custom'] in [None, 'Setter'])
|
| +
|
| +
|
| ################################################################################
|
| # Constructors
|
| ################################################################################
|
|
|