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

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

Issue 140663011: Rename [GarbageCollected] to [WillBeGarbageCollected] (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 10 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
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 1050 matching lines...) Expand 10 before | Expand all | Expand 10 after
1061 } 1061 }
1062 } 1062 }
1063 1063
1064 sub GetInternalFields 1064 sub GetInternalFields
1065 { 1065 {
1066 my $interface = shift; 1066 my $interface = shift;
1067 1067
1068 my @customInternalFields = (); 1068 my @customInternalFields = ();
1069 # If we have persistentHandleIndex, it should be at the first index of the c ustom 1069 # If we have persistentHandleIndex, it should be at the first index of the c ustom
1070 # internal fileds. 1070 # internal fileds.
1071 if (IsGarbageCollectedType($interface->name)) { 1071 if (IsWillBeGarbageCollectedType($interface->name)) {
1072 push(@customInternalFields, "persistentHandleIndex"); 1072 push(@customInternalFields, "persistentHandleIndex");
1073 } 1073 }
1074 # Event listeners on DOM nodes are explicitly supported in the GC controller . 1074 # Event listeners on DOM nodes are explicitly supported in the GC controller .
1075 if (!InheritsInterface($interface, "Node") && 1075 if (!InheritsInterface($interface, "Node") &&
1076 InheritsInterface($interface, "EventTarget")) { 1076 InheritsInterface($interface, "EventTarget")) {
1077 push(@customInternalFields, "eventListenerCacheIndex"); 1077 push(@customInternalFields, "eventListenerCacheIndex");
1078 } 1078 }
1079 return @customInternalFields; 1079 return @customInternalFields;
1080 } 1080 }
1081 1081
(...skipping 1841 matching lines...) Expand 10 before | Expand all | Expand 10 after
2923 last if $index eq $paramIndex; 2923 last if $index eq $paramIndex;
2924 if ($replacements{$parameter->name}) { 2924 if ($replacements{$parameter->name}) {
2925 push(@argumentList, $replacements{$parameter->name}); 2925 push(@argumentList, $replacements{$parameter->name});
2926 } else { 2926 } else {
2927 push(@argumentList, $parameter->name); 2927 push(@argumentList, $parameter->name);
2928 } 2928 }
2929 $index++; 2929 $index++;
2930 } 2930 }
2931 2931
2932 my $argumentString = join(", ", @beforeArgumentList, @argumentList, @afterAr gumentList); 2932 my $argumentString = join(", ", @beforeArgumentList, @argumentList, @afterAr gumentList);
2933 my $refPtrType = IsGarbageCollectedType($interfaceName) ? "RefPtrWillBeRawPt r<$implClassName>" : "RefPtr<$implClassName>"; 2933 my $refPtrType = IsWillBeGarbageCollectedType($interfaceName) ? "RefPtrWillB eRawPtr<$implClassName>" : "RefPtr<$implClassName>";
2934 $code .= " $refPtrType impl = ${implClassName}::create(${argumentString}) ;\n"; 2934 $code .= " $refPtrType impl = ${implClassName}::create(${argumentString}) ;\n";
2935 $code .= " v8::Handle<v8::Object> wrapper = info.Holder();\n"; 2935 $code .= " v8::Handle<v8::Object> wrapper = info.Holder();\n";
2936 2936
2937 if ($constructorRaisesException) { 2937 if ($constructorRaisesException) {
2938 $code .= " if (exceptionState.throwIfNeeded())\n"; 2938 $code .= " if (exceptionState.throwIfNeeded())\n";
2939 $code .= " return;\n"; 2939 $code .= " return;\n";
2940 } 2940 }
2941 2941
2942 $code .= <<END; 2942 $code .= <<END;
2943 2943
(...skipping 1418 matching lines...) Expand 10 before | Expand all | Expand 10 after
4362 WebCore::initializeScriptWrappableForInterface(object); 4362 WebCore::initializeScriptWrappableForInterface(object);
4363 } 4363 }
4364 4364
4365 namespace WebCore { 4365 namespace WebCore {
4366 END 4366 END
4367 $implementation{nameSpaceWebCore}->addHeader($code); 4367 $implementation{nameSpaceWebCore}->addHeader($code);
4368 } 4368 }
4369 4369
4370 my $code = "const WrapperTypeInfo ${v8ClassName}::wrapperTypeInfo = { gin::k EmbedderBlink, ${v8ClassName}::domTemplate, $derefObject, $toActiveDOMObject, $t oEventTarget, "; 4370 my $code = "const WrapperTypeInfo ${v8ClassName}::wrapperTypeInfo = { gin::k EmbedderBlink, ${v8ClassName}::domTemplate, $derefObject, $toActiveDOMObject, $t oEventTarget, ";
4371 $code .= "$visitDOMWrapper, ${v8ClassName}::installPerContextEnabledMethods, $parentClassInfo, $WrapperTypePrototype, "; 4371 $code .= "$visitDOMWrapper, ${v8ClassName}::installPerContextEnabledMethods, $parentClassInfo, $WrapperTypePrototype, ";
4372 $code .= IsGarbageCollectedType($interfaceName) ? "true" : "false"; 4372 $code .= IsWillBeGarbageCollectedType($interfaceName) ? "true" : "false";
4373 $code .= " };\n"; 4373 $code .= " };\n";
4374 $implementation{nameSpaceWebCore}->addHeader($code); 4374 $implementation{nameSpaceWebCore}->addHeader($code);
4375 4375
4376 $implementation{nameSpaceInternal}->add("template <typename T> void V8_USE(T ) { }\n\n"); 4376 $implementation{nameSpaceInternal}->add("template <typename T> void V8_USE(T ) { }\n\n");
4377 4377
4378 my $hasConstructors = 0; 4378 my $hasConstructors = 0;
4379 my $hasReplaceable = 0; 4379 my $hasReplaceable = 0;
4380 4380
4381 # Generate property accessors for attributes. 4381 # Generate property accessors for attributes.
4382 for (my $index = 0; $index < @{$interface->attributes}; $index++) { 4382 for (my $index = 0; $index < @{$interface->attributes}; $index++) {
(...skipping 1090 matching lines...) Expand 10 before | Expand all | Expand 10 after
5473 return $isParameter ? "${type}*" : "RefPtr<${type}>"; 5473 return $isParameter ? "${type}*" : "RefPtr<${type}>";
5474 } 5474 }
5475 5475
5476 # We need to check [ImplementedAs] extended attribute for wrapper types. 5476 # We need to check [ImplementedAs] extended attribute for wrapper types.
5477 return "RefPtr<$type>" if $type eq "XPathNSResolver"; # FIXME: can this be put in nonWrapperTypes instead? 5477 return "RefPtr<$type>" if $type eq "XPathNSResolver"; # FIXME: can this be put in nonWrapperTypes instead?
5478 if (IsWrapperType($type)) { 5478 if (IsWrapperType($type)) {
5479 my $interface = ParseInterface($type); 5479 my $interface = ParseInterface($type);
5480 my $implClassName = GetImplName($interface); 5480 my $implClassName = GetImplName($interface);
5481 if ($isParameter) { 5481 if ($isParameter) {
5482 return "$implClassName*"; 5482 return "$implClassName*";
5483 } elsif (IsGarbageCollectedType($interface->name)) { 5483 } elsif (IsWillBeGarbageCollectedType($interface->name)) {
5484 return "RefPtrWillBeRawPtr<$implClassName>"; 5484 return "RefPtrWillBeRawPtr<$implClassName>";
5485 } else { 5485 } else {
5486 return "RefPtr<$implClassName>"; 5486 return "RefPtr<$implClassName>";
5487 } 5487 }
5488 } 5488 }
5489 return "RefPtr<$type>" if IsRefPtrType($type) and (not $isParameter or $nonW rapperTypes{$type}); 5489 return "RefPtr<$type>" if IsRefPtrType($type) and (not $isParameter or $nonW rapperTypes{$type});
5490 5490
5491 my $arrayOrSequenceType = GetArrayOrSequenceType($type); 5491 my $arrayOrSequenceType = GetArrayOrSequenceType($type);
5492 5492
5493 if ($arrayOrSequenceType) { 5493 if ($arrayOrSequenceType) {
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
5916 # return ContextFeatures::{featureName}Enabled 5916 # return ContextFeatures::{featureName}Enabled
5917 my $featureName = ToMethodName($signature->extendedAttributes->{"PerContextE nabled"}); 5917 my $featureName = ToMethodName($signature->extendedAttributes->{"PerContextE nabled"});
5918 return "ContextFeatures::${featureName}Enabled"; 5918 return "ContextFeatures::${featureName}Enabled";
5919 } 5919 }
5920 5920
5921 sub GetPassRefPtrType 5921 sub GetPassRefPtrType
5922 { 5922 {
5923 my $interface = shift; 5923 my $interface = shift;
5924 my $nativeType = GetNativeTypeForConversions($interface); 5924 my $nativeType = GetNativeTypeForConversions($interface);
5925 5925
5926 my $willBe = IsGarbageCollectedType($interface->name) ? "WillBeRawPtr" : ""; 5926 my $willBe = IsWillBeGarbageCollectedType($interface->name) ? "WillBeRawPtr" : "";
5927 my $extraSpace = $nativeType =~ />$/ ? " " : ""; 5927 my $extraSpace = $nativeType =~ />$/ ? " " : "";
5928 return "PassRefPtr${willBe}<${nativeType}${extraSpace}>"; 5928 return "PassRefPtr${willBe}<${nativeType}${extraSpace}>";
5929 } 5929 }
5930 5930
5931 sub WriteFileIfChanged 5931 sub WriteFileIfChanged
5932 { 5932 {
5933 my $fileName = shift; 5933 my $fileName = shift;
5934 my $contents = shift; 5934 my $contents = shift;
5935 5935
5936 if (-f $fileName && $writeFileOnlyIfChanged) { 5936 if (-f $fileName && $writeFileOnlyIfChanged) {
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
6024 return 0; 6024 return 0;
6025 } 6025 }
6026 6026
6027 sub IsTypedArrayType 6027 sub IsTypedArrayType
6028 { 6028 {
6029 my $type = shift; 6029 my $type = shift;
6030 return 1 if $typedArrayHash{$type}; 6030 return 1 if $typedArrayHash{$type};
6031 return 0; 6031 return 0;
6032 } 6032 }
6033 6033
6034 sub IsGarbageCollectedType 6034 sub IsWillBeGarbageCollectedType
6035 { 6035 {
6036 my $interfaceName = shift; 6036 my $interfaceName = shift;
6037 return 0 unless IsWrapperType($interfaceName); 6037 return 0 unless IsWrapperType($interfaceName);
6038 my $interface = ParseInterface($interfaceName); 6038 my $interface = ParseInterface($interfaceName);
6039 return $interface->extendedAttributes->{"GarbageCollected"}; 6039 return $interface->extendedAttributes->{"WillBeGarbageCollected"};
6040 } 6040 }
6041 6041
6042 sub IsRefPtrType 6042 sub IsRefPtrType
6043 { 6043 {
6044 my $type = shift; 6044 my $type = shift;
6045 6045
6046 return 0 if $type eq "any"; 6046 return 0 if $type eq "any";
6047 return 0 if IsPrimitiveType($type); 6047 return 0 if IsPrimitiveType($type);
6048 return 0 if GetArrayType($type); 6048 return 0 if GetArrayType($type);
6049 return 0 if GetSequenceType($type); 6049 return 0 if GetSequenceType($type);
(...skipping 417 matching lines...) Expand 10 before | Expand all | Expand 10 after
6467 if ($parameter->type eq "SerializedScriptValue") { 6467 if ($parameter->type eq "SerializedScriptValue") {
6468 return 1; 6468 return 1;
6469 } elsif (IsIntegerType($parameter->type)) { 6469 } elsif (IsIntegerType($parameter->type)) {
6470 return 1; 6470 return 1;
6471 } 6471 }
6472 } 6472 }
6473 return 0; 6473 return 0;
6474 } 6474 }
6475 6475
6476 1; 6476 1;
OLDNEW
« no previous file with comments | « Source/bindings/IDLExtendedAttributes.txt ('k') | Source/bindings/tests/idls/TestInterfaceGarbageCollected.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698