Chromium Code Reviews| Index: lib/dom/scripts/systemhtml.py |
| diff --git a/lib/dom/scripts/systemhtml.py b/lib/dom/scripts/systemhtml.py |
| index d432c32d5b5b3ac0a0fb5bc49be66af91542568e..26ae38d23342fc93a716f0b7ee0454f4f38d6abc 100644 |
| --- a/lib/dom/scripts/systemhtml.py |
| +++ b/lib/dom/scripts/systemhtml.py |
| @@ -932,17 +932,23 @@ class HtmlDartInterfaceGenerator(BaseGenerator): |
| self._GenerateEvents() |
| + backend = self._backend |
|
Anton Muhin
2012/07/04 20:03:17
nit: backend -> old_backend
podivilov
2012/07/05 09:13:43
Done.
|
| + self._backend = backend.MergedMembersGenerator() |
| for merged_interface in _merged_html_interfaces: |
| if _merged_html_interfaces[merged_interface] == self._interface.id: |
| merged_interface = self._database.GetInterface(merged_interface) |
| self.AddMembers(merged_interface) |
| - self._backend.AddMergedMembers(merged_interface) |
| + self._backend = backend |
|
Anton Muhin
2012/07/04 20:03:17
I am slightly uneasy that you mutate internal stat
podivilov
2012/07/05 09:13:43
Why HtmlDartInterfaceGenerator shouldn't mutate it
|
| - self._backend.AddMembers(self._interface) |
| - self._backend.AddSecondaryMembers(self._interface) |
| - self._backend.FinishInterface() |
| + def AddIndexer(self, element_type): |
| + self._backend.AddIndexer(element_type) |
| + |
| + def AmendIndexer(self, element_type): |
| + self._backend.AmendIndexer(element_type) |
| def AddAttribute(self, attribute): |
| + self._backend.AddAttribute(attribute) |
| + |
| getter = attribute |
| setter = attribute if not IsReadOnly(attribute) else None |
| dom_name = DartDomNameOfAttribute(getter) |
| @@ -998,9 +1004,14 @@ class HtmlDartInterfaceGenerator(BaseGenerator): |
| NAME=html_name, |
| PARAMS=info.ParametersInterfaceDeclaration( |
| self._shared.DartType)) |
| + self._backend.AddOperation(info) |
| + |
| + def AddStaticOperation(self, info): |
| + self._backend.AddStaticOperation(info) |
| def FinishInterface(self): |
| - pass |
| + self._backend.AddSecondaryMembers(self._interface) |
| + self._backend.FinishInterface() |
| def AddConstant(self, constant): |
| type = TypeOrNothing(DartType(constant.type.id), constant.type.id) |
| @@ -1008,6 +1019,7 @@ class HtmlDartInterfaceGenerator(BaseGenerator): |
| NAME=constant.id, |
| TYPE=type, |
| VALUE=constant.value) |
| + self._backend.AddConstant(constant) |
| def _GenerateEvents(self): |
| emit_events, event_attrs = self._shared.GetEventAttributes(self._interface) |
| @@ -1107,8 +1119,8 @@ class HtmlFrogClassGenerator(FrogInterfaceGenerator): |
| def SetImplementationEmitter(self, implementation_emitter): |
| self._dart_code = implementation_emitter |
| - def AddMergedMembers(self, merged_interface): |
| - self.AddMembers(merged_interface) |
| + def MergedMembersGenerator(self): |
| + return self |
| def _ImplClassName(self, type_name): |
| return self._shared._ImplClassName(type_name) |