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

Unified Diff: lib/dom/scripts/systemhtml.py

Issue 10444004: Cleanup systemhtml name lists so we can reuse them for generating wrapperless dart:html for Dartium. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | lib/html/dartium/html_dartium.dart » ('j') | lib/html/dartium/html_dartium.dart » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/dom/scripts/systemhtml.py
diff --git a/lib/dom/scripts/systemhtml.py b/lib/dom/scripts/systemhtml.py
index 4dc4adcdab672a04350ff3292e026c544a08dc14..25a2307cce2ca0a32c9837735ff685a57e81accd 100644
--- a/lib/dom/scripts/systemhtml.py
+++ b/lib/dom/scripts/systemhtml.py
@@ -73,11 +73,6 @@ _private_html_members = set([
'Window.getComputedStyle',
])
-_manually_generated_html_members = set([
- 'Document.querySelectorAll',
podivilov 2012/05/24 08:29:04 This one is in _private_html_members list already.
- 'Document.querySelector',
podivilov 2012/05/24 08:29:04 Moved to _html_library_custom.
-])
-
# Members from the standard dom that exist in the dart:html library with
# identical functionality but with cleaner names.
_html_library_renames = {
@@ -98,11 +93,6 @@ _html_library_renames = {
'SVGStylable.className': '$dom_svgClassName',
}
-#TODO(jacobr): inject annotations into the interfaces based on this table and
-# on _html_library_renames.
-_injected_doc_fragments = {
- 'Element.query': ' /** @domName Element.querySelector, Document.getElementById */',
-}
# Members and classes from the dom that should be removed completelly from
# dart:html. These could be expressed in the IDL instead but expressing this
# as a simple table instead is more concise.
@@ -111,7 +101,6 @@ _injected_doc_fragments = {
# to be suppressed but not the setter, etc.
# TODO(jacobr): cleanup and augment this list.
_html_library_remove = set([
- 'Window.get:document', # Removed as we have a custom implementation.
podivilov 2012/05/24 08:29:04 This is custom, not removed.
'NodeList.item',
"Attr.*",
# "BarProp.*",
@@ -237,7 +226,6 @@ _html_library_remove = set([
"Node.get:namespaceURI",
"Node.get:DOCUMENT_FRAGMENT_NODE",
"Node.get:localName",
- "Node.dispatchEvent",
"Node.isDefaultNamespace",
"Node.compareDocumentPosition",
"Node.get:baseURI",
@@ -258,21 +246,21 @@ _html_library_remove = set([
"Node.get:prefix",
"Node.set:prefix",
"Node.get:DOCUMENT_POSITION_PRECEDING",
- "Node.removeEventListener",
"Node.get:nodeValue",
"Node.set:nodeValue",
"Node.get:CDATA_SECTION_NODE",
"Node.get:nodeName",
- "Node.addEventListener",
"Node.lookupPrefix",
"Node.get:PROCESSING_INSTRUCTION_NODE",
- "Notification.dispatchEvent",
- "Notification.addEventListener",
- "Notification.removeEventListener",
podivilov 2012/05/24 08:29:04 Not sure why those were needed (we have another ~2
"IFrameElement.get:contentDocument",
"IFrameElement.get:contentWindow",
"Window.get:frameElement",
- "Window.get:top",
podivilov 2012/05/24 08:29:04 This is custom, not removed.
+ ])
+
+_html_library_custom = set([
+ 'Document.querySelector',
+ 'Window.get:document',
+ 'Window.get:top',
])
# Events without onEventName attributes in the IDL we want to support.
@@ -509,9 +497,6 @@ class HtmlSystemShared(object):
if self._PrivateInHtmlLibrary(interface, member, member_prefix):
if not target_name.startswith('$dom_'): # e.g. $dom_svgClassName
target_name = '$dom_' + target_name
- elif implementation_class and self._ManuallyGeneratedInHtmlLibrary(
- interface, member, member_prefix):
- target_name = '_' + target_name
# No rename required
return target_name
@@ -520,9 +505,9 @@ class HtmlSystemShared(object):
return self._Matches(interface, member, member_prefix,
_private_html_members)
- def _ManuallyGeneratedInHtmlLibrary(self, interface, member, member_prefix):
+ def IsCustomInHtmlLibrary(self, interface, member, member_prefix=''):
return self._Matches(interface, member, member_prefix,
- _manually_generated_html_members)
+ _html_library_custom)
# TODO(jacobr): this already exists
def _TraverseParents(self, interface, callback):
@@ -946,12 +931,18 @@ class HtmlFrogClassGenerator(FrogInterfaceGenerator):
self._members_emitter.Emit(template, E=DartType(element_type))
def AddAttribute(self, getter, setter):
-
- html_getter_name = self._shared.RenameInHtmlLibrary(
- self._interface, DartDomNameOfAttribute(getter), 'get:',
+ dom_name = DartDomNameOfAttribute(getter or setter)
+ html_getter_name = None
+ if not self._shared.IsCustomInHtmlLibrary(
+ self._interface, dom_name, 'get:'):
+ html_getter_name = self._shared.RenameInHtmlLibrary(
+ self._interface, dom_name, 'get:',
implementation_class=True)
- html_setter_name = self._shared.RenameInHtmlLibrary(
- self._interface, DartDomNameOfAttribute(getter), 'set:',
+ html_setter_name = None
+ if not self._shared.IsCustomInHtmlLibrary(
+ self._interface, dom_name, 'set:'):
+ html_setter_name = self._shared.RenameInHtmlLibrary(
+ self._interface, dom_name, 'set:',
implementation_class=True)
if not html_getter_name:
@@ -1042,6 +1033,9 @@ class HtmlFrogClassGenerator(FrogInterfaceGenerator):
Arguments:
info: An OperationInfo object.
"""
+ if self._shared.IsCustomInHtmlLibrary(self._interface, info.name):
+ return
+
html_name = self._shared.RenameInHtmlLibrary(
self._interface, info.name, implementation_class=True)
if not html_name:
@@ -1396,10 +1390,18 @@ class HtmlDartiumInterfaceGenerator(object):
def AddAttribute(self, getter, setter):
dom_name = DartDomNameOfAttribute(getter or setter)
- html_getter_name = self._shared.RenameInHtmlLibrary(
- self._interface, dom_name, 'get:', implementation_class=True)
- html_setter_name = self._shared.RenameInHtmlLibrary(
- self._interface, dom_name, 'set:', implementation_class=True)
+ html_getter_name = None
+ if not self._shared.IsCustomInHtmlLibrary(
+ self._interface, dom_name, 'get:'):
+ html_getter_name = self._shared.RenameInHtmlLibrary(
+ self._interface, dom_name, 'get:',
+ implementation_class=True)
+ html_setter_name = None
+ if not self._shared.IsCustomInHtmlLibrary(
+ self._interface, dom_name, 'set:'):
+ html_setter_name = self._shared.RenameInHtmlLibrary(
+ self._interface, dom_name, 'set:',
+ implementation_class=True)
if getter and html_getter_name:
self._AddGetter(getter, html_getter_name)
@@ -1526,6 +1528,9 @@ class HtmlDartiumInterfaceGenerator(object):
Arguments:
info: An OperationInfo object.
"""
+ if self._shared.IsCustomInHtmlLibrary(self._interface, info.name):
+ return
+
html_name = self._shared.RenameInHtmlLibrary(
self._interface, info.name, implementation_class=True)
« no previous file with comments | « no previous file | lib/html/dartium/html_dartium.dart » ('j') | lib/html/dartium/html_dartium.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698