| OLD | NEW |
| 1 {##############################################################################} | 1 {##############################################################################} |
| 2 {% macro generate_method(method, world_suffix) %} | 2 {% macro generate_method(method, world_suffix) %} |
| 3 {% filter conditional(method.conditional_string) %} | 3 {% filter conditional(method.conditional_string) %} |
| 4 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}(const
v8::FunctionCallbackInfo<v8::Value>& info) | 4 static void {{method.name}}{{method.overload_index}}Method{{world_suffix}}(const
v8::FunctionCallbackInfo<v8::Value>& info) |
| 5 { | 5 { |
| 6 {% if method.has_exception_state %} | 6 {% if method.has_exception_state %} |
| 7 ExceptionState exceptionState(ExceptionState::ExecutionContext, "{{method.na
me}}", "{{interface_name}}", info.Holder(), info.GetIsolate()); | 7 ExceptionState exceptionState(ExceptionState::ExecutionContext, "{{method.na
me}}", "{{interface_name}}", info.Holder(), info.GetIsolate()); |
| 8 {% endif %} | 8 {% endif %} |
| 9 {# FIXME: remove these special cases: http://crbug.com/353484 #} | 9 {# FIXME: remove these special cases: http://crbug.com/353484 #} |
| 10 {% if method.number_of_required_arguments and not | 10 {% if method.number_of_required_arguments and not |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 {% elif argument.is_variadic_wrapper_type %} | 159 {% elif argument.is_variadic_wrapper_type %} |
| 160 {{argument.vector_type}}<{{argument.cpp_type}} > {{argument.name}}; | 160 {{argument.vector_type}}<{{argument.cpp_type}} > {{argument.name}}; |
| 161 for (int i = {{argument.index}}; i < info.Length(); ++i) { | 161 for (int i = {{argument.index}}; i < info.Length(); ++i) { |
| 162 if (!V8{{argument.idl_type}}::hasInstance(info[i], info.GetIsolate())) { | 162 if (!V8{{argument.idl_type}}::hasInstance(info[i], info.GetIsolate())) { |
| 163 {{throw_type_error(method, '"parameter %s is not of type \'%s\'."' % | 163 {{throw_type_error(method, '"parameter %s is not of type \'%s\'."' % |
| 164 (argument.index + 1, argument.idl_type)) | in
dent(8)}} | 164 (argument.index + 1, argument.idl_type)) | in
dent(8)}} |
| 165 return; | 165 return; |
| 166 } | 166 } |
| 167 {{argument.name}}.append(V8{{argument.idl_type}}::toNative(v8::Handle<v8::Ob
ject>::Cast(info[i]))); | 167 {{argument.name}}.append(V8{{argument.idl_type}}::toNative(v8::Handle<v8::Ob
ject>::Cast(info[i]))); |
| 168 } | 168 } |
| 169 {# FIXME: remove EventListener special case | |
| 170 (just for ListenerFindOrCreate/ListenerFindOnly argument) #} | |
| 171 {% elif argument.idl_type == 'EventListener' and | |
| 172 interface_name == 'EventTarget' and | |
| 173 method.name == 'addEventListener' %} | |
| 174 V8TRYCATCH_VOID(RefPtr<EventListener>, {{argument.name}}, V8EventListenerList::g
etEventListener(info[{{argument.index}}], false, ListenerFindOrCreate)); | |
| 175 {% elif argument.idl_type == 'EventListener' and | |
| 176 interface_name == 'EventTarget' and | |
| 177 method.name == 'removeEventListener' %} | |
| 178 V8TRYCATCH_VOID(RefPtr<EventListener>, {{argument.name}}, V8EventListenerList::g
etEventListener(info[{{argument.index}}], false, ListenerFindOnly)); | |
| 179 {% else %} | 169 {% else %} |
| 180 {{argument.v8_value_to_local_cpp_value}}; | 170 {{argument.v8_value_to_local_cpp_value}}; |
| 181 {% endif %} | 171 {% endif %} |
| 182 {% if argument.enum_validation_expression %} | 172 {% if argument.enum_validation_expression %} |
| 183 {# Methods throw on invalid enum values: http://www.w3.org/TR/WebIDL/#idl-enums
#} | 173 {# Methods throw on invalid enum values: http://www.w3.org/TR/WebIDL/#idl-enums
#} |
| 184 String string = {{argument.name}}; | 174 String string = {{argument.name}}; |
| 185 if (!({{argument.enum_validation_expression}})) { | 175 if (!({{argument.enum_validation_expression}})) { |
| 186 {{throw_type_error(method, | 176 {{throw_type_error(method, |
| 187 '"parameter %s (\'" + string + "\') is not a valid enum value."' % | 177 '"parameter %s (\'" + string + "\') is not a valid enum value."' % |
| 188 (argument.index + 1)) | indent}} | 178 (argument.index + 1)) | indent}} |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 455 v8::Handle<v8::Object> wrapper = info.Holder(); | 445 v8::Handle<v8::Object> wrapper = info.Holder(); |
| 456 {% if is_constructor_raises_exception %} | 446 {% if is_constructor_raises_exception %} |
| 457 if (exceptionState.throwIfNeeded()) | 447 if (exceptionState.throwIfNeeded()) |
| 458 return; | 448 return; |
| 459 {% endif %} | 449 {% endif %} |
| 460 | 450 |
| 461 V8DOMWrapper::associateObjectWithWrapper<{{v8_class}}>(impl.release(), &{{v8
_class}}Constructor::wrapperTypeInfo, wrapper, info.GetIsolate(), WrapperConfigu
ration::Dependent); | 451 V8DOMWrapper::associateObjectWithWrapper<{{v8_class}}>(impl.release(), &{{v8
_class}}Constructor::wrapperTypeInfo, wrapper, info.GetIsolate(), WrapperConfigu
ration::Dependent); |
| 462 v8SetReturnValue(info, wrapper); | 452 v8SetReturnValue(info, wrapper); |
| 463 } | 453 } |
| 464 {% endmacro %} | 454 {% endmacro %} |
| OLD | NEW |