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

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

Issue 953473002: bindings: Supports [Replaceable] accessors. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Addressed a review comment. 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 9434b783b88f319cc57436d2eddcee5523a2b707..e5395ddb62a4136c0fdcf864e3612e8ab8f4f3cc 100644
--- a/Source/bindings/scripts/v8_attributes.py
+++ b/Source/bindings/scripts/v8_attributes.py
@@ -59,18 +59,17 @@ def attribute_context(interface, attribute):
is_reflect = 'Reflect' in extended_attributes
if is_custom_element_callbacks or is_reflect:
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)
# [ImplementedInPrivateScript]
is_implemented_in_private_script = 'ImplementedInPrivateScript' in extended_attributes
if is_implemented_in_private_script:
includes.add('bindings/core/v8/PrivateScriptRunner.h')
includes.add('core/frame/LocalFrame.h')
includes.add('platform/ScriptForbiddenScope.h')
-
# [OnlyExposedToPrivateScript]
is_only_exposed_to_private_script = 'OnlyExposedToPrivateScript' in extended_attributes
+ # [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)
if (base_idl_type == 'EventHandler' and
interface.name in ['Window', 'WorkerGlobalScope'] and
@@ -427,18 +426,18 @@ def scoped_content_attribute_name(interface, attribute):
# Attribute configuration
################################################################################
-# [Replaceable]
+# [PutForwards], [Replaceable]
def setter_callback_name(interface, attribute):
cpp_class_name = cpp_name(interface)
cpp_class_name_or_partial = cpp_name_or_partial(interface)
extended_attributes = attribute.extended_attributes
- if (('Replaceable' in extended_attributes and
- 'PutForwards' not in extended_attributes) or
- is_constructor_attribute(attribute)):
+ if (is_constructor_attribute(attribute)):
return '%sV8Internal::%sForceSetAttributeOnThisCallback' % (
cpp_class_name_or_partial, cpp_class_name)
- if attribute.is_read_only and 'PutForwards' not in extended_attributes:
+ if (attribute.is_read_only and
+ 'PutForwards' not in extended_attributes and
+ 'Replaceable' not in extended_attributes):
return '0'
return '%sV8Internal::%sAttributeSetterCallback' % (cpp_class_name_or_partial, attribute.name)
« no previous file with comments | « no previous file | Source/bindings/templates/attributes.cpp » ('j') | Source/bindings/templates/interface_base.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698