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

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

Issue 172823002: Speeding up go.sh (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 10 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') | no next file » | 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 5
6 """This module provides functionality to generate dart:html event classes.""" 6 """This module provides functionality to generate dart:html event classes."""
7 7
8 import logging 8 import logging
9 import monitored 9 import monitored
10 10
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 _html_explicit_event_classes = set(['DocumentFragment']) 237 _html_explicit_event_classes = set(['DocumentFragment'])
238 238
239 class HtmlEventGenerator(object): 239 class HtmlEventGenerator(object):
240 240
241 def __init__(self, database, renamer, metadata, template_loader): 241 def __init__(self, database, renamer, metadata, template_loader):
242 self._event_classes = set() 242 self._event_classes = set()
243 self._database = database 243 self._database = database
244 self._renamer = renamer 244 self._renamer = renamer
245 self._metadata = metadata 245 self._metadata = metadata
246 self._template_loader = template_loader 246 self._template_loader = template_loader
247 self._media_events = None
247 248
248 def EmitStreamProviders(self, interface, custom_events, 249 def EmitStreamProviders(self, interface, custom_events,
249 members_emitter, library_name): 250 members_emitter, library_name):
250 events = self._GetEvents(interface, custom_events) 251 events = self._GetEvents(interface, custom_events)
251 if not events: 252 if not events:
252 return 253 return
253 254
254 for event_info in events: 255 for event_info in events:
255 (dom_name, html_name, event_type) = event_info 256 (dom_name, html_name, event_type) = event_info
256 annotation_name = dom_name + 'Event' 257 annotation_name = dom_name + 'Event'
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 """ Checks if the event should not be emitted. 381 """ Checks if the event should not be emitted.
381 """ 382 """
382 if self._renamer.ShouldSuppressMember(interface, event_name, 'on:'): 383 if self._renamer.ShouldSuppressMember(interface, event_name, 'on:'):
383 return True 384 return True
384 385
385 if (interface.doc_js_name == 'Window' or 386 if (interface.doc_js_name == 'Window' or
386 interface.doc_js_name == 'Element' or 387 interface.doc_js_name == 'Element' or
387 interface.doc_js_name == 'Document' or 388 interface.doc_js_name == 'Document' or
388 interface.doc_js_name == 'GlobalEventHandlers'): 389 interface.doc_js_name == 'GlobalEventHandlers'):
389 media_interface = self._database.GetInterface('HTMLMediaElement') 390 media_interface = self._database.GetInterface('HTMLMediaElement')
390 media_events = self._GetEvents(media_interface, []) 391 if not self._media_events:
391 if self._HasEvent(media_events, event_name, event_type): 392 self._media_events = self._GetEvents(media_interface, [])
393 if self._HasEvent(self._media_events, event_name, event_type):
392 return True 394 return True
393 395
394 def _GetEventRedirection(self, interface, event_name, event_type): 396 def _GetEventRedirection(self, interface, event_name, event_type):
395 """ For events which are declared in one place, but exposed elsewhere, 397 """ For events which are declared in one place, but exposed elsewhere,
396 this gets the source of the event (where the provider is declared) 398 this gets the source of the event (where the provider is declared)
397 """ 399 """
398 if interface.doc_js_name == 'Window' or interface.doc_js_name == 'Document': 400 if interface.doc_js_name == 'Window' or interface.doc_js_name == 'Document':
399 element_interface = self._database.GetInterface('Element') 401 element_interface = self._database.GetInterface('Element')
400 element_events = self._GetEvents(element_interface, []) 402 element_events = self._GetEvents(element_interface, [])
401 if self._HasEvent(element_events, event_name, event_type): 403 if self._HasEvent(element_events, event_name, event_type):
402 return 'Element' 404 return 'Element'
403 return None 405 return None
404 406
405 def _FindEventInfo(self, html_interface_name, dom_event_name): 407 def _FindEventInfo(self, html_interface_name, dom_event_name):
406 """ Finds the event info (event name and type). 408 """ Finds the event info (event name and type).
407 """ 409 """
408 key = '%s.%s' % (html_interface_name, dom_event_name) 410 key = '%s.%s' % (html_interface_name, dom_event_name)
409 if key in _html_event_types: 411 if key in _html_event_types:
410 return _html_event_types[key] 412 return _html_event_types[key]
411 key = '*.%s' % dom_event_name 413 key = '*.%s' % dom_event_name
412 if key in _html_event_types: 414 if key in _html_event_types:
413 return _html_event_types[key] 415 return _html_event_types[key]
414 _logger.warn('Cannot resolve event type for %s.%s' % 416 _logger.warn('Cannot resolve event type for %s.%s' %
415 (html_interface_name, dom_event_name)) 417 (html_interface_name, dom_event_name))
416 return None 418 return None
OLDNEW
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698