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

Unified Diff: tools/dom/scripts/systemnative.py

Issue 450693005: Eliminate the old non blink code paths from idl generation (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove DART_USE_BLINK from templates Created 6 years, 4 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: 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(
« no previous file with comments | « tools/dom/scripts/htmldartgenerator.py ('k') | tools/dom/templates/html/dartium/chrome_dartium.darttemplate » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698