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

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

Issue 68733006: IDL compiler: Refactor attribute configuration from Python CG to Jinja template (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Revised Created 7 years, 1 month 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
« no previous file with comments | « no previous file | Source/bindings/scripts/unstable/v8_interface.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/scripts/unstable/v8_attributes.py
diff --git a/Source/bindings/scripts/unstable/v8_attributes.py b/Source/bindings/scripts/unstable/v8_attributes.py
index dd5d3cb1bd22cafeb50577b0be8b662a5d827201..d73298940517713d155350064a1a48920085da07 100644
--- a/Source/bindings/scripts/unstable/v8_attributes.py
+++ b/Source/bindings/scripts/unstable/v8_attributes.py
@@ -80,13 +80,11 @@ def generate_attribute(interface, attribute):
'activity_logging_world_list_for_setter': v8_utilities.activity_logging_world_list(attribute, 'Setter'), # [ActivityLogging]
'cached_attribute_validation_method': extended_attributes.get('CachedAttribute'),
'conditional_string': v8_utilities.conditional_string(attribute),
+ 'constructor_type': v8_types.constructor_type(idl_type) if is_constructor_attribute(attribute) else None,
'cpp_type': v8_types.cpp_type(idl_type),
'deprecate_as': v8_utilities.deprecate_as(attribute), # [DeprecateAs]
'enum_validation_expression':
v8_utilities.enum_validation_expression(idl_type),
- 'getter_callback_name': getter_callback_name(interface, attribute),
- 'getter_callback_name_for_main_world':
- getter_callback_name_for_main_world(interface, attribute),
'has_custom_getter': has_custom_getter,
'has_custom_setter': has_custom_setter,
'has_strict_type_checking': (
@@ -95,12 +93,12 @@ def generate_attribute(interface, attribute):
'idl_type': idl_type,
'is_call_with_execution_context': v8_utilities.has_extended_attribute_value(attribute, 'CallWith', 'ExecutionContext'),
'is_check_security_for_node': is_check_security_for_node,
- 'is_constructor': is_constructor_attribute(attribute),
'is_getter_raises_exception': (
'RaisesException' in extended_attributes and
extended_attributes['RaisesException'] in [None, 'Getter']),
'is_keep_alive_for_gc': is_keep_alive_for_gc(attribute),
'is_nullable': attribute.is_nullable,
+ 'is_per_world_bindings': 'PerWorldBindings' in extended_attributes,
'is_read_only': attribute.is_read_only,
'is_reflect': is_reflect,
'is_replaceable': 'Replaceable' in attribute.extended_attributes,
@@ -114,13 +112,11 @@ def generate_attribute(interface, attribute):
'per_context_enabled_function_name': v8_utilities.per_context_enabled_function_name(attribute), # [PerContextEnabled]
'property_attributes': property_attributes(attribute),
'setter_callback_name': setter_callback_name(interface, attribute),
- 'setter_callback_name_for_main_world': setter_callback_name_for_main_world(interface, attribute),
'v8_type': v8_types.v8_type(idl_type),
'runtime_enabled_function_name': v8_utilities.runtime_enabled_function_name(attribute), # [RuntimeEnabled]
'world_suffixes': ['', 'ForMainWorld']
if 'PerWorldBindings' in extended_attributes
else [''], # [PerWorldBindings]
- 'wrapper_type_info': wrapper_type_info(attribute),
}
if is_constructor_attribute(attribute):
@@ -289,12 +285,6 @@ def scoped_name(interface, attribute, base_name):
# Attribute configuration
-def getter_callback_name(interface, attribute):
- if is_constructor_attribute(attribute):
- return '{0}V8Internal::{0}ConstructorGetter'.format(cpp_name(interface))
- return '%sV8Internal::%sAttributeGetterCallback' % (cpp_name(interface), attribute.name)
-
-
# [Replaceable]
def setter_callback_name(interface, attribute):
cpp_class_name = cpp_name(interface)
@@ -308,26 +298,6 @@ def setter_callback_name(interface, attribute):
return '%sV8Internal::%sAttributeSetterCallback' % (cpp_class_name, attribute.name)
-# [PerWorldBindings]
-def getter_callback_name_for_main_world(interface, attribute):
- if 'PerWorldBindings' not in attribute.extended_attributes:
- return '0'
- return '%sV8Internal::%sAttributeGetterCallbackForMainWorld' % (cpp_name(interface), attribute.name)
-
-
-def setter_callback_name_for_main_world(interface, attribute):
- if ('PerWorldBindings' not in attribute.extended_attributes or
- attribute.is_read_only):
- return '0'
- return '%sV8Internal::%sAttributeSetterCallbackForMainWorld' % (cpp_name(interface), attribute.name)
-
-
-def wrapper_type_info(attribute):
- if not is_constructor_attribute(attribute):
- return '0'
- return 'const_cast<WrapperTypeInfo*>(&V8%s::wrapperTypeInfo)' % v8_types.constructor_type(attribute.idl_type)
-
-
# [DoNotCheckSecurity], [Unforgeable]
def access_control_list(attribute):
extended_attributes = attribute.extended_attributes
« no previous file with comments | « no previous file | Source/bindings/scripts/unstable/v8_interface.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698