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

Side by Side Diff: Source/bindings/scripts/CodeGeneratorV8.pm

Issue 15690020: [binding] Check own property on named property accessor (Closed) Base URL: https://chromium.googlesource.com/chromium/blink@master
Patch Set: udpated tests Created 7 years, 6 months 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
OLDNEW
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 3454 matching lines...) Expand 10 before | Expand all | Expand 10 after
3465 my $raisesExceptions = $namedGetterFunction->signature->extendedAttributes-> {"RaisesException"}; 3465 my $raisesExceptions = $namedGetterFunction->signature->extendedAttributes-> {"RaisesException"};
3466 my $methodCallCode = GenerateMethodCall($returnType, "element", "collection- >${methodName}", "propertyName", $raisesExceptions); 3466 my $methodCallCode = GenerateMethodCall($returnType, "element", "collection- >${methodName}", "propertyName", $raisesExceptions);
3467 3467
3468 my $code = "v8::Handle<v8::Value> ${v8ClassName}::namedPropertyGetter(v8::Lo cal<v8::String> name, const v8::AccessorInfo& info)\n"; 3468 my $code = "v8::Handle<v8::Value> ${v8ClassName}::namedPropertyGetter(v8::Lo cal<v8::String> name, const v8::AccessorInfo& info)\n";
3469 $code .= "{\n"; 3469 $code .= "{\n";
3470 if (!$namedGetterFunction->signature->extendedAttributes->{"OverrideBuiltins "}) { 3470 if (!$namedGetterFunction->signature->extendedAttributes->{"OverrideBuiltins "}) {
3471 $code .= " if (!info.Holder()->GetRealNamedPropertyInPrototypeChain(n ame).IsEmpty())\n"; 3471 $code .= " if (!info.Holder()->GetRealNamedPropertyInPrototypeChain(n ame).IsEmpty())\n";
3472 $code .= " return v8Undefined();\n"; 3472 $code .= " return v8Undefined();\n";
3473 $code .= " if (info.Holder()->HasRealNamedCallbackProperty(name))\n"; 3473 $code .= " if (info.Holder()->HasRealNamedCallbackProperty(name))\n";
3474 $code .= " return v8Undefined();\n"; 3474 $code .= " return v8Undefined();\n";
3475 $code .= " if (info.Holder()->HasRealNamedProperty(name))\n";
3476 $code .= " return v8Undefined();\n";
3475 } 3477 }
3476 $code .= "\n"; 3478 $code .= "\n";
3477 $code .= " ASSERT(V8DOMWrapper::maybeDOMWrapper(info.Holder()));\n"; 3479 $code .= " ASSERT(V8DOMWrapper::maybeDOMWrapper(info.Holder()));\n";
3478 $code .= " ${implClassName}* collection = toNative(info.Holder());\n"; 3480 $code .= " ${implClassName}* collection = toNative(info.Holder());\n";
3479 $code .= " AtomicString propertyName = toWebCoreAtomicString(name);\n"; 3481 $code .= " AtomicString propertyName = toWebCoreAtomicString(name);\n";
3480 if ($raisesExceptions) { 3482 if ($raisesExceptions) {
3481 $code .= " ExceptionCode ec = 0;\n"; 3483 $code .= " ExceptionCode ec = 0;\n";
3482 } 3484 }
3483 $code .= $methodCallCode . "\n"; 3485 $code .= $methodCallCode . "\n";
3484 if ($raisesExceptions) { 3486 if ($raisesExceptions) {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
3538 my $treatNullAs = $namedSetterFunction->parameters->[1]->extendedAttributes- >{"TreatNullAs"}; 3540 my $treatNullAs = $namedSetterFunction->parameters->[1]->extendedAttributes- >{"TreatNullAs"};
3539 my $treatUndefinedAs = $namedSetterFunction->parameters->[1]->extendedAttrib utes->{"TreatUndefinedAs"}; 3541 my $treatUndefinedAs = $namedSetterFunction->parameters->[1]->extendedAttrib utes->{"TreatUndefinedAs"};
3540 3542
3541 my $code = "v8::Handle<v8::Value> ${v8ClassName}::namedPropertySetter(v8::Lo cal<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)\ n"; 3543 my $code = "v8::Handle<v8::Value> ${v8ClassName}::namedPropertySetter(v8::Lo cal<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)\ n";
3542 $code .= "{\n"; 3544 $code .= "{\n";
3543 if (!$namedSetterFunction->signature->extendedAttributes->{"OverrideBuiltins "}) { 3545 if (!$namedSetterFunction->signature->extendedAttributes->{"OverrideBuiltins "}) {
3544 $code .= " if (!info.Holder()->GetRealNamedPropertyInPrototypeChain(n ame).IsEmpty())\n"; 3546 $code .= " if (!info.Holder()->GetRealNamedPropertyInPrototypeChain(n ame).IsEmpty())\n";
3545 $code .= " return v8Undefined();\n"; 3547 $code .= " return v8Undefined();\n";
3546 $code .= " if (info.Holder()->HasRealNamedCallbackProperty(name))\n"; 3548 $code .= " if (info.Holder()->HasRealNamedCallbackProperty(name))\n";
3547 $code .= " return v8Undefined();\n"; 3549 $code .= " return v8Undefined();\n";
3550 $code .= " if (info.Holder()->HasRealNamedProperty(name))\n";
3551 $code .= " return v8Undefined();\n";
3548 } 3552 }
3549 $code .= " ${implClassName}* collection = toNative(info.Holder());\n"; 3553 $code .= " ${implClassName}* collection = toNative(info.Holder());\n";
3550 $code .= GenerateNativeValueDefinition($namedSetterFunction, $namedSetterFun ction->parameters->[0], "name", "propertyName", "info.GetIsolate()"); 3554 $code .= GenerateNativeValueDefinition($namedSetterFunction, $namedSetterFun ction->parameters->[0], "name", "propertyName", "info.GetIsolate()");
3551 $code .= GenerateNativeValueDefinition($namedSetterFunction, $namedSetterFun ction->parameters->[1], "value", "propertyValue", "info.GetIsolate()"); 3555 $code .= GenerateNativeValueDefinition($namedSetterFunction, $namedSetterFun ction->parameters->[1], "value", "propertyValue", "info.GetIsolate()");
3552 my $extraArguments = ""; 3556 my $extraArguments = "";
3553 if ($raisesExceptions) { 3557 if ($raisesExceptions) {
3554 $code .= " ExceptionCode ec = 0;\n"; 3558 $code .= " ExceptionCode ec = 0;\n";
3555 $extraArguments = ", ec"; 3559 $extraArguments = ", ec";
3556 } 3560 }
3557 3561
(...skipping 2206 matching lines...) Expand 10 before | Expand all | Expand 10 after
5764 if ($currentInterface->extendedAttributes->{$extendedAttribute}) { 5768 if ($currentInterface->extendedAttributes->{$extendedAttribute}) {
5765 $found = 1; 5769 $found = 1;
5766 } 5770 }
5767 return 1 if $found; 5771 return 1 if $found;
5768 }, 0); 5772 }, 0);
5769 5773
5770 return $found; 5774 return $found;
5771 } 5775 }
5772 5776
5773 1; 5777 1;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698