Chromium Code Reviews| Index: lib/dom/scripts/systemhtml.py |
| diff --git a/lib/dom/scripts/systemhtml.py b/lib/dom/scripts/systemhtml.py |
| index 90853dd8aac54924e0639798eb0ab77f4a8304a3..eb2d8d87d44d1b877b15e24da82c8d866dd196b7 100644 |
| --- a/lib/dom/scripts/systemhtml.py |
| +++ b/lib/dom/scripts/systemhtml.py |
| @@ -806,6 +806,8 @@ class HtmlDart2JSClassGenerator(Dart2JSInterfaceGenerator): |
| element_type = MaybeTypedArrayElementType(self._interface) |
| if element_type: |
| implements.append('List<%s>' % self._DartType(element_type)) |
| + |
| + if self._HasJavaScriptIndexingBehaviour(): |
| implements.append('JavaScriptIndexingBehavior') |
| template_file = 'impl_%s.darttemplate' % self._html_interface_name |
| @@ -999,6 +1001,13 @@ class HtmlDart2JSClassGenerator(Dart2JSInterfaceGenerator): |
| member_name = '%s.%s' % (self._html_interface_name, member_name) |
| return member_name in _js_custom_members |
| + def _HasJavaScriptIndexingBehaviour(self): |
| + """Returns True if the native object has an indexer and length property.""" |
| + (element_type, requires_indexer) = ListImplementationInfo( |
| + self._interface, self._database) |
|
kasperl
2012/08/02 10:03:06
4 space indent here?
sra1
2012/08/02 10:26:51
Done.
|
| + if element_type and requires_indexer: return True |
| + return False |
| + |
| # ------------------------------------------------------------------------------ |
| class HtmlDart2JSSystem(System): |