Index: bindings/scripts/v8_attributes.py |
diff --git a/bindings/scripts/v8_attributes.py b/bindings/scripts/v8_attributes.py |
index bb61ef9c648598eea08c526ff3041e1baf71216d..2a09c887198a13d4a0a4151b2e20a10345bec385 100644 |
--- a/bindings/scripts/v8_attributes.py |
+++ b/bindings/scripts/v8_attributes.py |
@@ -38,7 +38,9 @@ from idl_types import inherits_interface |
from v8_globals import includes, interfaces |
import v8_types |
import v8_utilities |
-from v8_utilities import capitalize, cpp_name, has_extended_attribute, has_extended_attribute_value, scoped_name, strip_suffix, uncapitalize |
+from v8_utilities import (capitalize, cpp_name, has_extended_attribute, |
+ has_extended_attribute_value, scoped_name, strip_suffix, |
+ uncapitalize, extended_attribute_value_as_list) |
def attribute_context(interface, attribute): |
@@ -56,7 +58,7 @@ def attribute_context(interface, attribute): |
is_custom_element_callbacks = 'CustomElementCallbacks' in extended_attributes |
is_reflect = 'Reflect' in extended_attributes |
if is_custom_element_callbacks or is_reflect: |
- includes.add('core/dom/custom/CustomElementCallbackDispatcher.h') |
+ includes.add('core/dom/custom/CustomElementProcessingStack.h') |
# [PerWorldBindings] |
if 'PerWorldBindings' in extended_attributes: |
assert idl_type.is_wrapper_type or 'LogActivity' in extended_attributes, '[PerWorldBindings] should only be used with wrapper types: %s.%s' % (interface.name, attribute.name) |
@@ -84,7 +86,6 @@ def attribute_context(interface, attribute): |
'access_control_list': access_control_list(attribute), |
'activity_logging_world_list_for_getter': v8_utilities.activity_logging_world_list(attribute, 'Getter'), # [ActivityLogging] |
'activity_logging_world_list_for_setter': v8_utilities.activity_logging_world_list(attribute, 'Setter'), # [ActivityLogging] |
- 'activity_logging_include_old_value_for_setter': 'LogPreviousValue' in extended_attributes, # [ActivityLogging] |
'activity_logging_world_check': v8_utilities.activity_logging_world_check(attribute), # [ActivityLogging] |
'argument_cpp_type': idl_type.cpp_type_args(used_as_rvalue_type=True), |
'cached_attribute_validation_method': extended_attributes.get('CachedAttribute'), |
@@ -135,8 +136,7 @@ def attribute_context(interface, attribute): |
'reflect_empty': extended_attributes.get('ReflectEmpty'), |
'reflect_invalid': extended_attributes.get('ReflectInvalid', ''), |
'reflect_missing': extended_attributes.get('ReflectMissing'), |
- 'reflect_only': extended_attributes['ReflectOnly'].split('|') |
- if 'ReflectOnly' in extended_attributes else None, |
+ '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), |
@@ -176,7 +176,8 @@ def getter_context(interface, attribute, context): |
release = False |
if 'ImplementedInPrivateScript' in extended_attributes: |
if (not idl_type.is_wrapper_type and |
- not idl_type.is_basic_type): |
+ not idl_type.is_basic_type and |
+ not idl_type.is_enum): |
raise Exception('Private scripts supports only primitive types and DOM wrappers.') |
context['cpp_value_original'] = cpp_value |
@@ -187,7 +188,6 @@ def getter_context(interface, attribute, context): |
elif (idl_type.is_explicit_nullable or |
base_idl_type == 'EventHandler' or |
'CachedAttribute' in extended_attributes or |
- 'LogPreviousValue' in extended_attributes or |
'ReflectOnly' in extended_attributes or |
context['is_keep_alive_for_gc'] or |
context['is_getter_raises_exception']): |
@@ -327,7 +327,7 @@ def setter_context(interface, attribute, context): |
'has_setter_exception_state': |
is_setter_raises_exception or has_type_checking_interface or |
context['has_type_checking_unrestricted'] or |
- idl_type.may_raise_exception_on_conversion, |
+ idl_type.v8_conversion_needs_exception_state, |
'has_type_checking_interface': has_type_checking_interface, |
'is_setter_call_with_execution_context': v8_utilities.has_extended_attribute_value( |
attribute, 'SetterCallWith', 'ExecutionContext'), |