Index: client/dom/scripts/systemhtml.py |
diff --git a/client/dom/scripts/systemhtml.py b/client/dom/scripts/systemhtml.py |
index 2259626f8a575e9be6bbcfc8a7a2304232b18e29..64748f425d9e1ea2ddcfd0e1cda4b8009d174bc8 100644 |
--- a/client/dom/scripts/systemhtml.py |
+++ b/client/dom/scripts/systemhtml.py |
@@ -34,7 +34,9 @@ _private_html_members = set([ |
'Element.className', |
'Element.children', |
'Element.querySelectorAll', |
+ 'NodeSelector.querySelectorAll', |
'Document.querySelectorAll', |
+ 'DocumentFragment.querySelectorAll', |
'Element.getBoundingClientRect', |
'Element.getClientRects', |
'Node.appendChild', |
@@ -59,18 +61,20 @@ _private_html_members = set([ |
_html_library_renames = { |
'Document.defaultView': 'window', |
'DocumentFragment.querySelector': 'query', |
+ 'NodeSelector.querySelector': 'query', |
'Element.querySelector': 'query', |
'Element.webkitMatchesSelector' : 'matchesSelector', |
'Element.scrollIntoViewIfNeeded': 'scrollIntoView', |
'Document.querySelector': 'query', |
- 'DocumentFragment.querySelectorAll': 'queryAll', |
- 'DocumentFragment.querySelectorAll': 'queryAll', |
'Node.cloneNode': 'clone', |
'Node.nextSibling': 'nextNode', |
'Node.ownerDocument': 'document', |
'Node.parentNode': 'parent', |
'Node.previousSibling': 'previousNode', |
'Node.textContent': 'text', |
+ 'SVGElement.className': '_svgClassName', |
+ 'SVGAnimatedString.className': '_svgClassName', |
+ 'SVGStylable.className': '_svgClassName', |
} |
#TODO(jacobr): inject annotations into the interfaces based on this table and |
@@ -95,11 +99,6 @@ _html_library_remove = set([ |
# "CDATASection.*", |
# "Comment.*", |
# "DOMImplementation.*", |
- # TODO(jacobr): listing title here is a temporary hack due to a frog bug |
- # involving when an interface inherits from another interface and defines |
- # the same field. BUG(1633) |
- "Document.title", |
- "Element.title", |
"Document.get:documentElement", |
"Document.get:forms", |
# "Document.get:selectedStylesheetSet", |
@@ -201,7 +200,10 @@ _html_library_remove = set([ |
"FormElement.get:elements", |
"HTMLFrameElement.*", |
"HTMLFrameSetElement.*", |
- "HTMLHtmlElement.version", |
+ "HtmlElement.version", |
+ "HtmlElement.manifest", |
+ "Document.version", |
+ "Document.manifest", |
# "IFrameElement.getSVGDocument", #TODO(jacobr): should this be removed |
"InputElement.dirName", |
"HTMLIsIndexElement.*", |
@@ -410,8 +412,7 @@ class HtmlSystemShared(object): |
_html_library_remove) |
def _Matches(self, interface, member, member_prefix, candidates): |
- for interface_name in ([interface.id] + |
- self._generator._AllImplementedInterfaces(interface)): |
+ for interface_name in self._AllAncestorInterfaces(interface): |
if (DartType(interface_name) + '.' + member in candidates or |
DartType(interface_name) + '.' + member_prefix + member in candidates): |
return True |
@@ -431,6 +432,11 @@ class HtmlSystemShared(object): |
return (DartType(return_type) == 'EventTarget' or |
DartType(return_type) == 'Document') |
+ def _AllAncestorInterfaces(self, interface): |
+ interfaces = ([interface.id] + |
+ self._generator._AllImplementedInterfaces(interface)) |
+ return interfaces |
+ |
def RenameInHtmlLibrary(self, interface, member, member_prefix=''): |
""" |
Returns the name of the member in the HTML library or None if the member is |
@@ -439,9 +445,8 @@ class HtmlSystemShared(object): |
if not self._AllowInHtmlLibrary(interface, member, member_prefix): |
return None |
- for interface_name in ([interface.id] + |
- self._generator._AllImplementedInterfaces(interface)): |
- name = interface.id + '.' + member |
+ for interface_name in self._AllAncestorInterfaces(interface): |
+ name = interface_name + '.' + member |
if name in _html_library_renames: |
return _html_library_renames[name] |
name = interface.id + '.' + member_prefix + member |