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

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

Issue 35513002: Revert "Revert breaking CL" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 1 month 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 | « no previous file | tools/dom/src/native_DOMImplementation.dart » ('j') | 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 shared functionality for the systems to generate 6 """This module provides shared functionality for the systems to generate
7 native binding from the IDL database.""" 7 native binding from the IDL database."""
8 8
9 import emitter 9 import emitter
10 import os 10 import os
(...skipping 846 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 if requires_script_execution_context: 857 if requires_script_execution_context:
858 body_emitter.Emit( 858 body_emitter.Emit(
859 ' ScriptExecutionContext* context = DartUtilities::scriptExecut ionContext();\n' 859 ' ScriptExecutionContext* context = DartUtilities::scriptExecut ionContext();\n'
860 ' if (!context) {\n' 860 ' if (!context) {\n'
861 ' exception = Dart_NewStringFromCString("Failed to retrieve a context");\n' 861 ' exception = Dart_NewStringFromCString("Failed to retrieve a context");\n'
862 ' goto fail;\n' 862 ' goto fail;\n'
863 ' }\n\n') 863 ' }\n\n')
864 864
865 if requires_script_state: 865 if requires_script_state:
866 body_emitter.Emit( 866 body_emitter.Emit(
867 ' ScriptState* currentState = ScriptState::current();\n' 867 ' ScriptState* currentState = DartUtilities::currentScriptState ();\n'
868 ' if (!currentState) {\n' 868 ' if (!currentState) {\n'
869 ' exception = Dart_NewStringFromCString("Failed to retrieve a script state");\n' 869 ' exception = Dart_NewStringFromCString("Failed to retrieve a script state");\n'
870 ' goto fail;\n' 870 ' goto fail;\n'
871 ' }\n' 871 ' }\n'
872 ' ScriptState& state = *currentState;\n\n') 872 ' ScriptState& state = *currentState;\n\n')
873 873
874 if requires_dom_window or requires_document: 874 if requires_dom_window or requires_document:
875 self._cpp_impl_includes.add('"DOMWindow.h"') 875 self._cpp_impl_includes.add('"DOMWindow.h"')
876 body_emitter.Emit( 876 body_emitter.Emit(
877 ' DOMWindow* domWindow = DartUtilities::domWindowForCurrentIsol ate();\n' 877 ' DOMWindow* domWindow = DartUtilities::domWindowForCurrentIsol ate();\n'
878 ' if (!domWindow) {\n' 878 ' if (!domWindow) {\n'
879 ' exception = Dart_NewStringFromCString("Failed to fetch do mWindow");\n' 879 ' exception = Dart_NewStringFromCString("Failed to fetch do mWindow");\n'
880 ' goto fail;\n' 880 ' goto fail;\n'
881 ' }\n' 881 ' }\n'
882 ' Document* document = domWindow->document();\n') 882 ' Document* document = domWindow->document();\n')
883 883
884 if needs_receiver: 884 if needs_receiver:
885 body_emitter.Emit( 885 body_emitter.Emit(
886 ' $WEBCORE_CLASS_NAME* receiver = DartDOMWrapper::receiver< $WE BCORE_CLASS_NAME >(args);\n', 886 ' $WEBCORE_CLASS_NAME* receiver = DartDOMWrapper::receiver< $WE BCORE_CLASS_NAME >(args);\n',
887 WEBCORE_CLASS_NAME=self._interface_type_info.native_type()) 887 WEBCORE_CLASS_NAME=self._interface_type_info.native_type())
888 888
889 if requires_stack_info: 889 if requires_stack_info:
890 self._cpp_impl_includes.add('"ScriptArguments.h"') 890 self._cpp_impl_includes.add('"ScriptArguments.h"')
891 self._cpp_impl_includes.add('"ScriptCallStack.h"') 891 self._cpp_impl_includes.add('"ScriptCallStack.h"')
892 body_emitter.Emit( 892 body_emitter.Emit(
893 '\n' 893 '\n'
894 ' ScriptState* currentState = ScriptState::current();\n' 894 ' ScriptState* currentState = DartUtilities::currentScriptState ();\n'
895 ' if (!currentState) {\n' 895 ' if (!currentState) {\n'
896 ' exception = Dart_NewStringFromCString("Failed to retrieve a script state");\n' 896 ' exception = Dart_NewStringFromCString("Failed to retrieve a script state");\n'
897 ' goto fail;\n' 897 ' goto fail;\n'
898 ' }\n' 898 ' }\n'
899 ' ScriptState& state = *currentState;\n' 899 ' ScriptState& state = *currentState;\n'
900 '\n' 900 '\n'
901 ' Dart_Handle customArgument = Dart_GetNativeArgument(args, $IN DEX);\n' 901 ' Dart_Handle customArgument = Dart_GetNativeArgument(args, $IN DEX);\n'
902 ' RefPtr<ScriptArguments> scriptArguments(DartUtilities::create ScriptArguments(customArgument, exception));\n' 902 ' RefPtr<ScriptArguments> scriptArguments(DartUtilities::create ScriptArguments(customArgument, exception));\n'
903 ' if (!scriptArguments)\n' 903 ' if (!scriptArguments)\n'
904 ' goto fail;\n' 904 ' goto fail;\n'
905 ' RefPtr<ScriptCallStack> scriptCallStack(DartUtilities::create ScriptCallStack());\n' 905 ' RefPtr<ScriptCallStack> scriptCallStack(DartUtilities::create ScriptCallStack());\n'
906 ' if (!scriptCallStack->size())\n' 906 ' if (!scriptCallStack->size())\n'
907 ' return;\n', 907 ' return;\n',
908 INDEX=len(arguments) + 1) 908 INDEX=len(arguments) + 1)
909 909
910 if requires_script_arguments: 910 if requires_script_arguments:
911 self._cpp_impl_includes.add('"ScriptArguments.h"') 911 self._cpp_impl_includes.add('"ScriptArguments.h"')
912 body_emitter.Emit( 912 body_emitter.Emit(
913 '\n' 913 '\n'
914 ' Dart_Handle customArgument = Dart_GetNativeArgument(args, $IN DEX);\n' 914 ' Dart_Handle customArgument = Dart_GetNativeArgument(args, $IN DEX);\n'
915 ' RefPtr<ScriptArguments> scriptArguments(DartUtilities::create ScriptArguments(customArgument, exception));\n' 915 ' RefPtr<ScriptArguments> scriptArguments(DartUtilities::create ScriptArguments(customArgument, exception));\n'
916 ' if (!scriptArguments)\n' 916 ' if (!scriptArguments)\n'
917 ' goto fail;\n' 917 ' goto fail;\n',
918 ' RefPtr<ScriptCallStack> scriptCallStack(DartUtilities::create ScriptCallStack());\n'
919 ' if (!scriptCallStack->size())\n'
920 ' return;\n',
921 INDEX=len(arguments) + 1) 918 INDEX=len(arguments) + 1)
922 919
923 if needs_custom_element_callbacks: 920 if needs_custom_element_callbacks:
924 body_emitter.Emit(' CustomElementCallbackDispatcher::CallbackDelive ryScope deliveryScope;\n'); 921 body_emitter.Emit(' CustomElementCallbackDispatcher::CallbackDelive ryScope deliveryScope;\n');
925 922
926 # Emit arguments. 923 # Emit arguments.
927 start_index = 1 if needs_receiver else 0 924 start_index = 1 if needs_receiver else 0
928 for i, argument in enumerate(arguments): 925 for i, argument in enumerate(arguments):
929 type_info = self._TypeInfo(argument.type.id) 926 type_info = self._TypeInfo(argument.type.id)
930 self._cpp_impl_includes |= set(type_info.conversion_includes()) 927 self._cpp_impl_includes |= set(type_info.conversion_includes())
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 e.Emit('\n'); 1276 e.Emit('\n');
1280 e.Emit('} // namespace WebCore\n'); 1277 e.Emit('} // namespace WebCore\n');
1281 self._emitters.Flush() 1278 self._emitters.Flush()
1282 1279
1283 def _IsOptionalStringArgumentInInitEventMethod(interface, operation, argument): 1280 def _IsOptionalStringArgumentInInitEventMethod(interface, operation, argument):
1284 return ( 1281 return (
1285 interface.id.endswith('Event') and 1282 interface.id.endswith('Event') and
1286 operation.id.startswith('init') and 1283 operation.id.startswith('init') and
1287 argument.ext_attrs.get('Default') == 'Undefined' and 1284 argument.ext_attrs.get('Default') == 'Undefined' and
1288 argument.type.id == 'DOMString') 1285 argument.type.id == 'DOMString')
OLDNEW
« no previous file with comments | « no previous file | tools/dom/src/native_DOMImplementation.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698