| OLD | NEW |
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 2 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 3 # for details. All rights reserved. Use of this source code is governed by a | 3 # for details. All rights reserved. Use of this source code is governed by a |
| 4 # BSD-style license that can be found in the LICENSE file. | 4 # BSD-style license that can be found in the LICENSE file. |
| 5 | 5 |
| 6 """This module provides shared functionality for the system to generate | 6 """This module provides shared functionality for the system to generate |
| 7 Dart:html APIs from the IDL database.""" | 7 Dart:html APIs from the IDL database.""" |
| 8 | 8 |
| 9 import emitter | 9 import emitter |
| 10 | 10 |
| 11 from systemdart2js import * | 11 from systemdart2js import * |
| 12 from systeminterface import * | 12 from systeminterface import * |
| 13 | 13 |
| 14 _js_custom_members = set([ | 14 _js_custom_members = set([ |
| 15 'CSSStyleDeclaration.setProperty', | 15 'CSSStyleDeclaration.setProperty', |
| 16 'Element.insertAdjacentElement', | 16 'Element.insertAdjacentElement', |
| 17 'Element.insertAdjacentHTML', | 17 'Element.insertAdjacentHTML', |
| 18 'Element.insertAdjacentText', | 18 'Element.insertAdjacentText', |
| 19 'IDBDatabase.transaction', | 19 'IDBDatabase.transaction', |
| 20 'IFrameElement.contentWindow', | 20 'IFrameElement.contentWindow', |
| 21 'MouseEvent.offsetX', | 21 'MouseEvent.offsetX', |
| 22 'MouseEvent.offsetY', | 22 'MouseEvent.offsetY', |
| 23 'TableElement.createTBody', | 23 'TableElement.createTBody', |
| 24 'Window.document', | 24 'Window.document', |
| 25 'Window.top', | 25 'Window.top', |
| 26 'Window.location', | 26 'Window.location', |
| 27 'Window.open', | 27 'Window.open', |
| 28 'Window.webkitCancelAnimationFrame', |
| 29 'Window.webkitRequestAnimationFrame', |
| 28 ]) | 30 ]) |
| 29 | 31 |
| 30 # This map controls merging of interfaces in dart:html library. | 32 # This map controls merging of interfaces in dart:html library. |
| 31 # All constants, attributes, and operations of merged interface (key) are | 33 # All constants, attributes, and operations of merged interface (key) are |
| 32 # added to target interface (value). All references to the merged interface | 34 # added to target interface (value). All references to the merged interface |
| 33 # (e.g. parameter types, return types, parent interfaces) are replaced with | 35 # (e.g. parameter types, return types, parent interfaces) are replaced with |
| 34 # target interface. There are two important restrictions: | 36 # target interface. There are two important restrictions: |
| 35 # 1) Merged and target interfaces shouldn't have common members, otherwise there | 37 # 1) Merged and target interfaces shouldn't have common members, otherwise there |
| 36 # would be duplicated declarations in generated Dart code. | 38 # would be duplicated declarations in generated Dart code. |
| 37 # 2) Merged interface should be direct child of target interface, so the | 39 # 2) Merged interface should be direct child of target interface, so the |
| (...skipping 1198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1236 def GenerateLibraries(self, dart_files): | 1238 def GenerateLibraries(self, dart_files): |
| 1237 auxiliary_dir = os.path.relpath(self._auxiliary_dir, self._output_dir) | 1239 auxiliary_dir = os.path.relpath(self._auxiliary_dir, self._output_dir) |
| 1238 self._GenerateLibFile( | 1240 self._GenerateLibFile( |
| 1239 'html_dart2js.darttemplate', | 1241 'html_dart2js.darttemplate', |
| 1240 os.path.join(self._output_dir, 'html_dart2js.dart'), | 1242 os.path.join(self._output_dir, 'html_dart2js.dart'), |
| 1241 dart_files, | 1243 dart_files, |
| 1242 AUXILIARY_DIR=systembase.MassagePath(auxiliary_dir)) | 1244 AUXILIARY_DIR=systembase.MassagePath(auxiliary_dir)) |
| 1243 | 1245 |
| 1244 def Finish(self): | 1246 def Finish(self): |
| 1245 pass | 1247 pass |
| OLD | NEW |