Index: tools/dom/scripts/systemnative.py |
diff --git a/tools/dom/scripts/systemnative.py b/tools/dom/scripts/systemnative.py |
index 2cc9e774b9d998cee0060fcd8d96a8c6ce3c922a..da8219917d585105d32c3847b700309f2dd20176 100644 |
--- a/tools/dom/scripts/systemnative.py |
+++ b/tools/dom/scripts/systemnative.py |
@@ -415,8 +415,8 @@ class DartiumBackend(HtmlDartGenerator): |
"""Generates Dart implementation for one DOM IDL interface.""" |
def __init__(self, interface, native_library_emitter, |
- cpp_library_emitter, options, dart_use_blink): |
- super(DartiumBackend, self).__init__(interface, options, dart_use_blink) |
+ cpp_library_emitter, options): |
+ super(DartiumBackend, self).__init__(interface, options, True) |
self._interface = interface |
self._cpp_library_emitter = cpp_library_emitter |
@@ -626,13 +626,12 @@ class DartiumBackend(HtmlDartGenerator): |
' WebCore::DartArrayBufferViewInternal::constructWebGLArray<Dart$(INTERFACE_NAME)>(args);\n' |
'}\n', |
INTERFACE_NAME=self._interface.id); |
- if self._dart_use_blink: |
- self._native_class_emitter = self._native_library_emitter.Emit( |
- '\n' |
- 'class $INTERFACE_NAME {' |
- '$!METHODS' |
- '}\n', |
- INTERFACE_NAME=DeriveBlinkClassName(self._interface.id)) |
+ self._native_class_emitter = self._native_library_emitter.Emit( |
+ '\n' |
+ 'class $INTERFACE_NAME {' |
+ '$!METHODS' |
+ '}\n', |
+ INTERFACE_NAME=DeriveBlinkClassName(self._interface.id)) |
def _EmitConstructorInfrastructure(self, |
constructor_info, cpp_prefix, cpp_suffix, factory_method_name, |
@@ -641,63 +640,47 @@ class DartiumBackend(HtmlDartGenerator): |
constructor_callback_cpp_name = cpp_prefix + cpp_suffix |
if arguments is None: |
- if self._dart_use_blink: |
- arguments = constructor_info.idl_args[0] |
- argument_count = len(arguments) |
- else: |
- argument_count = len(constructor_info.param_infos) |
+ arguments = constructor_info.idl_args[0] |
+ argument_count = len(arguments) |
else: |
- argument_count = len(arguments) |
+ argument_count = len(arguments) |
typed_formals = constructor_info.ParametersAsArgumentList(argument_count) |
parameters = constructor_info.ParametersAsStringOfVariables(argument_count) |
interface_name = self._interface_type_info.interface_name() |
- if self._dart_use_blink: |
- type_ids = [p.type.id for p in arguments[:argument_count]] |
+ type_ids = [p.type.id for p in arguments[:argument_count]] |
+ constructor_callback_id = \ |
+ DeriveResolverString(self._interface.id, cpp_suffix, None, type_ids, self._database, is_custom) |
+ |
+ # First we emit the toplevel function |
+ dart_native_name = \ |
+ self.DeriveNativeName(constructor_callback_cpp_name) |
+ if constructor_callback_id in _cpp_resolver_string_map: |
constructor_callback_id = \ |
- DeriveResolverString(self._interface.id, cpp_suffix, None, type_ids, self._database, is_custom) |
- else: |
- constructor_callback_id = self._interface.id + '_' + constructor_callback_cpp_name |
- |
- if self._dart_use_blink: |
- # First we emit the toplevel function |
- dart_native_name = \ |
- self.DeriveNativeName(constructor_callback_cpp_name) |
- if constructor_callback_id in _cpp_resolver_string_map: |
- constructor_callback_id = \ |
- _cpp_resolver_string_map[constructor_callback_id] |
- self._native_class_emitter.Emit( |
- '\n' |
- ' static $FACTORY_METHOD_NAME($PARAMETERS) native "$ID";\n', |
- FACTORY_METHOD_NAME=dart_native_name, |
- PARAMETERS=parameters, |
- ID=constructor_callback_id) |
- |
- # Then we emit the impedance matching wrapper to call out to the |
- # toplevel wrapper |
- if not emit_to_native: |
- toplevel_name = \ |
- self.DeriveQualifiedBlinkName(self._interface.id, |
- dart_native_name) |
- self._members_emitter.Emit( |
- '\n @DocsEditable()\n' |
- ' static $INTERFACE_NAME $FACTORY_METHOD_NAME($PARAMETERS) => ' |
- '$TOPLEVEL_NAME($OUTPARAMETERS);\n', |
- INTERFACE_NAME=self._interface_type_info.interface_name(), |
- FACTORY_METHOD_NAME=factory_method_name, |
- PARAMETERS=typed_formals, |
- TOPLEVEL_NAME=toplevel_name, |
- OUTPARAMETERS=parameters) |
- else: |
+ _cpp_resolver_string_map[constructor_callback_id] |
+ self._native_class_emitter.Emit( |
+ '\n' |
+ ' static $FACTORY_METHOD_NAME($PARAMETERS) native "$ID";\n', |
+ FACTORY_METHOD_NAME=dart_native_name, |
+ PARAMETERS=parameters, |
+ ID=constructor_callback_id) |
+ |
+ # Then we emit the impedance matching wrapper to call out to the |
+ # toplevel wrapper |
+ if not emit_to_native: |
+ toplevel_name = \ |
+ self.DeriveQualifiedBlinkName(self._interface.id, |
+ dart_native_name) |
self._members_emitter.Emit( |
'\n @DocsEditable()\n' |
- ' static $INTERFACE_NAME $FACTORY_METHOD_NAME($PARAMETERS) ' |
- 'native "$ID";\n', |
+ ' static $INTERFACE_NAME $FACTORY_METHOD_NAME($PARAMETERS) => ' |
+ '$TOPLEVEL_NAME($OUTPARAMETERS);\n', |
INTERFACE_NAME=self._interface_type_info.interface_name(), |
FACTORY_METHOD_NAME=factory_method_name, |
PARAMETERS=typed_formals, |
- ID=constructor_callback_id) |
+ TOPLEVEL_NAME=toplevel_name, |
+ OUTPARAMETERS=parameters) |
self._cpp_resolver_emitter.Emit( |
' if (name == "$ID")\n' |
@@ -740,7 +723,7 @@ class DartiumBackend(HtmlDartGenerator): |
constructor_callback_cpp_name = name + 'constructorCallback' |
self._EmitConstructorInfrastructure( |
constructor_info, name, 'constructorCallback', name, arguments, |
- emit_to_native=self._dart_use_blink, |
+ emit_to_native=True, |
is_custom=False) |
ext_attrs = self._interface.ext_attrs |
@@ -1082,56 +1065,41 @@ class DartiumBackend(HtmlDartGenerator): |
elif self._HasExplicitIndexedGetter(): |
self._EmitExplicitIndexedGetter(dart_element_type) |
else: |
- if self._dart_use_blink: |
- is_custom = any((op.id == 'item' and 'Custom' in op.ext_attrs) for op in self._interface.operations) |
- dart_native_name = \ |
- self.DeriveNativeName("NativeIndexed", "Getter") |
- # First emit a toplevel function to do the native call |
- # Calls to this are emitted elsewhere, |
+ is_custom = any((op.id == 'item' and 'Custom' in op.ext_attrs) for op in self._interface.operations) |
+ dart_native_name = \ |
+ self.DeriveNativeName("NativeIndexed", "Getter") |
+ # First emit a toplevel function to do the native call |
+ # Calls to this are emitted elsewhere, |
+ resolver_string = \ |
+ DeriveResolverString(self._interface.id, "item", "Callback", |
+ ["unsigned long"], self._database, is_custom) |
+ if resolver_string in _cpp_resolver_string_map: |
resolver_string = \ |
- DeriveResolverString(self._interface.id, "item", "Callback", |
- ["unsigned long"], self._database, is_custom) |
- if resolver_string in _cpp_resolver_string_map: |
- resolver_string = \ |
- _cpp_resolver_string_map[resolver_string] |
- self._native_class_emitter.Emit( |
- '\n' |
- ' static $(DART_NATIVE_NAME)(mthis, index) ' |
- 'native "$(RESOLVER_STRING)";\n', |
- DART_NATIVE_NAME = dart_native_name, |
- RESOLVER_STRING=resolver_string) |
- |
- # Emit the method which calls the toplevel function, along with |
- # the [] operator. |
- dart_qualified_name = \ |
- self.DeriveQualifiedBlinkName(self._interface.id, |
- dart_native_name) |
- self._members_emitter.Emit( |
- '\n' |
- ' $TYPE operator[](int index) {\n' |
- ' if (index < 0 || index >= length)\n' |
- ' throw new RangeError.range(index, 0, length);\n' |
- ' return $(DART_NATIVE_NAME)(this, index);\n' |
- ' }\n\n' |
- ' $TYPE _nativeIndexedGetter(int index) =>' |
- ' $(DART_NATIVE_NAME)(this, index);\n', |
- DART_NATIVE_NAME=dart_qualified_name, |
- TYPE=self.SecureOutputType(element_type), |
- INTERFACE=self._interface.id) |
- else: |
- # Emit the method which calls the toplevel function, along with |
- # the [] operator. |
- self._members_emitter.Emit( |
- '\n' |
- ' $TYPE operator[](int index) {\n' |
- ' if (index < 0 || index >= length)\n' |
- ' throw new RangeError.range(index, 0, length);\n' |
- ' return _nativeIndexedGetter(index);\n' |
- ' }\n' |
- ' $TYPE _nativeIndexedGetter(int index)' |
- ' native "$(INTERFACE)_item_Callback";\n', |
- TYPE=self.SecureOutputType(element_type), |
- INTERFACE=self._interface.id) |
+ _cpp_resolver_string_map[resolver_string] |
+ self._native_class_emitter.Emit( |
+ '\n' |
+ ' static $(DART_NATIVE_NAME)(mthis, index) ' |
+ 'native "$(RESOLVER_STRING)";\n', |
+ DART_NATIVE_NAME = dart_native_name, |
+ RESOLVER_STRING=resolver_string) |
+ |
+ # Emit the method which calls the toplevel function, along with |
+ # the [] operator. |
+ dart_qualified_name = \ |
+ self.DeriveQualifiedBlinkName(self._interface.id, |
+ dart_native_name) |
+ self._members_emitter.Emit( |
+ '\n' |
+ ' $TYPE operator[](int index) {\n' |
+ ' if (index < 0 || index >= length)\n' |
+ ' throw new RangeError.range(index, 0, length);\n' |
+ ' return $(DART_NATIVE_NAME)(this, index);\n' |
+ ' }\n\n' |
+ ' $TYPE _nativeIndexedGetter(int index) =>' |
+ ' $(DART_NATIVE_NAME)(this, index);\n', |
+ DART_NATIVE_NAME=dart_qualified_name, |
+ TYPE=self.SecureOutputType(element_type), |
+ INTERFACE=self._interface.id) |
if self._HasNativeIndexSetter(): |
self._EmitNativeIndexSetter(dart_element_type) |
@@ -1226,14 +1194,11 @@ class DartiumBackend(HtmlDartGenerator): |
argument_count = (0 if info.IsStatic() else 1) + len(info.param_infos) |
native_suffix = 'Callback' |
auto_scope_setup = self._GenerateAutoSetupScope(info.name, native_suffix) |
- if self._dart_use_blink: |
- type_ids = [argument.type.id |
- for argument in operation.arguments[:len(info.param_infos)]] |
- resolver_string = \ |
- DeriveResolverString(self._interface.id, operation.id, |
- native_suffix, type_ids, self._database, is_custom) |
- else: |
- resolver_string = None |
+ type_ids = [argument.type.id |
+ for argument in operation.arguments[:len(info.param_infos)]] |
+ resolver_string = \ |
+ DeriveResolverString(self._interface.id, operation.id, |
+ native_suffix, type_ids, self._database, is_custom) |
cpp_callback_name = self._GenerateNativeBinding( |
info.name, argument_count, dart_declaration, |
info.IsStatic(), return_type, parameters, |
@@ -1255,35 +1220,25 @@ class DartiumBackend(HtmlDartGenerator): |
return_type = self.SecureOutputType(operation.type.id) |
native_suffix = 'Callback' |
is_custom = 'Custom' in operation.ext_attrs |
- if self._dart_use_blink: |
- base_name = '_%s_%s' % (operation.id, version) |
- overload_base_name = \ |
- self.DeriveNativeName(base_name, native_suffix) |
- overload_name = \ |
- self.DeriveQualifiedBlinkName(self._interface.id, |
- overload_base_name) |
- static = True |
- if not operation.is_static: |
- actuals = ['this'] + actuals |
- formals = ['mthis'] + formals |
- actuals_s = ", ".join(actuals) |
- formals_s = ", ".join(formals) |
- dart_declaration = '%s(%s)' % ( |
- base_name, formals_s) |
- type_ids = [argument.type.id |
- for argument in operation.arguments[:argument_count]] |
- resolver_string = \ |
- DeriveResolverString(self._interface.id, operation.id, |
- native_suffix, type_ids, self._database, is_custom) |
- else: |
- base_name = '_%s_%s' % (operation.id, version) |
- overload_name = base_name |
- static = operation.is_static |
- dart_declaration = '%s%s %s(%s)' % ( |
- 'static ' if static else '', |
- return_type, |
- overload_name, actuals_s) |
- resolver_string = None |
+ base_name = '_%s_%s' % (operation.id, version) |
+ overload_base_name = \ |
+ self.DeriveNativeName(base_name, native_suffix) |
+ overload_name = \ |
+ self.DeriveQualifiedBlinkName(self._interface.id, |
+ overload_base_name) |
+ static = True |
+ if not operation.is_static: |
+ actuals = ['this'] + actuals |
+ formals = ['mthis'] + formals |
+ actuals_s = ", ".join(actuals) |
+ formals_s = ", ".join(formals) |
+ dart_declaration = '%s(%s)' % ( |
+ base_name, formals_s) |
+ type_ids = [argument.type.id |
+ for argument in operation.arguments[:argument_count]] |
+ resolver_string = \ |
+ DeriveResolverString(self._interface.id, operation.id, |
+ native_suffix, type_ids, self._database, is_custom) |
call_emitter.Emit('$NAME($ARGS)', NAME=overload_name, ARGS=actuals_s) |
auto_scope_setup = \ |
@@ -1292,7 +1247,7 @@ class DartiumBackend(HtmlDartGenerator): |
base_name, (0 if static else 1) + argument_count, |
dart_declaration, static, return_type, formals, |
native_suffix, is_custom, auto_scope_setup, emit_metadata=False, |
- emit_to_native=self._dart_use_blink, resolver_string=resolver_string) |
+ emit_to_native=True, resolver_string=resolver_string) |
if not is_custom: |
self._GenerateOperationNativeCallback(operation, |
operation.arguments[:argument_count], cpp_callback_name, |
@@ -1494,21 +1449,13 @@ class DartiumBackend(HtmlDartGenerator): |
' Document& document = *domWindow->document();\n') |
if needs_receiver: |
- if self._dart_use_blink: |
- body_emitter.Emit( |
- ' $WEBCORE_CLASS_NAME* receiver = ' |
- 'DartDOMWrapper::receiverChecked<Dart$INTERFACE>(args, exception);\n' |
- ' if (exception)\n' |
- ' goto fail;\n', |
- WEBCORE_CLASS_NAME=self._interface_type_info.native_type(), |
- INTERFACE=self._interface.id) |
- else: |
- body_emitter.Emit( |
- ' $WEBCORE_CLASS_NAME* receiver = ' |
- 'DartDOMWrapper::receiver< $WEBCORE_CLASS_NAME >(args);\n' |
- ' if (exception)\n' |
- ' goto fail;\n', |
- WEBCORE_CLASS_NAME=self._interface_type_info.native_type()) |
+ body_emitter.Emit( |
+ ' $WEBCORE_CLASS_NAME* receiver = ' |
+ 'DartDOMWrapper::receiverChecked<Dart$INTERFACE>(args, exception);\n' |
+ ' if (exception)\n' |
+ ' goto fail;\n', |
+ WEBCORE_CLASS_NAME=self._interface_type_info.native_type(), |
+ INTERFACE=self._interface.id) |
if requires_stack_info: |
self._cpp_impl_includes.add('"ScriptArguments.h"') |
@@ -1712,47 +1659,38 @@ class DartiumBackend(HtmlDartGenerator): |
native_binding = resolver_string |
else: |
native_binding_id = self._interface.id |
- if self._dart_use_blink: |
- native_binding_id = TypeIdToBlinkName(native_binding_id, self._database) |
+ native_binding_id = TypeIdToBlinkName(native_binding_id, self._database) |
native_binding = \ |
'%s_%s_%s' % (native_binding_id, idl_name, native_suffix) |
- if self._dart_use_blink: |
- if not static: |
- formals = ", ".join(['mthis'] + parameters) |
- actuals = ", ".join(['this'] + parameters) |
- else: |
- formals = ", ".join(parameters) |
- actuals = ", ".join(parameters) |
- if native_binding in _cpp_resolver_string_map: |
- native_binding = \ |
- _cpp_resolver_string_map[native_binding] |
- self._native_class_emitter.Emit( |
- '\n' |
- ' static $DART_NAME($FORMALS) native "$NATIVE_BINDING";\n', |
- DART_NAME=dart_native_name, |
- FORMALS=formals, |
- NATIVE_BINDING=native_binding) |
- |
- if not emit_to_native: |
- caller_emitter = self._members_emitter |
- full_dart_name = \ |
- self.DeriveQualifiedBlinkName(self._interface.id, |
- dart_native_name) |
- caller_emitter.Emit( |
- '\n' |
- ' $METADATA$DART_DECLARATION => $DART_NAME($ACTUALS);\n', |
- METADATA=metadata, |
- DART_DECLARATION=dart_declaration, |
- DART_NAME=full_dart_name, |
- ACTUALS=actuals) |
+ if not static: |
+ formals = ", ".join(['mthis'] + parameters) |
+ actuals = ", ".join(['this'] + parameters) |
else: |
- self._members_emitter.Emit( |
+ formals = ", ".join(parameters) |
+ actuals = ", ".join(parameters) |
+ if native_binding in _cpp_resolver_string_map: |
+ native_binding = \ |
+ _cpp_resolver_string_map[native_binding] |
+ self._native_class_emitter.Emit( |
+ '\n' |
+ ' static $DART_NAME($FORMALS) native "$NATIVE_BINDING";\n', |
+ DART_NAME=dart_native_name, |
+ FORMALS=formals, |
+ NATIVE_BINDING=native_binding) |
+ |
+ if not emit_to_native: |
+ caller_emitter = self._members_emitter |
+ full_dart_name = \ |
+ self.DeriveQualifiedBlinkName(self._interface.id, |
+ dart_native_name) |
+ caller_emitter.Emit( |
'\n' |
- ' $METADATA$DART_DECLARATION native "$NATIVE_BINDING";\n', |
+ ' $METADATA$DART_DECLARATION => $DART_NAME($ACTUALS);\n', |
METADATA=metadata, |
DART_DECLARATION=dart_declaration, |
- NATIVE_BINDING=native_binding) |
+ DART_NAME=full_dart_name, |
+ ACTUALS=actuals) |
cpp_callback_name = '%s%s' % (idl_name, native_suffix) |
self._cpp_resolver_emitter.Emit( |