OLD | NEW |
1 # Copyright (C) 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> | 1 # Copyright (C) 2005, 2006 Nikolas Zimmermann <zimmermann@kde.org> |
2 # Copyright (C) 2006 Anders Carlsson <andersca@mac.com> | 2 # Copyright (C) 2006 Anders Carlsson <andersca@mac.com> |
3 # Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> | 3 # Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> |
4 # Copyright (C) 2006 Alexey Proskuryakov <ap@webkit.org> | 4 # Copyright (C) 2006 Alexey Proskuryakov <ap@webkit.org> |
5 # Copyright (C) 2006 Apple Computer, Inc. | 5 # Copyright (C) 2006 Apple Computer, Inc. |
6 # Copyright (C) 2007, 2008, 2009, 2012 Google Inc. | 6 # Copyright (C) 2007, 2008, 2009, 2012 Google Inc. |
7 # Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> | 7 # Copyright (C) 2009 Cameron McCormack <cam@mcc.id.au> |
8 # Copyright (C) Research In Motion Limited 2010. All rights reserved. | 8 # Copyright (C) Research In Motion Limited 2010. All rights reserved. |
9 # Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 9 # Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
10 # Copyright (C) 2012 Ericsson AB. All rights reserved. | 10 # Copyright (C) 2012 Ericsson AB. All rights reserved. |
(...skipping 4055 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4066 my $implClassName = GetImplName($interface); | 4066 my $implClassName = GetImplName($interface); |
4067 my $v8ClassName = GetV8ClassName($interface); | 4067 my $v8ClassName = GetV8ClassName($interface); |
4068 my $methodName = GetImplName($namedDeleterFunction); | 4068 my $methodName = GetImplName($namedDeleterFunction); |
4069 | 4069 |
4070 my $raisesExceptions = $namedDeleterFunction->extendedAttributes->{"RaisesEx
ception"}; | 4070 my $raisesExceptions = $namedDeleterFunction->extendedAttributes->{"RaisesEx
ception"}; |
4071 | 4071 |
4072 my $code = "static void namedPropertyDeleter(v8::Local<v8::String> name, con
st v8::PropertyCallbackInfo<v8::Boolean>& info)\n"; | 4072 my $code = "static void namedPropertyDeleter(v8::Local<v8::String> name, con
st v8::PropertyCallbackInfo<v8::Boolean>& info)\n"; |
4073 $code .= "{\n"; | 4073 $code .= "{\n"; |
4074 $code .= " ${implClassName}* collection = ${v8ClassName}::toNative(info.H
older());\n"; | 4074 $code .= " ${implClassName}* collection = ${v8ClassName}::toNative(info.H
older());\n"; |
4075 $code .= " AtomicString propertyName = toCoreAtomicString(name);\n"; | 4075 $code .= " AtomicString propertyName = toCoreAtomicString(name);\n"; |
4076 my $extraArguments = ""; | 4076 my $extraArguments = ", result"; |
4077 if ($raisesExceptions) { | 4077 if ($raisesExceptions) { |
4078 $code .= " ExceptionState exceptionState(info.Holder(), info.GetIsola
te());\n"; | 4078 $code .= " ExceptionState exceptionState(info.Holder(), info.GetIsola
te());\n"; |
4079 $extraArguments = ", exceptionState"; | 4079 $extraArguments .= ", exceptionState"; |
4080 } | 4080 } |
4081 $code .= " bool result = collection->${methodName}(propertyName$extraArgu
ments);\n"; | 4081 $code .= " bool result = true;\n"; |
| 4082 $code .= " bool knownProperty = collection->${methodName}(propertyName$ex
traArguments);\n"; |
4082 if ($raisesExceptions) { | 4083 if ($raisesExceptions) { |
4083 $code .= " if (exceptionState.throwIfNeeded())\n"; | 4084 $code .= " if (exceptionState.throwIfNeeded())\n"; |
4084 $code .= " return;\n"; | 4085 $code .= " return;\n"; |
4085 } | 4086 } |
4086 $code .= " return v8SetReturnValueBool(info, result);\n"; | 4087 $code .= " if (knownProperty)\n"; |
| 4088 $code .= " return v8SetReturnValueBool(info, result);\n"; |
4087 $code .= "}\n\n"; | 4089 $code .= "}\n\n"; |
4088 $implementation{nameSpaceInternal}->add($code); | 4090 $implementation{nameSpaceInternal}->add($code); |
4089 } | 4091 } |
4090 | 4092 |
4091 sub GenerateImplementationNamedPropertyEnumerator | 4093 sub GenerateImplementationNamedPropertyEnumerator |
4092 { | 4094 { |
4093 my $interface = shift; | 4095 my $interface = shift; |
4094 my $implClassName = GetImplName($interface); | 4096 my $implClassName = GetImplName($interface); |
4095 my $v8ClassName = GetV8ClassName($interface); | 4097 my $v8ClassName = GetV8ClassName($interface); |
4096 | 4098 |
(...skipping 2240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6337 | 6339 |
6338 return 1 if ExtendedAttributeContains($interface->extendedAttributes->{"Cust
om"}, "ToV8"); | 6340 return 1 if ExtendedAttributeContains($interface->extendedAttributes->{"Cust
om"}, "ToV8"); |
6339 return 1 if ExtendedAttributeContains($interface->extendedAttributes->{"Cust
om"}, "Wrap"); | 6341 return 1 if ExtendedAttributeContains($interface->extendedAttributes->{"Cust
om"}, "Wrap"); |
6340 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"}; | 6342 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"}; |
6341 return 1 if InheritsInterface($interface, "Document"); | 6343 return 1 if InheritsInterface($interface, "Document"); |
6342 | 6344 |
6343 return 0; | 6345 return 0; |
6344 } | 6346 } |
6345 | 6347 |
6346 1; | 6348 1; |
OLD | NEW |