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

Unified Diff: sdk/lib/html/scripts/htmlrenamer.py

Issue 11418075: Dartifying members. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixing menuelement.compact exclusion. Created 8 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | sdk/lib/html/src/shared_FactoryProviders.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/html/scripts/htmlrenamer.py
diff --git a/sdk/lib/html/scripts/htmlrenamer.py b/sdk/lib/html/scripts/htmlrenamer.py
index e2ad5f7830bed5d8e88e7a316eaf44f3e273dd88..2c676ff602d413327dfed2d6688ae3ea8ae09122 100644
--- a/sdk/lib/html/scripts/htmlrenamer.py
+++ b/sdk/lib/html/scripts/htmlrenamer.py
@@ -118,6 +118,7 @@ _private_html_members = set([
# Members from the standard dom that exist in the dart:html library with
# identical functionality but with cleaner names.
_renamed_html_members = {
+ 'Document.createCDATASection': 'createCDataSection',
'Document.defaultView': 'window',
'Element.webkitMatchesSelector' : 'matchesSelector',
'Element.scrollIntoViewIfNeeded': 'scrollIntoView',
@@ -203,6 +204,7 @@ _removed_html_members = set([
"Element.setAttributeNodeNS",
"Element.getAttributeNodeNS",
"Event.srcElement",
+ "EventSource.URL",
"BodyElement.text",
"AnchorElement.text",
"OptionElement.text",
@@ -251,10 +253,10 @@ _removed_html_members = set([
"Document.version",
"Document.manifest",
"HTMLIsIndexElement.*",
+ "HTMLMenuElement.compact",
"HTMLOptionsCollection.*",
"HTMLPropertiesCollection.*",
"SelectElement.remove",
- "MenuElement.compact",
"NamedNodeMap.*",
"Node.isEqualNode",
"Node.get:TEXT_NODE",
@@ -329,15 +331,18 @@ class HtmlRenamer(object):
name = self._FindMatch(interface, member, member_prefix,
_renamed_html_members)
+
target_name = _renamed_html_members[name] if name else member
if self._FindMatch(interface, member, member_prefix, _private_html_members):
if not target_name.startswith('$dom_'): # e.g. $dom_svgClassName
target_name = '$dom_' + target_name
+
+ target_name = self._DartifyMemberName(target_name)
return target_name
def _FindMatch(self, interface, member, member_prefix, candidates):
for interface in self._database.Hierarchy(interface):
- html_interface_name = self.RenameInterface(interface)
+ html_interface_name = self.DartifyTypeName(interface.id)
member_name = html_interface_name + '.' + member
if member_name in candidates:
return member_name
@@ -353,11 +358,11 @@ class HtmlRenamer(object):
Gets the name of the library this type should live in.
This is private because this should use interfaces to resolve the library.
"""
-
if idl_type_name.startswith('SVG'):
return 'svg'
return 'html'
+
def DartifyTypeName(self, type_name):
"""Converts a DOM name to a Dart-friendly class name. """
library_name = self._GetLibraryName(type_name)
@@ -367,6 +372,14 @@ class HtmlRenamer(object):
# Strip off the SVG prefix.
name = re.sub(r'^SVG', '', type_name)
+ return self._CamelCaseName(name)
+
+ def _DartifyMemberName(self, member_name):
+ # Strip off any OpenGL ES suffixes.
+ name = re.sub(r'OES$', '', member_name)
+ return self._CamelCaseName(name)
+
+ def _CamelCaseName(self, name):
def toLower(match):
return match.group(1) + match.group(2).lower() + match.group(3)
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | sdk/lib/html/src/shared_FactoryProviders.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698