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

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

Issue 11734022: Added simple functionality to remove interfaces from HTML lib. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 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
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | tools/dom/scripts/systemhtml.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 re 5 import re
6 6
7 html_interface_renames = { 7 html_interface_renames = {
8 'CDATASection': 'CDataSection', 8 'CDATASection': 'CDataSection',
9 'DOMApplicationCache': 'ApplicationCache', 9 'DOMApplicationCache': 'ApplicationCache',
10 'DOMCoreException': 'DomException', 10 'DOMCoreException': 'DomException',
(...skipping 20 matching lines...) Expand all
31 'WebKitFlags': 'Flags', 31 'WebKitFlags': 'Flags',
32 'WebKitLoseContext': 'LoseContext', 32 'WebKitLoseContext': 'LoseContext',
33 'WebKitPoint': 'Point', 33 'WebKitPoint': 'Point',
34 'WebKitTransitionEvent': 'TransitionEvent', 34 'WebKitTransitionEvent': 'TransitionEvent',
35 'XMLHttpRequest': 'HttpRequest', 35 'XMLHttpRequest': 'HttpRequest',
36 'XMLHttpRequestException': 'HttpRequestException', 36 'XMLHttpRequestException': 'HttpRequestException',
37 'XMLHttpRequestProgressEvent': 'HttpRequestProgressEvent', 37 'XMLHttpRequestProgressEvent': 'HttpRequestProgressEvent',
38 'XMLHttpRequestUpload': 'HttpRequestUpload', 38 'XMLHttpRequestUpload': 'HttpRequestUpload',
39 } 39 }
40 40
41 html_interface_removes = {
42 'AppletElement',
43 }
44
41 # Members from the standard dom that should not be exposed publicly in dart:html 45 # Members from the standard dom that should not be exposed publicly in dart:html
42 # but need to be exposed internally to implement dart:html on top of a standard 46 # but need to be exposed internally to implement dart:html on top of a standard
43 # browser. 47 # browser.
44 _private_html_members = set([ 48 _private_html_members = set([
45 'CustomEvent.initCustomEvent', 49 'CustomEvent.initCustomEvent',
46 'Document.createElement', 50 'Document.createElement',
47 'Document.createElementNS', 51 'Document.createElementNS',
48 'Document.createEvent', 52 'Document.createEvent',
49 'Document.createRange', 53 'Document.createRange',
50 'Document.createTextNode', 54 'Document.createTextNode',
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
338 "Window.webkitIndexedDB", 342 "Window.webkitIndexedDB",
339 "Window.webkitCancelRequestAnimationFrame", 343 "Window.webkitCancelRequestAnimationFrame",
340 "WheelEvent.wheelDelta", 344 "WheelEvent.wheelDelta",
341 "WorkerContext.webkitIndexedDB", 345 "WorkerContext.webkitIndexedDB",
342 ]) 346 ])
343 347
344 class HtmlRenamer(object): 348 class HtmlRenamer(object):
345 def __init__(self, database): 349 def __init__(self, database):
346 self._database = database 350 self._database = database
347 351
352 def FindInterface(self, interface):
blois 2013/01/07 16:55:29 Seems like it should be 'ShouldExportInterface' or
353 if interface in html_interface_removes:
354 return interface
355 return None
356
348 def RenameInterface(self, interface): 357 def RenameInterface(self, interface):
349 if interface.id in html_interface_renames: 358 if interface.id in html_interface_renames:
350 return html_interface_renames[interface.id] 359 return html_interface_renames[interface.id]
351 elif interface.id.startswith('HTML'): 360 elif interface.id.startswith('HTML'):
352 if any(interface.id in ['Element', 'Document'] 361 if any(interface.id in ['Element', 'Document']
353 for interface in self._database.Hierarchy(interface)): 362 for interface in self._database.Hierarchy(interface)):
354 return interface.id[len('HTML'):] 363 return interface.id[len('HTML'):]
355 return self.DartifyTypeName(interface.id) 364 return self.DartifyTypeName(interface.id)
356 365
357 366
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 432
424 # We're looking for a sequence of letters which start with capital letter 433 # We're looking for a sequence of letters which start with capital letter
425 # then a series of caps and finishes with either the end of the string or 434 # then a series of caps and finishes with either the end of the string or
426 # a capital letter. 435 # a capital letter.
427 # The [0-9] check is for names such as 2D or 3D 436 # The [0-9] check is for names such as 2D or 3D
428 # The following test cases should match as: 437 # The following test cases should match as:
429 # WebKitCSSFilterValue: WebKit(C)(SS)(F)ilterValue 438 # WebKitCSSFilterValue: WebKit(C)(SS)(F)ilterValue
430 # XPathNSResolver: (X)()(P)ath(N)(S)(R)esolver (no change) 439 # XPathNSResolver: (X)()(P)ath(N)(S)(R)esolver (no change)
431 # IFrameElement: (I)()(F)rameElement (no change) 440 # IFrameElement: (I)()(F)rameElement (no change)
432 return re.sub(r'([A-Z])([A-Z]{2,})([A-Z]|$)', toLower, name) 441 return re.sub(r'([A-Z])([A-Z]{2,})([A-Z]|$)', toLower, name)
OLDNEW
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | tools/dom/scripts/systemhtml.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698