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

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

Issue 27476003: IDL compiler: [Unforgeable] (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 7 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | Source/bindings/scripts/unstable/v8_attributes.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 3025 matching lines...) Expand 10 before | Expand all | Expand 10 after
3036 } 3036 }
3037 3037
3038 sub GenerateAttributeConfigurationParameters 3038 sub GenerateAttributeConfigurationParameters
3039 { 3039 {
3040 my $interface = shift; 3040 my $interface = shift;
3041 my $attribute = shift; 3041 my $attribute = shift;
3042 my $attrName = $attribute->name; 3042 my $attrName = $attribute->name;
3043 my $attrExt = $attribute->extendedAttributes; 3043 my $attrExt = $attribute->extendedAttributes;
3044 my $implClassName = GetImplName($interface); 3044 my $implClassName = GetImplName($interface);
3045 3045
3046 my $accessControl = "v8::DEFAULT"; 3046 my @accessControlList;
3047 if ($attrExt->{"DoNotCheckSecurityOnGetter"}) { 3047 if ($attrExt->{"DoNotCheckSecurityOnGetter"}) {
3048 $accessControl = "v8::ALL_CAN_READ"; 3048 push(@accessControlList, "v8::ALL_CAN_READ");
3049 } elsif ($attrExt->{"DoNotCheckSecurityOnSetter"}) { 3049 } elsif ($attrExt->{"DoNotCheckSecurityOnSetter"}) {
3050 $accessControl = "v8::ALL_CAN_WRITE"; 3050 push(@accessControlList, "v8::ALL_CAN_WRITE");
3051 } elsif ($attrExt->{"DoNotCheckSecurity"}) { 3051 } elsif ($attrExt->{"DoNotCheckSecurity"}) {
3052 $accessControl = "v8::ALL_CAN_READ"; 3052 push(@accessControlList, "v8::ALL_CAN_READ");
3053 if (!IsReadonly($attribute)) { 3053 if (!IsReadonly($attribute)) {
3054 $accessControl .= " | v8::ALL_CAN_WRITE"; 3054 push(@accessControlList, "v8::ALL_CAN_WRITE");
3055 } 3055 }
3056 } 3056 }
3057 if ($attrExt->{"Unforgeable"}) { 3057 if ($attrExt->{"Unforgeable"}) {
3058 $accessControl .= " | v8::PROHIBITS_OVERWRITING"; 3058 push(@accessControlList, "v8::PROHIBITS_OVERWRITING");
3059 } 3059 }
3060 $accessControl = "static_cast<v8::AccessControl>(" . $accessControl . ")"; 3060 @accessControlList = ("v8::DEFAULT") unless @accessControlList;
3061 my $accessControl = "static_cast<v8::AccessControl>(" . join(" | ", @accessC ontrolList) . ")";
3061 3062
3062 my $customAccessor = HasCustomGetter($attrExt) || HasCustomSetter($attribute ) || ""; 3063 my $customAccessor = HasCustomGetter($attrExt) || HasCustomSetter($attribute ) || "";
3063 if ($customAccessor eq "VALUE_IS_MISSING") { 3064 if ($customAccessor eq "VALUE_IS_MISSING") {
3064 # use the naming convension, interface + (capitalize) attr name 3065 # use the naming convension, interface + (capitalize) attr name
3065 $customAccessor = $implClassName . "::" . $attrName; 3066 $customAccessor = $implClassName . "::" . $attrName;
3066 } 3067 }
3067 3068
3068 my $getter; 3069 my $getter;
3069 my $setter; 3070 my $setter;
3070 my $getterForMainWorld; 3071 my $getterForMainWorld;
(...skipping 3136 matching lines...) Expand 10 before | Expand all | Expand 10 after
6207 my $interface = shift; 6208 my $interface = shift;
6208 6209
6209 return 1 if $interface->extendedAttributes->{"CustomToV8"}; 6210 return 1 if $interface->extendedAttributes->{"CustomToV8"};
6210 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"}; 6211 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"};
6211 return 1 if InheritsInterface($interface, "Document"); 6212 return 1 if InheritsInterface($interface, "Document");
6212 6213
6213 return 0; 6214 return 0;
6214 } 6215 }
6215 6216
6216 1; 6217 1;
OLDNEW
« no previous file with comments | « no previous file | Source/bindings/scripts/unstable/v8_attributes.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698