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

Unified Diff: Source/bindings/scripts/v8_attributes.py

Issue 968593002: bindings: Supports constructor attributes on prototype chains. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: Source/bindings/scripts/v8_attributes.py
diff --git a/Source/bindings/scripts/v8_attributes.py b/Source/bindings/scripts/v8_attributes.py
index 0f5bd38ab52009d0b9c5b14ef3e9f55d65547581..bf572b0398521148ad5a5d757ee36151b4a858f1 100644
--- a/Source/bindings/scripts/v8_attributes.py
+++ b/Source/bindings/scripts/v8_attributes.py
@@ -133,7 +133,6 @@ def attribute_context(interface, attribute):
'reflect_missing': extended_attributes.get('ReflectMissing'),
'reflect_only': extended_attribute_value_as_list(attribute, 'ReflectOnly'),
'runtime_enabled_function': v8_utilities.runtime_enabled_function_name(attribute), # [RuntimeEnabled]
- 'setter_callback': setter_callback_name(interface, attribute),
'should_be_exposed_to_script': not (is_implemented_in_private_script and is_only_exposed_to_private_script),
'world_suffixes': ['', 'ForMainWorld']
if 'PerWorldBindings' in extended_attributes
@@ -142,7 +141,6 @@ def attribute_context(interface, attribute):
if is_constructor_attribute(attribute):
constructor_getter_context(interface, attribute, context)
- return context
if not has_custom_getter(attribute):
getter_context(interface, attribute, context)
if not has_custom_setter(attribute) and has_setter(attribute):
@@ -306,7 +304,8 @@ def setter_context(interface, attribute, context):
'Attribute "%s" is not present in interface "%s"' %
(target_attribute_name, target_interface_name))
- if 'Replaceable' in attribute.extended_attributes:
+ if ('Replaceable' in attribute.extended_attributes or
+ is_constructor_attribute(attribute)):
context['cpp_setter'] = '%sForceSetAttributeOnThis(propertyName, v8Value, info)' % cpp_name(interface)
return
@@ -429,18 +428,6 @@ def scoped_content_attribute_name(interface, attribute):
# Attribute configuration
################################################################################
-def setter_callback_name(interface, attribute):
- cpp_class_name = cpp_name(interface)
- cpp_class_name_or_partial = cpp_name_or_partial(interface)
-
- if not has_setter(attribute):
- return '0'
- if (is_constructor_attribute(attribute)):
- return '%sV8Internal::%sForceSetAttributeOnThisCallback' % (
- cpp_class_name_or_partial, cpp_class_name)
- return '%sV8Internal::%sAttributeSetterCallback' % (cpp_class_name_or_partial, attribute.name)
-
-
# [PutForwards], [Replaceable]
def has_setter(attribute):
return (not attribute.is_read_only or

Powered by Google App Engine
This is Rietveld 408576698