| Index: tools/dom/scripts/systemhtml.py
|
| diff --git a/tools/dom/scripts/systemhtml.py b/tools/dom/scripts/systemhtml.py
|
| index 672d97e7a1faaed2eda62a1fd0b2b10ea104d85f..efceff66ac78b2067fdbd8f14cbe5329cbd014fd 100644
|
| --- a/tools/dom/scripts/systemhtml.py
|
| +++ b/tools/dom/scripts/systemhtml.py
|
| @@ -586,7 +586,7 @@ class HtmlDartInterfaceGenerator(object):
|
| class_modifiers = ''
|
| else:
|
| # For Dartium w/ JsInterop these suppressed interfaces are needed to
|
| - # instanciate the internal classes when wrap_jso is called for a JS object.
|
| + # instanciate the internal classes.
|
| if (self._renamer.ShouldSuppressInterface(self._interface) and
|
| not(isinstance(self._backend, Dart2JSBackend)) and
|
| self._options.dart_js_interop):
|
| @@ -600,21 +600,10 @@ class HtmlDartInterfaceGenerator(object):
|
|
|
| class_name = self._interface_type_info.implementation_name()
|
|
|
| - js_interop_equivalence_op = \
|
| - ' bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);\n' \
|
| - + ' int get hashCode => unwrap_jso(this).hashCode;\n'
|
| - # ClientRect overrides the equivalence operator.
|
| - if interface_name == 'ClientRect' or interface_name == 'DomRectReadOnly':
|
| - js_interop_equivalence_op = ''
|
| -
|
| js_interop_wrapper = '''
|
|
|
| @Deprecated("Internal Use Only")
|
| - static {0} internalCreate{0}() {{
|
| - return new {0}._internalWrap();
|
| - }}
|
| -
|
| - external factory {0}._internalWrap();
|
| + external static Type get instanceRuntimeType;
|
|
|
| @Deprecated("Internal Use Only")
|
| {0}.internal_() : super.internal_();
|
| @@ -622,19 +611,13 @@ class HtmlDartInterfaceGenerator(object):
|
| '''.format(class_name)
|
| if base_class == 'NativeFieldWrapperClass2' or base_class == 'DartHtmlDomObject':
|
| js_interop_wrapper = '''
|
| - @Deprecated("Internal Use Only")
|
| - static {0} internalCreate{0}() {{
|
| - return new {0}._internalWrap();
|
| - }}
|
|
|
| - factory {0}._internalWrap() {{
|
| - return new {0}.internal_();
|
| - }}
|
| + @Deprecated("Internal Use Only")
|
| + external static Type get instanceRuntimeType;
|
|
|
| @Deprecated("Internal Use Only")
|
| {0}.internal_() {{ }}
|
| -
|
| -{1}'''.format(class_name, js_interop_equivalence_op)
|
| +'''.format(class_name)
|
| # Change to use the synthesized class so we can construct with a mixin
|
| # classes prefixed with name of NativeFieldWrapperClass2 don't have a
|
| # default constructor so classes with mixins can't be new'd.
|
| @@ -1285,13 +1268,9 @@ class DartLibrary():
|
| emitters = library_emitter.Emit(
|
| self._template, AUXILIARY_DIR=massage_path(auxiliary_dir))
|
| if isinstance(emitters, tuple):
|
| - if self._dart_js_interop:
|
| - imports_emitter, map_emitter, function_emitter = emitters
|
| - else:
|
| - imports_emitter, map_emitter = emitters
|
| - function_emitter = None
|
| + imports_emitter, map_emitter = emitters
|
| else:
|
| - imports_emitter, map_emitter, function_emitter = emitters, None, None
|
| + imports_emitter, map_emitter = emitters, None
|
|
|
| for path in sorted(self._paths):
|
| relpath = os.path.relpath(path, library_file_dir)
|
| @@ -1304,26 +1283,10 @@ class DartLibrary():
|
| items.sort()
|
| for (idl_name, dart_name) in items:
|
| map_emitter.Emit(
|
| - " '$IDL_NAME': () => $DART_NAME,\n",
|
| + " '$IDL_NAME': () => $DART_NAME.instanceRuntimeType,\n",
|
| IDL_NAME=idl_name,
|
| DART_NAME=dart_name)
|
|
|
| - # Emit the $!TYPE_FUNCTION_MAP
|
| - if function_emitter:
|
| - items = self._typeMap.items()
|
| - items.sort()
|
| - for (idl_name, dart_name) in items:
|
| - # DOMStringMap is in the abstract list but is used as a concrete class
|
| - # in Dartium.
|
| - if not IsPureInterface(idl_name):
|
| - # Handle classes that are concrete (abstract can't be instantiated).
|
| - function_emitter.Emit(
|
| - " '$IDL_NAME': () => $DART_NAME.internalCreate$DART_NAME,\n",
|
| - IDL_NAME=idl_name,
|
| - DART_NAME=dart_name)
|
| - if self._dart_path.endswith('html_dartium.dart'):
|
| - function_emitter.Emit(" 'polymer-element': () => HtmlElement.internalCreateHtmlElement,\n")
|
| -
|
|
|
| # ------------------------------------------------------------------------------
|
|
|
|
|