| 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 import logging | 5 import logging |
| 6 import monitored | 6 import monitored |
| 7 import re | 7 import re |
| 8 | 8 |
| 9 html_interface_renames = monitored.Dict('htmlrenamer.html_interface_renames', { | 9 html_interface_renames = monitored.Dict('htmlrenamer.html_interface_renames', { |
| 10 'CDATASection': 'CDataSection', | 10 'CDATASection': 'CDataSection', |
| 11 'Clipboard': 'DataTransfer', | 11 'Clipboard': 'DataTransfer', |
| 12 'Database': 'SqlDatabase', # Avoid conflict with Index DB's Database. | 12 'Database': 'SqlDatabase', # Avoid conflict with Index DB's Database. |
| 13 'DatabaseSync': 'SqlDatabaseSync', | 13 'DatabaseSync': 'SqlDatabaseSync', |
| 14 'DOMApplicationCache': 'ApplicationCache', | 14 'DOMApplicationCache': 'ApplicationCache', |
| 15 'DOMCoreException': 'DomException', | 15 'DOMCoreException': 'DomException', |
| 16 'DOMFileSystem': 'FileSystem', | 16 'DOMFileSystem': 'FileSystem', |
| 17 'DOMFileSystemSync': 'FileSystemSync', | |
| 18 'DOMFormData': 'FormData', | 17 'DOMFormData': 'FormData', |
| 19 'DOMURL': 'Url', | 18 'DOMURL': 'Url', |
| 20 'DOMWindow': 'Window', | 19 'DOMWindow': 'Window', |
| 21 'EntryCallback': '_EntryCallback', | 20 'EntryCallback': '_EntryCallback', |
| 22 'EntriesCallback': '_EntriesCallback', | 21 'EntriesCallback': '_EntriesCallback', |
| 23 'ErrorCallback': '_ErrorCallback', | 22 'ErrorCallback': '_ErrorCallback', |
| 24 'FileCallback': '_FileCallback', | 23 'FileCallback': '_FileCallback', |
| 25 'FileSystemCallback': '_FileSystemCallback', | 24 'FileSystemCallback': '_FileSystemCallback', |
| 26 'FileWriterCallback': '_FileWriterCallback', | 25 'FileWriterCallback': '_FileWriterCallback', |
| 27 'HTMLDocument' : 'HtmlDocument', | 26 'HTMLDocument' : 'HtmlDocument', |
| (...skipping 27 matching lines...) Expand all Loading... |
| 55 'WebKitTransitionEvent': '_WebKitTransitionEvent', | 54 'WebKitTransitionEvent': '_WebKitTransitionEvent', |
| 56 'XMLHttpRequest': 'HttpRequest', | 55 'XMLHttpRequest': 'HttpRequest', |
| 57 'XMLHttpRequestException': 'HttpRequestException', | 56 'XMLHttpRequestException': 'HttpRequestException', |
| 58 'XMLHttpRequestProgressEvent': 'HttpRequestProgressEvent', | 57 'XMLHttpRequestProgressEvent': 'HttpRequestProgressEvent', |
| 59 'XMLHttpRequestUpload': 'HttpRequestUpload', | 58 'XMLHttpRequestUpload': 'HttpRequestUpload', |
| 60 }) | 59 }) |
| 61 | 60 |
| 62 # Interfaces that are suppressed, but need to still exist for Dartium and to | 61 # Interfaces that are suppressed, but need to still exist for Dartium and to |
| 63 # properly wrap DOM objects if/when encountered. | 62 # properly wrap DOM objects if/when encountered. |
| 64 _removed_html_interfaces = [ | 63 _removed_html_interfaces = [ |
| 64 'AbstractWorker', # Workers |
| 65 'DOMFileSystemSync', # Workers |
| 66 'DatabaseSync', # Workers |
| 67 'DedicatedWorkerContext', # Workers |
| 68 'DirectoryEntrySync', # Workers |
| 69 'DirectoryReaderSync', # Workers |
| 70 'EntrySync', # Workers |
| 71 'FileEntrySync', # Workers |
| 72 'FileReaderSync', # Workers |
| 73 'FileWriterSync', # Workers |
| 65 'HTMLAppletElement', | 74 'HTMLAppletElement', |
| 66 'HTMLBaseFontElement', | 75 'HTMLBaseFontElement', |
| 67 'HTMLDirectoryElement', | 76 'HTMLDirectoryElement', |
| 68 'HTMLFontElement', | 77 'HTMLFontElement', |
| 69 'HTMLFrameElement', | 78 'HTMLFrameElement', |
| 70 'HTMLFrameSetElement', | 79 'HTMLFrameSetElement', |
| 71 'HTMLMarqueeElement', | 80 'HTMLMarqueeElement', |
| 72 'IDBAny', | 81 'IDBAny', |
| 82 'SQLTransactionSync', # Workers |
| 83 'SQLTransactionSyncCallback', # Workers |
| 73 'SVGAltGlyphDefElement', # Webkit only. | 84 'SVGAltGlyphDefElement', # Webkit only. |
| 74 'SVGAltGlyphItemElement', # Webkit only. | 85 'SVGAltGlyphItemElement', # Webkit only. |
| 75 'SVGAnimateColorElement', # Deprecated. Use AnimateElement instead. | 86 'SVGAnimateColorElement', # Deprecated. Use AnimateElement instead. |
| 76 'SVGComponentTransferFunctionElement', # Currently not supported anywhere. | 87 'SVGComponentTransferFunctionElement', # Currently not supported anywhere. |
| 77 'SVGCursorElement', # Webkit only. | 88 'SVGCursorElement', # Webkit only. |
| 78 'SVGGradientElement', # Currently not supported anywhere. | |
| 79 'SVGFEDropShadowElement', # Webkit only for the following: | 89 'SVGFEDropShadowElement', # Webkit only for the following: |
| 80 'SVGFontElement', | 90 'SVGFontElement', |
| 81 'SVGFontFaceElement', | 91 'SVGFontFaceElement', |
| 82 'SVGFontFaceFormatElement', | 92 'SVGFontFaceFormatElement', |
| 83 'SVGFontFaceNameElement', | 93 'SVGFontFaceNameElement', |
| 84 'SVGFontFaceSrcElement', | 94 'SVGFontFaceSrcElement', |
| 85 'SVGFontFaceUriElement', | 95 'SVGFontFaceUriElement', |
| 86 'SVGGlyphElement', | 96 'SVGGlyphElement', |
| 87 'SVGGlyphRefElement', | 97 'SVGGlyphRefElement', |
| 98 'SVGGradientElement', # Currently not supported anywhere. |
| 88 'SVGHKernElement', | 99 'SVGHKernElement', |
| 100 'SVGMPathElement', |
| 89 'SVGMissingGlyphElement', | 101 'SVGMissingGlyphElement', |
| 90 'SVGMPathElement', | |
| 91 'SVGTRefElement', | 102 'SVGTRefElement', |
| 92 'SVGVKernElement', | 103 'SVGVKernElement', |
| 104 'SharedWorker', # Workers |
| 105 'SharedWorkerContext', # Workers |
| 106 'Worker', # Workers |
| 107 'WorkerContext', # Workers |
| 108 'WorkerLocation', # Workers |
| 109 'WorkerNavigator', # Workers |
| 93 ] | 110 ] |
| 94 | 111 |
| 95 for interface in _removed_html_interfaces: | 112 for interface in _removed_html_interfaces: |
| 96 html_interface_renames[interface] = '_' + interface | 113 html_interface_renames[interface] = '_' + interface |
| 97 | 114 |
| 98 convert_to_future_members = monitored.Set( | 115 convert_to_future_members = monitored.Set( |
| 99 'htmlrenamer.converted_to_future_members', [ | 116 'htmlrenamer.converted_to_future_members', [ |
| 100 'DataTransferItem.getAsString', | 117 'DataTransferItem.getAsString', |
| 101 'DirectoryEntry.getDirectory', | 118 'DirectoryEntry.getDirectory', |
| 102 'DirectoryEntry.getFile', | 119 'DirectoryEntry.getFile', |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 299 'Node.appendChild': 'append', | 316 'Node.appendChild': 'append', |
| 300 'Node.cloneNode': 'clone', | 317 'Node.cloneNode': 'clone', |
| 301 'Node.nextSibling': 'nextNode', | 318 'Node.nextSibling': 'nextNode', |
| 302 'Node.ownerDocument': 'document', | 319 'Node.ownerDocument': 'document', |
| 303 'Node.parentElement': 'parent', | 320 'Node.parentElement': 'parent', |
| 304 'Node.previousSibling': 'previousNode', | 321 'Node.previousSibling': 'previousNode', |
| 305 'Node.textContent': 'text', | 322 'Node.textContent': 'text', |
| 306 'RTCPeerConnection.createAnswer': '_createAnswer', | 323 'RTCPeerConnection.createAnswer': '_createAnswer', |
| 307 'RTCPeerConnection.createOffer': '_createOffer', | 324 'RTCPeerConnection.createOffer': '_createOffer', |
| 308 'StorageInfo.queryUsageAndQuota': '_queryUsageAndQuota', | 325 'StorageInfo.queryUsageAndQuota': '_queryUsageAndQuota', |
| 309 'SVGComponentTransferFunctionElement.offset': 'gradientOffset', | |
| 310 'SVGElement.className': '$dom_svgClassName', | 326 'SVGElement.className': '$dom_svgClassName', |
| 311 'SVGStopElement.offset': 'gradientOffset', | 327 'SVGStopElement.offset': 'gradientOffset', |
| 312 'WorkerContext.webkitRequestFileSystem': '_requestFileSystem', | 328 #'WorkerContext.webkitRequestFileSystem': '_requestFileSystem', # Workers |
| 313 'WorkerContext.webkitRequestFileSystemSync': '_requestFileSystemSync', | 329 #'WorkerContext.webkitRequestFileSystemSync': '_requestFileSystemSync', # Wo
rkers |
| 314 'WorkerContext.webkitResolveLocalFileSystemSyncURL': | |
| 315 'resolveLocalFileSystemSyncUrl', | |
| 316 'WorkerContext.webkitResolveLocalFileSystemURL': | |
| 317 'resolveLocalFileSystemUrl', | |
| 318 }) | 330 }) |
| 319 | 331 |
| 320 for member in convert_to_future_members: | 332 for member in convert_to_future_members: |
| 321 if member in renamed_html_members: | 333 if member in renamed_html_members: |
| 322 renamed_html_members[member] = '_' + renamed_html_members[member] | 334 renamed_html_members[member] = '_' + renamed_html_members[member] |
| 323 else: | 335 else: |
| 324 renamed_html_members[member] = '_' + member[member.find('.') + 1 :] | 336 renamed_html_members[member] = '_' + member[member.find('.') + 1 :] |
| 325 | 337 |
| 326 # Members and classes from the dom that should be removed completely from | 338 # Members and classes from the dom that should be removed completely from |
| 327 # dart:html. These could be expressed in the IDL instead but expressing this | 339 # dart:html. These could be expressed in the IDL instead but expressing this |
| (...skipping 320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 648 | 660 |
| 649 if dartify_name: | 661 if dartify_name: |
| 650 target_name = self._DartifyMemberName(target_name) | 662 target_name = self._DartifyMemberName(target_name) |
| 651 return target_name | 663 return target_name |
| 652 | 664 |
| 653 def ShouldSuppressMember(self, interface, member, member_prefix=''): | 665 def ShouldSuppressMember(self, interface, member, member_prefix=''): |
| 654 """ Returns true if the member should be suppressed.""" | 666 """ Returns true if the member should be suppressed.""" |
| 655 if self._FindMatch(interface, member, member_prefix, | 667 if self._FindMatch(interface, member, member_prefix, |
| 656 _removed_html_members): | 668 _removed_html_members): |
| 657 return True | 669 return True |
| 670 if interface.id in _removed_html_interfaces: |
| 671 return True |
| 658 return False | 672 return False |
| 659 | 673 |
| 660 def _FindMatch(self, interface, member, member_prefix, candidates): | 674 def _FindMatch(self, interface, member, member_prefix, candidates): |
| 661 for interface in self._database.Hierarchy(interface): | 675 for interface in self._database.Hierarchy(interface): |
| 662 member_name = interface.id + '.' + member | 676 member_name = interface.id + '.' + member |
| 663 if member_name in candidates: | 677 if member_name in candidates: |
| 664 return member_name | 678 return member_name |
| 665 member_name = interface.id + '.' + member_prefix + member | 679 member_name = interface.id + '.' + member_prefix + member |
| 666 if member_name in candidates: | 680 if member_name in candidates: |
| 667 return member_name | 681 return member_name |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 713 | 727 |
| 714 # We're looking for a sequence of letters which start with capital letter | 728 # We're looking for a sequence of letters which start with capital letter |
| 715 # then a series of caps and finishes with either the end of the string or | 729 # then a series of caps and finishes with either the end of the string or |
| 716 # a capital letter. | 730 # a capital letter. |
| 717 # The [0-9] check is for names such as 2D or 3D | 731 # The [0-9] check is for names such as 2D or 3D |
| 718 # The following test cases should match as: | 732 # The following test cases should match as: |
| 719 # WebKitCSSFilterValue: WebKit(C)(SS)(F)ilterValue | 733 # WebKitCSSFilterValue: WebKit(C)(SS)(F)ilterValue |
| 720 # XPathNSResolver: (X)()(P)ath(N)(S)(R)esolver (no change) | 734 # XPathNSResolver: (X)()(P)ath(N)(S)(R)esolver (no change) |
| 721 # IFrameElement: (I)()(F)rameElement (no change) | 735 # IFrameElement: (I)()(F)rameElement (no change) |
| 722 return re.sub(r'([A-Z])([A-Z]{2,})([A-Z]|$)', toLower, name) | 736 return re.sub(r'([A-Z])([A-Z]{2,})([A-Z]|$)', toLower, name) |
| OLD | NEW |