Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/python | 1 #!/usr/bin/python |
| 2 # Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 2 # Copyright (c) 2011, 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 import copy | 6 import copy |
| 7 import database | 7 import database |
| 8 import idlparser | 8 import idlparser |
| 9 import logging | 9 import logging |
| 10 import os | 10 import os |
| (...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 578 'HTMLOptionElementConstructor' ]: | 578 'HTMLOptionElementConstructor' ]: |
| 579 type = type[:-len('Constructor')] | 579 type = type[:-len('Constructor')] |
| 580 | 580 |
| 581 # TODO(antonm): Ideally we'd like to have pristine copy of WebKit IDLs and fetch | 581 # TODO(antonm): Ideally we'd like to have pristine copy of WebKit IDLs and fetch |
| 582 # this information directly from it. Unfortunately right now database is massaged | 582 # this information directly from it. Unfortunately right now database is massaged |
| 583 # a lot so it's difficult to maintain necessary information on DOMWindow i tself. | 583 # a lot so it's difficult to maintain necessary information on DOMWindow i tself. |
| 584 interface = self._database.GetInterface(options.type_rename_map.get(type, type)) | 584 interface = self._database.GetInterface(options.type_rename_map.get(type, type)) |
| 585 if 'V8EnabledPerContext' in attr.ext_attrs: | 585 if 'V8EnabledPerContext' in attr.ext_attrs: |
| 586 interface.ext_attrs['synthesizedV8EnabledPerContext'] = attr.ext_attrs[' V8EnabledPerContext'] | 586 interface.ext_attrs['synthesizedV8EnabledPerContext'] = attr.ext_attrs[' V8EnabledPerContext'] |
| 587 if 'V8EnabledAtRuntime' in attr.ext_attrs: | 587 if 'V8EnabledAtRuntime' in attr.ext_attrs: |
| 588 interface.ext_attrs['synthesizedV8EnabledAtRuntime'] = attr.ext_attrs['V 8EnabledAtRuntime'] | 588 def normalize_name(name): |
| 589 # Python variant of WK_lcfirst from | |
| 590 # WebKit/Source/WebCore/bindings/scripts/CodeGenerator.pm. | |
| 591 def pair(s): return (s, s.lower()) | |
|
podivilov
2012/06/26 10:51:13
Please move this logic to generation phase. And we
Anton Muhin
2012/06/26 12:16:35
Done.
| |
| 592 mapping = [ | |
| 593 pair('hTML'), pair('uRL'), pair('jS'), pair('xML'), pair('xSLT'), | |
| 594 ('create', 'isCreate'), ('exclusive', 'isExclusive'), | |
| 595 ] | |
| 596 name = name[0].lower() + name[1:] | |
| 597 for prefix, subst in mapping: | |
| 598 if name.startswith(prefix): | |
| 599 return subst + name[len(prefix):] | |
| 600 return name | |
| 601 | |
| 602 interface.ext_attrs['synthesizedV8EnabledAtRuntime'] = normalize_name( | |
| 603 attr.ext_attrs['V8EnabledAtRuntime'] or attr.id) | |
| OLD | NEW |