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 |