| OLD | NEW |
| 1 # Copyright (C) 2013 Google Inc. All rights reserved. | 1 # Copyright (C) 2013 Google Inc. All rights reserved. |
| 2 # | 2 # |
| 3 # Redistribution and use in source and binary forms, with or without | 3 # Redistribution and use in source and binary forms, with or without |
| 4 # modification, are permitted provided that the following conditions are | 4 # modification, are permitted provided that the following conditions are |
| 5 # met: | 5 # met: |
| 6 # | 6 # |
| 7 # * Redistributions of source code must retain the above copyright | 7 # * Redistributions of source code must retain the above copyright |
| 8 # notice, this list of conditions and the following disclaimer. | 8 # notice, this list of conditions and the following disclaimer. |
| 9 # * Redistributions in binary form must reproduce the above | 9 # * Redistributions in binary form must reproduce the above |
| 10 # copyright notice, this list of conditions and the following disclaimer | 10 # copyright notice, this list of conditions and the following disclaimer |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 This is a rewrite of the Perl IDL compiler in Python, but is not complete. | 32 This is a rewrite of the Perl IDL compiler in Python, but is not complete. |
| 33 Once it is complete, we will switch all IDL files over to Python at once. | 33 Once it is complete, we will switch all IDL files over to Python at once. |
| 34 Until then, please work on the Perl IDL compiler. | 34 Until then, please work on the Perl IDL compiler. |
| 35 For details, see bug http://crbug.com/239771 | 35 For details, see bug http://crbug.com/239771 |
| 36 """ | 36 """ |
| 37 | 37 |
| 38 from v8_globals import includes | 38 from v8_globals import includes |
| 39 import v8_types | 39 import v8_types |
| 40 import v8_utilities | 40 import v8_utilities |
| 41 | 41 |
| 42 CALLBACK_INTERFACE_H_INCLUDES = set([ | 42 CALLBACK_INTERFACE_H_INCLUDES = frozenset([ |
| 43 'bindings/v8/ActiveDOMCallback.h', | 43 'bindings/v8/ActiveDOMCallback.h', |
| 44 'bindings/v8/DOMWrapperWorld.h', | 44 'bindings/v8/DOMWrapperWorld.h', |
| 45 'bindings/v8/ScopedPersistent.h', | 45 'bindings/v8/ScopedPersistent.h', |
| 46 ]) | 46 ]) |
| 47 CALLBACK_INTERFACE_CPP_INCLUDES = set([ | 47 CALLBACK_INTERFACE_CPP_INCLUDES = frozenset([ |
| 48 'bindings/v8/V8Binding.h', | 48 'bindings/v8/V8Binding.h', |
| 49 'bindings/v8/V8Callback.h', | 49 'bindings/v8/V8Callback.h', |
| 50 'core/dom/ExecutionContext.h', | 50 'core/dom/ExecutionContext.h', |
| 51 'wtf/Assertions.h', | 51 'wtf/Assertions.h', |
| 52 'wtf/GetPtr.h', # FIXME: remove if can eliminate WTF::getPtr | 52 'wtf/GetPtr.h', # FIXME: remove if can eliminate WTF::getPtr |
| 53 'wtf/RefPtr.h', | 53 'wtf/RefPtr.h', |
| 54 ]) | 54 ]) |
| 55 | 55 |
| 56 | 56 |
| 57 def cpp_to_v8_conversion(idl_type, name): | 57 def cpp_to_v8_conversion(idl_type, name): |
| (...skipping 24 matching lines...) Expand all Loading... |
| 82 includes.clear() | 82 includes.clear() |
| 83 includes.update(CALLBACK_INTERFACE_CPP_INCLUDES) | 83 includes.update(CALLBACK_INTERFACE_CPP_INCLUDES) |
| 84 name = callback_interface.name | 84 name = callback_interface.name |
| 85 | 85 |
| 86 methods = [generate_method(operation) | 86 methods = [generate_method(operation) |
| 87 for operation in callback_interface.operations] | 87 for operation in callback_interface.operations] |
| 88 template_contents = { | 88 template_contents = { |
| 89 'conditional_string': v8_utilities.conditional_string(callback_interface
), | 89 'conditional_string': v8_utilities.conditional_string(callback_interface
), |
| 90 'cpp_class': name, | 90 'cpp_class': name, |
| 91 'v8_class': v8_utilities.v8_class_name(callback_interface), | 91 'v8_class': v8_utilities.v8_class_name(callback_interface), |
| 92 'header_includes': CALLBACK_INTERFACE_H_INCLUDES, | 92 'header_includes': set(CALLBACK_INTERFACE_H_INCLUDES), |
| 93 'methods': methods, | 93 'methods': methods, |
| 94 } | 94 } |
| 95 return template_contents | 95 return template_contents |
| 96 | 96 |
| 97 | 97 |
| 98 def add_includes_for_operation(operation): | 98 def add_includes_for_operation(operation): |
| 99 v8_types.add_includes_for_type(operation.idl_type) | 99 v8_types.add_includes_for_type(operation.idl_type) |
| 100 for argument in operation.arguments: | 100 for argument in operation.arguments: |
| 101 v8_types.add_includes_for_type(argument.idl_type) | 101 v8_types.add_includes_for_type(argument.idl_type) |
| 102 | 102 |
| (...skipping 29 matching lines...) Expand all Loading... |
| 132 argument_declarations = [ | 132 argument_declarations = [ |
| 133 '%s %s' % (cpp_type(argument.idl_type), argument.name) | 133 '%s %s' % (cpp_type(argument.idl_type), argument.name) |
| 134 for argument in arguments] | 134 for argument in arguments] |
| 135 if call_with_this_handle: | 135 if call_with_this_handle: |
| 136 argument_declarations.insert(0, 'ScriptValue thisValue') | 136 argument_declarations.insert(0, 'ScriptValue thisValue') |
| 137 return { | 137 return { |
| 138 'argument_declarations': argument_declarations, | 138 'argument_declarations': argument_declarations, |
| 139 'arguments': [generate_argument(argument) for argument in arguments], | 139 'arguments': [generate_argument(argument) for argument in arguments], |
| 140 'handles': ['%sHandle' % argument.name for argument in arguments], | 140 'handles': ['%sHandle' % argument.name for argument in arguments], |
| 141 } | 141 } |
| OLD | NEW |