Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Side by Side Diff: tools/dom/scripts/htmlrenamer.py

Issue 13444007: Removing all Worker-related APIs (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698