Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 | 5 |
| 6 html_interface_renames = { | 6 html_interface_renames = { |
| 7 'DOMCoreException': 'DOMException', | 7 'DOMCoreException': 'DOMException', |
| 8 'DOMFormData': 'FormData', | 8 'DOMFormData': 'FormData', |
| 9 'DOMWindow': 'LocalWindow', | 9 'DOMWindow': 'LocalWindow', |
| 10 'History': 'LocalHistory', | 10 'History': 'LocalHistory', |
| (...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 258 "Node.get:prefix", | 258 "Node.get:prefix", |
| 259 "Node.set:prefix", | 259 "Node.set:prefix", |
| 260 "Node.get:DOCUMENT_POSITION_PRECEDING", | 260 "Node.get:DOCUMENT_POSITION_PRECEDING", |
| 261 "Node.get:nodeValue", | 261 "Node.get:nodeValue", |
| 262 "Node.set:nodeValue", | 262 "Node.set:nodeValue", |
| 263 "Node.get:CDATA_SECTION_NODE", | 263 "Node.get:CDATA_SECTION_NODE", |
| 264 "Node.get:nodeName", | 264 "Node.get:nodeName", |
| 265 "Node.lookupPrefix", | 265 "Node.lookupPrefix", |
| 266 "Node.get:PROCESSING_INSTRUCTION_NODE", | 266 "Node.get:PROCESSING_INSTRUCTION_NODE", |
| 267 'ShadowRoot.getElementsByTagNameNS', | 267 'ShadowRoot.getElementsByTagNameNS', |
| 268 "IFrameElement.get:contentDocument", | |
| 269 "LocalWindow.get:frameElement", | |
| 270 "LocalWindow.get:frames", | 268 "LocalWindow.get:frames", |
|
blois
2012/10/19 21:06:35
There are a couple of filters for getSVGDocument i
vsm
2012/10/19 23:14:16
Thanks, I think I got everything now.
On 2012/10/
| |
| 271 "LocalWindow.get:length", | 269 "LocalWindow.get:length", |
| 272 "LocalWindow.webkitCancelRequestAnimationFrame", | 270 "LocalWindow.webkitCancelRequestAnimationFrame", |
| 273 "WheelEvent.wheelDelta", | 271 "WheelEvent.wheelDelta", |
| 274 ]) | 272 ]) |
| 275 | 273 |
| 276 class HtmlRenamer(object): | 274 class HtmlRenamer(object): |
| 277 def __init__(self, database): | 275 def __init__(self, database): |
| 278 self._database = database | 276 self._database = database |
| 279 | 277 |
| 280 def RenameInterface(self, interface): | 278 def RenameInterface(self, interface): |
| 281 if interface.id.startswith('HTML'): | 279 if interface.id.startswith('HTML'): |
| 282 if any(interface.id in ['Element', 'Document'] | 280 if any(interface.id in ['Element', 'Document'] |
| 283 for interface in self._database.Hierarchy(interface)): | 281 for interface in self._database.Hierarchy(interface)): |
| 284 return interface.id[len('HTML'):] | 282 return interface.id[len('HTML'):] |
| 285 elif interface.id in html_interface_renames: | 283 elif interface.id in html_interface_renames: |
| 286 return html_interface_renames[interface.id] | 284 return html_interface_renames[interface.id] |
| 287 return interface.id | 285 return interface.id |
| 288 | 286 |
| 289 def RenameMember(self, interface_name, member, member_prefix=''): | 287 def RenameMember(self, interface_name, member_node, member, member_prefix=''): |
| 290 """ | 288 """ |
| 291 Returns the name of the member in the HTML library or None if the member is | 289 Returns the name of the member in the HTML library or None if the member is |
| 292 suppressed in the HTML library | 290 suppressed in the HTML library |
| 293 """ | 291 """ |
| 294 interface = self._database.GetInterface(interface_name) | 292 interface = self._database.GetInterface(interface_name) |
| 295 | 293 |
| 296 if self._FindMatch(interface, member, member_prefix, _removed_html_members): | 294 if self._FindMatch(interface, member, member_prefix, _removed_html_members): |
| 297 return None | 295 return None |
| 298 | 296 |
| 297 if 'CheckSecurityForNode' in member_node.ext_attrs: | |
| 298 return None | |
| 299 | |
| 299 name = self._FindMatch(interface, member, member_prefix, | 300 name = self._FindMatch(interface, member, member_prefix, |
| 300 _renamed_html_members) | 301 _renamed_html_members) |
| 301 target_name = _renamed_html_members[name] if name else member | 302 target_name = _renamed_html_members[name] if name else member |
| 302 if self._FindMatch(interface, member, member_prefix, _private_html_members): | 303 if self._FindMatch(interface, member, member_prefix, _private_html_members): |
| 303 if not target_name.startswith('$dom_'): # e.g. $dom_svgClassName | 304 if not target_name.startswith('$dom_'): # e.g. $dom_svgClassName |
| 304 target_name = '$dom_' + target_name | 305 target_name = '$dom_' + target_name |
| 305 return target_name | 306 return target_name |
| 306 | 307 |
| 307 def _FindMatch(self, interface, member, member_prefix, candidates): | 308 def _FindMatch(self, interface, member, member_prefix, candidates): |
| 308 for interface in self._database.Hierarchy(interface): | 309 for interface in self._database.Hierarchy(interface): |
| 309 html_interface_name = self.RenameInterface(interface) | 310 html_interface_name = self.RenameInterface(interface) |
| 310 member_name = html_interface_name + '.' + member | 311 member_name = html_interface_name + '.' + member |
| 311 if member_name in candidates: | 312 if member_name in candidates: |
| 312 return member_name | 313 return member_name |
| 313 member_name = html_interface_name + '.' + member_prefix + member | 314 member_name = html_interface_name + '.' + member_prefix + member |
| 314 if member_name in candidates: | 315 if member_name in candidates: |
| 315 return member_name | 316 return member_name |
| OLD | NEW |