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/unstable/v8_methods.py

Issue 114693005: IDL compiler: sync Python to r164407 (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Simpler Created 6 years, 11 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
« no previous file with comments | « no previous file | Source/bindings/templates/interface.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/scripts/unstable/v8_methods.py
diff --git a/Source/bindings/scripts/unstable/v8_methods.py b/Source/bindings/scripts/unstable/v8_methods.py
index 82038ec10bc5b5512e95a7e093eb5f713d91b529..08298cb195b41b80b93fdaee43b832e25731c5c2 100644
--- a/Source/bindings/scripts/unstable/v8_methods.py
+++ b/Source/bindings/scripts/unstable/v8_methods.py
@@ -49,7 +49,6 @@ def generate_method(interface, method):
name = method.name
this_cpp_value = cpp_value(interface, method, len(arguments))
- this_custom_signature = custom_signature(method, arguments)
def function_template():
if is_static:
@@ -58,13 +57,6 @@ def generate_method(interface, method):
return 'instanceTemplate'
return 'prototypeTemplate'
- def signature():
- if this_custom_signature:
- return name + 'Signature'
- if is_static or 'DoNotCheckSignature' in extended_attributes:
- return 'v8::Local<v8::Signature>()'
- return 'defaultSignature'
-
is_call_with_script_arguments = has_extended_attribute_value(method, 'CallWith', 'ScriptArguments')
if is_call_with_script_arguments:
includes.update(['bindings/v8/ScriptCallStackFactory.h',
@@ -95,9 +87,8 @@ def generate_method(interface, method):
'conditional_string': v8_utilities.conditional_string(method),
'cpp_type': v8_types.cpp_type(idl_type),
'cpp_value': this_cpp_value,
- 'custom_signature': this_custom_signature,
'deprecate_as': v8_utilities.deprecate_as(method), # [DeprecateAs]
- 'do_not_check_signature': not(this_custom_signature or is_static or
+ 'do_not_check_signature': not(is_static or
v8_utilities.has_extended_attribute(method,
['DoNotCheckSecurity', 'DoNotCheckSignature', 'NotEnumerable',
'ReadOnly', 'RuntimeEnabled', 'Unforgeable'])),
@@ -134,7 +125,7 @@ def generate_method(interface, method):
'per_context_enabled_function': v8_utilities.per_context_enabled_function_name(method), # [PerContextEnabled]
'property_attributes': property_attributes(method),
'runtime_enabled_function': v8_utilities.runtime_enabled_function_name(method), # [RuntimeEnabled]
- 'signature': signature(),
+ 'signature': 'v8::Local<v8::Signature>()' if is_static or 'DoNotCheckSignature' in extended_attributes else 'defaultSignature',
'v8_set_return_value': v8_set_return_value(method, this_cpp_value),
'world_suffixes': ['', 'ForMainWorld'] if 'PerWorldBindings' in extended_attributes else [''], # [PerWorldBindings]
}
@@ -192,28 +183,6 @@ def v8_set_return_value(method, cpp_value):
return v8_types.v8_set_return_value(idl_type, cpp_value, method.extended_attributes)
-def custom_signature(method, arguments):
- def argument_template(argument):
- idl_type = argument.idl_type
- if (v8_types.is_wrapper_type(idl_type) and
- not v8_types.is_typed_array_type(idl_type) and
- # Compatibility: all other browsers accepts a callable for
- # XPathNSResolver, despite it being against spec.
- not idl_type == 'XPathNSResolver'):
- return 'V8PerIsolateData::from(isolate)->rawDOMTemplate(&V8{idl_type}::wrapperTypeInfo, currentWorldType)'.format(idl_type=idl_type)
- return 'v8::Handle<v8::FunctionTemplate>()'
-
- if (any(argument.is_optional and
- 'Default' not in argument.extended_attributes
- for argument in arguments) or
- all(not v8_types.is_wrapper_type(argument.idl_type)
- for argument in arguments) or
- # For [StrictTypeChecking], type checking is done in the generated code
- 'StrictTypeChecking' in method.extended_attributes):
- return None
- return ', '.join([argument_template(argument) for argument in arguments])
-
-
# [NotEnumerable]
def property_attributes(method):
extended_attributes = method.extended_attributes
« no previous file with comments | « no previous file | Source/bindings/templates/interface.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698