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

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

Issue 14367012: Move to new dart:typeddata types for dart2js (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Revert generated files for html lib 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 typed_array_renames = {
10 'ArrayBuffer': 'ByteBuffer',
11 'ArrayBufferView': 'TypedData',
12 'DataView': 'ByteData',
13 'Float32Array': 'Float32List',
14 'Float64Array': 'Float64List',
15 'Int8Array': 'Int8List',
16 'Int16Array': 'Int16List',
17 'Int32Array': 'Int32List',
18 'Uint8Array': 'Uint8List',
19 'Uint8ClampedArray': 'Uint8ClampedList',
20 'Uint16Array': 'Uint16List',
21 'Uint32Array': 'Uint32List',
22 }
23
24 html_interface_renames = monitored.Dict('htmlrenamer.html_interface_renames',
25 dict({
10 'CDATASection': 'CDataSection', 26 'CDATASection': 'CDataSection',
11 'Clipboard': 'DataTransfer', 27 'Clipboard': 'DataTransfer',
12 'Database': 'SqlDatabase', # Avoid conflict with Index DB's Database. 28 'Database': 'SqlDatabase', # Avoid conflict with Index DB's Database.
13 'DatabaseSync': 'SqlDatabaseSync', 29 'DatabaseSync': 'SqlDatabaseSync',
14 'DOMApplicationCache': 'ApplicationCache', 30 'DOMApplicationCache': 'ApplicationCache',
15 'DOMCoreException': 'DomException', 31 'DOMCoreException': 'DomException',
16 'DOMFileSystem': 'FileSystem', 32 'DOMFileSystem': 'FileSystem',
17 'DOMFormData': 'FormData', 33 'DOMFormData': 'FormData',
18 'DOMPoint': '_DomPoint', 34 'DOMPoint': '_DomPoint',
19 'DOMURL': 'Url', 35 'DOMURL': 'Url',
(...skipping 23 matching lines...) Expand all
43 'SVGGradientElement': '_GradientElement', 59 'SVGGradientElement': '_GradientElement',
44 'SVGSVGElement': 'SvgSvgElement', # Manual to avoid name conflicts. 60 'SVGSVGElement': 'SvgSvgElement', # Manual to avoid name conflicts.
45 'WebGLVertexArrayObjectOES': 'VertexArrayObject', 61 'WebGLVertexArrayObjectOES': 'VertexArrayObject',
46 'WebKitCSSKeyframeRule': 'CssKeyframeRule', 62 'WebKitCSSKeyframeRule': 'CssKeyframeRule',
47 'WebKitCSSKeyframesRule': 'CssKeyframesRule', 63 'WebKitCSSKeyframesRule': 'CssKeyframesRule',
48 'WebKitCSSTransformValue': 'CssTransformValue', 64 'WebKitCSSTransformValue': 'CssTransformValue',
49 'XMLHttpRequest': 'HttpRequest', 65 'XMLHttpRequest': 'HttpRequest',
50 'XMLHttpRequestException': 'HttpRequestException', 66 'XMLHttpRequestException': 'HttpRequestException',
51 'XMLHttpRequestProgressEvent': 'HttpRequestProgressEvent', 67 'XMLHttpRequestProgressEvent': 'HttpRequestProgressEvent',
52 'XMLHttpRequestUpload': 'HttpRequestUpload', 68 'XMLHttpRequestUpload': 'HttpRequestUpload',
53 }) 69 }, **typed_array_renames))
54 70
55 # Interfaces that are suppressed, but need to still exist for Dartium and to 71 # Interfaces that are suppressed, but need to still exist for Dartium and to
56 # properly wrap DOM objects if/when encountered. 72 # properly wrap DOM objects if/when encountered.
57 _removed_html_interfaces = [ 73 _removed_html_interfaces = [
58 'CSSPrimitiveValue', 74 'CSSPrimitiveValue',
59 'CSSValue', 75 'CSSValue',
60 'Counter', 76 'Counter',
61 'DOMFileSystemSync', # Workers 77 'DOMFileSystemSync', # Workers
62 'DatabaseSync', # Workers 78 'DatabaseSync', # Workers
79 'DataView', # Typed arrays
63 'DedicatedWorkerContext', # Workers 80 'DedicatedWorkerContext', # Workers
64 'DirectoryEntrySync', # Workers 81 'DirectoryEntrySync', # Workers
65 'DirectoryReaderSync', # Workers 82 'DirectoryReaderSync', # Workers
66 'EntrySync', # Workers 83 'EntrySync', # Workers
67 'FileEntrySync', # Workers 84 'FileEntrySync', # Workers
68 'FileReaderSync', # Workers 85 'FileReaderSync', # Workers
69 'FileWriterSync', # Workers 86 'FileWriterSync', # Workers
70 'HTMLAppletElement', 87 'HTMLAppletElement',
71 'HTMLBaseFontElement', 88 'HTMLBaseFontElement',
72 'HTMLDirectoryElement', 89 'HTMLDirectoryElement',
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 'Node.nextSibling': 'nextNode', 336 'Node.nextSibling': 'nextNode',
320 'Node.ownerDocument': 'document', 337 'Node.ownerDocument': 'document',
321 'Node.parentElement': 'parent', 338 'Node.parentElement': 'parent',
322 'Node.previousSibling': 'previousNode', 339 'Node.previousSibling': 'previousNode',
323 'Node.textContent': 'text', 340 'Node.textContent': 'text',
324 'RTCPeerConnection.createAnswer': '_createAnswer', 341 'RTCPeerConnection.createAnswer': '_createAnswer',
325 'RTCPeerConnection.createOffer': '_createOffer', 342 'RTCPeerConnection.createOffer': '_createOffer',
326 'StorageInfo.queryUsageAndQuota': '_queryUsageAndQuota', 343 'StorageInfo.queryUsageAndQuota': '_queryUsageAndQuota',
327 'SVGElement.className': '$dom_svgClassName', 344 'SVGElement.className': '$dom_svgClassName',
328 'SVGStopElement.offset': 'gradientOffset', 345 'SVGStopElement.offset': 'gradientOffset',
329 #'WorkerContext.webkitRequestFileSystem': '_requestFileSystem', # Workers 346 #'WorkerContext.webkitRequestFileSystem': '_requestFileSystem',
330 #'WorkerContext.webkitRequestFileSystemSync': '_requestFileSystemSync', # Wo rkers 347 #'WorkerContext.webkitRequestFileSystemSync': '_requestFileSystemSync',
331 }) 348 })
332 349
333 for member in convert_to_future_members: 350 for member in convert_to_future_members:
334 if member in renamed_html_members: 351 if member in renamed_html_members:
335 renamed_html_members[member] = '_' + renamed_html_members[member] 352 renamed_html_members[member] = '_' + renamed_html_members[member]
336 else: 353 else:
337 renamed_html_members[member] = '_' + member[member.find('.') + 1 :] 354 renamed_html_members[member] = '_' + member[member.find('.') + 1 :]
338 355
339 # Members and classes from the dom that should be removed completely from 356 # Members and classes from the dom that should be removed completely from
340 # dart:html. These could be expressed in the IDL instead but expressing this 357 # dart:html. These could be expressed in the IDL instead but expressing this
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
713 return 'web_audio' 730 return 'web_audio'
714 if 'SVG' in interface.ext_attrs['Conditional']: 731 if 'SVG' in interface.ext_attrs['Conditional']:
715 return 'svg' 732 return 'svg'
716 if 'INDEXED_DATABASE' in interface.ext_attrs['Conditional']: 733 if 'INDEXED_DATABASE' in interface.ext_attrs['Conditional']:
717 return 'indexed_db' 734 return 'indexed_db'
718 if 'SQL_DATABASE' in interface.ext_attrs['Conditional']: 735 if 'SQL_DATABASE' in interface.ext_attrs['Conditional']:
719 return 'web_sql' 736 return 'web_sql'
720 if 'WEBGL' in interface.ext_attrs['Conditional']: 737 if 'WEBGL' in interface.ext_attrs['Conditional']:
721 return 'web_gl' 738 return 'web_gl'
722 739
740 if interface.id in typed_array_renames:
741 return 'typeddata'
742
723 return 'html' 743 return 'html'
724 744
725 def DartifyTypeName(self, type_name): 745 def DartifyTypeName(self, type_name):
726 """Converts a DOM name to a Dart-friendly class name. """ 746 """Converts a DOM name to a Dart-friendly class name. """
727 747
728 if type_name in html_interface_renames: 748 if type_name in html_interface_renames:
729 return html_interface_renames[type_name] 749 return html_interface_renames[type_name]
730 750
731 # Strip off any standard prefixes. 751 # Strip off any standard prefixes.
732 name = re.sub(r'^SVG', '', type_name) 752 name = re.sub(r'^SVG', '', type_name)
(...skipping 14 matching lines...) Expand all
747 767
748 # We're looking for a sequence of letters which start with capital letter 768 # We're looking for a sequence of letters which start with capital letter
749 # then a series of caps and finishes with either the end of the string or 769 # then a series of caps and finishes with either the end of the string or
750 # a capital letter. 770 # a capital letter.
751 # The [0-9] check is for names such as 2D or 3D 771 # The [0-9] check is for names such as 2D or 3D
752 # The following test cases should match as: 772 # The following test cases should match as:
753 # WebKitCSSFilterValue: WebKit(C)(SS)(F)ilterValue 773 # WebKitCSSFilterValue: WebKit(C)(SS)(F)ilterValue
754 # XPathNSResolver: (X)()(P)ath(N)(S)(R)esolver (no change) 774 # XPathNSResolver: (X)()(P)ath(N)(S)(R)esolver (no change)
755 # IFrameElement: (I)()(F)rameElement (no change) 775 # IFrameElement: (I)()(F)rameElement (no change)
756 return re.sub(r'([A-Z])([A-Z]{2,})([A-Z]|$)', toLower, name) 776 return re.sub(r'([A-Z])([A-Z]{2,})([A-Z]|$)', toLower, name)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698