Index: tools/dom/scripts/htmldartgenerator.py |
diff --git a/tools/dom/scripts/htmldartgenerator.py b/tools/dom/scripts/htmldartgenerator.py |
index c81be535ae65e56b779034ad232b2d66f0e17298..b6c4346799d7b72a8340d12f943e35ad5208e3ca 100644 |
--- a/tools/dom/scripts/htmldartgenerator.py |
+++ b/tools/dom/scripts/htmldartgenerator.py |
@@ -358,7 +358,8 @@ class HtmlDartGenerator(object): |
for i in reversed(range(0, argument_count)): |
argument = signatures[signature_index][i] |
parameter_name = parameter_names[i] |
- test_type = self._DartType(argument.type.id) |
+ |
+ test_type = self._NarrowToImplementationType(argument.type.id) |
if test_type in ['dynamic', 'Object']: |
checks.append('%s != null' % parameter_name) |
@@ -755,6 +756,12 @@ class HtmlDartGenerator(object): |
if type_name in _secure_base_types: |
return _secure_base_types[type_name] |
+ def _NarrowToImplementationType(self, type_name): |
+ return self._type_registry.TypeInfo(type_name).narrow_dart_type() |
+ |
+ def _NarrowInputType(self, type_name): |
+ return self._NarrowToImplementationType(type_name) |
+ |
def _DartType(self, type_name): |
return self._type_registry.DartType(type_name) |