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

Unified Diff: tools/dom/scripts/generator.py

Issue 19820007: Fixes for Blink roll. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Minors fixes Created 7 years, 5 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 | « tools/dom/scripts/fremontcutbuilder.py ('k') | tools/dom/scripts/htmldartgenerator.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/dom/scripts/generator.py
diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py
index 2f09e5a564b6f05079816f1d60d1a201a6bc2954..829043302fbe57f39a02fa3a7525ff572c8eafe0 100644
--- a/tools/dom/scripts/generator.py
+++ b/tools/dom/scripts/generator.py
@@ -16,11 +16,15 @@ from htmlrenamer import html_interface_renames, typed_array_renames
_pure_interfaces = monitored.Set('generator._pure_interfaces', [
# TODO(sra): DOMStringMap should be a class implementing Map<String,String>.
'DOMStringMap',
+ 'ChildNode',
+ #'Crypto',
'ElementTimeControl',
'ElementTraversal',
'EventListener',
'MediaQueryListListener',
'MutationCallback',
+ 'ParentNode',
+ #'SubtleCrypto',
Jacob 2013/07/24 16:12:00 remove commented out class names or add comments o
'SVGExternalResourcesRequired',
'SVGFilterPrimitiveStandardAttributes',
'SVGFitToViewBox',
@@ -31,6 +35,9 @@ _pure_interfaces = monitored.Set('generator._pure_interfaces', [
'SVGURIReference',
'SVGZoomAndPan',
'TimeoutHandler',
+ 'WindowTimers',
+ #'WorkerCrypto',
+ 'WorkerPerformance',
])
def IsPureInterface(interface_name):
@@ -519,7 +526,7 @@ dart2js_conversions = monitored.Dict('generator.dart2js_conversions', {
# Wrap non-local Windows. We need to check EventTarget (the base type)
# as well. Note, there are no functions that take a non-local Window
# as a parameter / setter.
- 'DOMWindow get':
+ 'Window get':
Conversion('_convertNativeToDart_Window', 'dynamic', 'WindowBase'),
'EventTarget get':
Conversion('_convertNativeToDart_EventTarget', 'dynamic',
@@ -547,7 +554,7 @@ dart2js_conversions = monitored.Dict('generator.dart2js_conversions', {
# postMessage
'any set MessagePort.postMessage': _serialize_SSV,
- 'SerializedScriptValue set DOMWindow.postMessage': _serialize_SSV,
+ 'SerializedScriptValue set Window.postMessage': _serialize_SSV,
'* get CustomEvent.detail':
Conversion('convertNativeToDart_SerializedScriptValue',
@@ -750,6 +757,7 @@ class InterfaceIDLTypeInfo(IDLTypeInfo):
def native_type(self):
database = self._type_registry._database
+
if database.HasInterface(self.idl_type()):
interface = database.GetInterface(self.idl_type())
if 'ImplementedAs' in interface.ext_attrs:
@@ -811,6 +819,9 @@ class SequenceIDLTypeInfo(IDLTypeInfo):
return '%s', 'Vector<%s>' % item_native_type, 'DartUtilities', 'toNativeVector<%s>' % item_native_type
return '%s', 'Vector< RefPtr<%s> >' % item_native_type, 'DartUtilities', 'toNativeVector< RefPtr<%s> >' % item_native_type
+ def parameter_type(self):
+ return self.native_type()
+
def pass_native_by_ref(self): return True
def to_dart_conversion(self, value, interface_name=None, attributes=None):
@@ -1028,7 +1039,7 @@ _idl_type_registry = monitored.Dict('generator._idl_type_registry', {
'CSSRule': TypeData(clazz='Interface', conversion_includes=['CSSImportRule']),
'DOMStringMap': TypeData(clazz='Interface', dart_type='Map<String, String>'),
- 'DOMWindow': TypeData(clazz='Interface', custom_to_dart=True),
+ 'Window': TypeData(clazz='Interface', custom_to_dart=True),
'Element': TypeData(clazz='Interface', merged_interface='HTMLElement',
custom_to_dart=True),
'EventListener': TypeData(clazz='Interface', custom_to_native=True),
@@ -1140,10 +1151,14 @@ class TypeRegistry(object):
def _TypeInfo(self, type_name):
match = re.match(r'(?:sequence<(\w+)>|(\w+)\[\])$', type_name)
if match:
+ type_data = TypeData('Sequence')
if type_name == 'DOMString[]':
- return DOMStringArrayTypeInfo(TypeData('Sequence'), self.TypeInfo('DOMString'))
+ return DOMStringArrayTypeInfo(type_data, self.TypeInfo('DOMString'))
item_info = self.TypeInfo(match.group(1) or match.group(2))
- return SequenceIDLTypeInfo(type_name, TypeData('Sequence'), item_info)
+ # TODO(vsm): Generalize this code.
+ if 'SourceInfo' in type_name:
+ type_data.native_type = 'Vector<RefPtr<SourceInfo> >'
+ return SequenceIDLTypeInfo(type_name, type_data, item_info)
if not type_name in _idl_type_registry:
if self._database.HasEnum(type_name):
« no previous file with comments | « tools/dom/scripts/fremontcutbuilder.py ('k') | tools/dom/scripts/htmldartgenerator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698