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

Unified Diff: client/dom/scripts/dartgenerator.py

Issue 9418008: Update DOM scripts after recent webkit merge. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « client/dom/idl/dart/dart.idl ('k') | client/dom/scripts/databasebuilder.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/dom/scripts/dartgenerator.py
diff --git a/client/dom/scripts/dartgenerator.py b/client/dom/scripts/dartgenerator.py
index 124199af8518a045137a0e0333c0a74b2f2f6b15..b4253b21edc49e9460cf3fd9dda568f6a68dc43d 100755
--- a/client/dom/scripts/dartgenerator.py
+++ b/client/dom/scripts/dartgenerator.py
@@ -1769,8 +1769,8 @@ class WrappingInterfaceGenerator(object):
TYPE=element_type)
def _HasNativeIndexGetter(self, interface):
- return ('HasIndexGetter' in interface.ext_attrs or
- 'HasNumericIndexGetter' in interface.ext_attrs)
+ return ('IndexedGetter' in interface.ext_attrs or
+ 'NumericIndexedGetter' in interface.ext_attrs)
def _EmitNativeIndexGetter(self, interface, element_type):
method_name = '_index'
@@ -1781,7 +1781,7 @@ class WrappingInterfaceGenerator(object):
TYPE=element_type, METHOD=method_name)
def _HasNativeIndexSetter(self, interface):
- return 'HasCustomIndexSetter' in interface.ext_attrs
+ return 'CustomIndexedSetter' in interface.ext_attrs
def _EmitNativeIndexSetter(self, interface, element_type):
method_name = '_set_index'
@@ -2193,7 +2193,7 @@ class FrogInterfaceGenerator(object):
' $TYPE operator[](int index) native "return this[index];";\n',
TYPE=self._NarrowOutputType(element_type))
- if 'HasCustomIndexSetter' in self._interface.ext_attrs:
+ if 'CustomIndexedSetter' in self._interface.ext_attrs:
self._members_emitter.Emit(
'\n'
' void operator[]=(int index, $TYPE value) native "this[index] = value";\n',
@@ -2745,7 +2745,9 @@ class NativeImplementationGenerator(WrappingInterfaceGenerator):
webcore_include = ''
if ('CustomToJS' in self._interface.ext_attrs or
+ 'CustomToJSObject' in self._interface.ext_attrs or
'PureInterface' in self._interface.ext_attrs or
+ 'CPPPureInterface' in self._interface.ext_attrs or
self._interface_type_info.custom_to_dart()):
to_dart_value_template = (
'Dart_Handle toDartValue($(WEBCORE_CLASS_NAME)* value);\n')
@@ -2864,8 +2866,8 @@ class NativeImplementationGenerator(WrappingInterfaceGenerator):
raises_dom_exceptions=attr.set_raises)
def _HasNativeIndexGetter(self, interface):
- return ('HasCustomIndexGetter' in interface.ext_attrs or
- 'HasNumericIndexGetter' in interface.ext_attrs)
+ return ('CustomIndexedGetter' in interface.ext_attrs or
+ 'NumericIndexedGetter' in interface.ext_attrs)
def _EmitNativeIndexGetter(self, interface, element_type):
dart_declaration = '%s operator[](int index)' % element_type
@@ -2964,25 +2966,44 @@ class NativeImplementationGenerator(WrappingInterfaceGenerator):
# Generate callback.
webcore_function_name = operation.id
- if 'ImplementationFunction' in operation.ext_attrs:
- webcore_function_name = operation.ext_attrs['ImplementationFunction']
+ if 'ImplementedAs' in operation.ext_attrs:
+ webcore_function_name = operation.ext_attrs['ImplementedAs']
parameter_definitions_emitter = emitter.Emitter()
raises_dart_exceptions = len(operation.arguments) > 0 or operation.raises
arguments = []
# Process 'CallWith' argument.
- if ('CallWith' in operation.ext_attrs and
- operation.ext_attrs['CallWith'] == 'ScriptExecutionContext'):
- parameter_definitions_emitter.Emit(
- ' ScriptExecutionContext* context = DartUtilities::scriptExecutionContext();\n'
- ' if (!context)\n'
- ' return;\n')
- arguments.append('context')
+ if 'CallWith' in operation.ext_attrs:
+ call_with = operation.ext_attrs['CallWith']
+ if call_with == 'ScriptExecutionContext':
+ parameter_definitions_emitter.Emit(
+ ' ScriptExecutionContext* context = DartUtilities::scriptExecutionContext();\n'
+ ' if (!context)\n'
+ ' return;\n')
+ arguments.append('context')
+ elif call_with == 'ScriptArguments|CallStack':
+ raises_dart_exceptions = True
+ self._cpp_impl_includes['ScriptArguments'] = 1
+ self._cpp_impl_includes['ScriptCallStack'] = 1
+ self._cpp_impl_includes['V8Proxy'] = 1
+ self._cpp_impl_includes['v8'] = 1
+ parameter_definitions_emitter.Emit(
+ ' v8::HandleScope handleScope;\n'
+ ' v8::Context::Scope scope(V8Proxy::mainWorldContext(DartUtilities::domWindowForCurrentIsolate()->frame()));\n'
+ ' Dart_Handle customArgument = Dart_GetNativeArgument(args, $INDEX);\n'
+ ' RefPtr<ScriptArguments> scriptArguments(DartUtilities::createScriptArguments(customArgument, exception));\n'
+ ' if (!scriptArguments)\n'
+ ' goto fail;\n'
+ ' RefPtr<ScriptCallStack> scriptCallStack(DartUtilities::createScriptCallStack());\n'
+ ' if (!scriptCallStack->size())\n'
+ ' return;\n',
+ INDEX=len(operation.arguments))
+ arguments.extend(['scriptArguments', 'scriptCallStack'])
# Process Dart arguments.
for (i, argument) in enumerate(operation.arguments):
- if i == len(operation.arguments) - 1 and 'CustomArgumentHandling' in operation.ext_attrs:
+ if i == len(operation.arguments) - 1 and self._interface.id == 'Console' and argument.id == 'arg':
# FIXME: we are skipping last argument here because it was added in
# supplemental dart.idl. Cleanup dart.idl and remove this check.
break
@@ -3001,26 +3022,6 @@ class NativeImplementationGenerator(WrappingInterfaceGenerator):
if len(operation.arguments) == 2:
arguments.append('String()')
- # Process auxiliary arguments.
- if 'CustomArgumentHandling' in operation.ext_attrs:
- raises_dart_exceptions = True
- self._cpp_impl_includes['ScriptArguments'] = 1
- self._cpp_impl_includes['ScriptCallStack'] = 1
- self._cpp_impl_includes['V8Proxy'] = 1
- self._cpp_impl_includes['v8'] = 1
- parameter_definitions_emitter.Emit(
- ' v8::HandleScope handleScope;\n'
- ' v8::Context::Scope scope(V8Proxy::mainWorldContext(DartUtilities::domWindowForCurrentIsolate()->frame()));\n'
- ' Dart_Handle customArgument = Dart_GetNativeArgument(args, $INDEX);\n'
- ' RefPtr<ScriptArguments> scriptArguments(DartUtilities::createScriptArguments(customArgument, exception));\n'
- ' if (!scriptArguments)\n'
- ' goto fail;\n'
- ' RefPtr<ScriptCallStack> scriptCallStack(DartUtilities::createScriptCallStack());\n'
- ' if (!scriptCallStack->size())\n'
- ' return;\n',
- INDEX=len(operation.arguments))
- arguments.extend(['scriptArguments', 'scriptCallStack'])
-
if 'NeedsUserGestureCheck' in operation.ext_attrs:
arguments.extend('DartUtilities::processingUserGesture')
@@ -3063,7 +3064,7 @@ class NativeImplementationGenerator(WrappingInterfaceGenerator):
if return_type_info.conversion_include():
self._cpp_impl_includes[return_type_info.conversion_include()] = 1
if (return_type_info.idl_type() in ['DOMString', 'AtomicString'] and
- 'ConvertNullStringTo' in idl_node.ext_attrs):
+ 'TreatReturnedNullStringAs' in idl_node.ext_attrs):
nested_templates.append('$BODY, ConvertDefaultToNull')
nested_templates.append(
' Dart_Handle returnValue = toDartValue($BODY);\n'
« no previous file with comments | « client/dom/idl/dart/dart.idl ('k') | client/dom/scripts/databasebuilder.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698