| 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 1242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1253 } | 1253 } |
| 1254 return ""; | 1254 return ""; |
| 1255 } | 1255 } |
| 1256 | 1256 |
| 1257 sub GenerateActivityLogging | 1257 sub GenerateActivityLogging |
| 1258 { | 1258 { |
| 1259 my $accessType = shift; | 1259 my $accessType = shift; |
| 1260 my $interface = shift; | 1260 my $interface = shift; |
| 1261 my $propertyName = shift; | 1261 my $propertyName = shift; |
| 1262 | 1262 |
| 1263 my $visibleInterfaceName = GetVisibleInterfaceName($interface); | 1263 my $interfaceName = $interface->name; |
| 1264 | 1264 |
| 1265 AddToImplIncludes("bindings/v8/V8Binding.h"); | 1265 AddToImplIncludes("bindings/v8/V8Binding.h"); |
| 1266 AddToImplIncludes("bindings/v8/V8DOMActivityLogger.h"); | 1266 AddToImplIncludes("bindings/v8/V8DOMActivityLogger.h"); |
| 1267 AddToImplIncludes("wtf/Vector.h"); | 1267 AddToImplIncludes("wtf/Vector.h"); |
| 1268 | 1268 |
| 1269 my $code = ""; | 1269 my $code = ""; |
| 1270 if ($accessType eq "Method") { | 1270 if ($accessType eq "Method") { |
| 1271 $code .= <<END; | 1271 $code .= <<END; |
| 1272 V8PerContextData* contextData = V8PerContextData::from(args.GetIsolate()->Ge
tCurrentContext()); | 1272 V8PerContextData* contextData = V8PerContextData::from(args.GetIsolate()->Ge
tCurrentContext()); |
| 1273 if (contextData && contextData->activityLogger()) { | 1273 if (contextData && contextData->activityLogger()) { |
| 1274 Vector<v8::Handle<v8::Value> > loggerArgs = toVectorOfArguments(args); | 1274 Vector<v8::Handle<v8::Value> > loggerArgs = toVectorOfArguments(args); |
| 1275 contextData->activityLogger()->log("${visibleInterfaceName}.${propertyNa
me}", args.Length(), loggerArgs.data(), "${accessType}"); | 1275 contextData->activityLogger()->log("${interfaceName}.${propertyName}", a
rgs.Length(), loggerArgs.data(), "${accessType}"); |
| 1276 } | 1276 } |
| 1277 END | 1277 END |
| 1278 } elsif ($accessType eq "Setter") { | 1278 } elsif ($accessType eq "Setter") { |
| 1279 $code .= <<END; | 1279 $code .= <<END; |
| 1280 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->Ge
tCurrentContext()); | 1280 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->Ge
tCurrentContext()); |
| 1281 if (contextData && contextData->activityLogger()) { | 1281 if (contextData && contextData->activityLogger()) { |
| 1282 v8::Handle<v8::Value> loggerArg[] = { value }; | 1282 v8::Handle<v8::Value> loggerArg[] = { value }; |
| 1283 contextData->activityLogger()->log("${visibleInterfaceName}.${propertyNa
me}", 1, &loggerArg[0], "${accessType}"); | 1283 contextData->activityLogger()->log("${interfaceName}.${propertyName}", 1
, &loggerArg[0], "${accessType}"); |
| 1284 } | 1284 } |
| 1285 END | 1285 END |
| 1286 } elsif ($accessType eq "Getter") { | 1286 } elsif ($accessType eq "Getter") { |
| 1287 $code .= <<END; | 1287 $code .= <<END; |
| 1288 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->Ge
tCurrentContext()); | 1288 V8PerContextData* contextData = V8PerContextData::from(info.GetIsolate()->Ge
tCurrentContext()); |
| 1289 if (contextData && contextData->activityLogger()) | 1289 if (contextData && contextData->activityLogger()) |
| 1290 contextData->activityLogger()->log("${visibleInterfaceName}.${propertyNa
me}", 0, 0, "${accessType}"); | 1290 contextData->activityLogger()->log("${interfaceName}.${propertyName}", 0
, 0, "${accessType}"); |
| 1291 END | 1291 END |
| 1292 } else { | 1292 } else { |
| 1293 die "Unrecognized activity logging access type"; | 1293 die "Unrecognized activity logging access type"; |
| 1294 } | 1294 } |
| 1295 | 1295 |
| 1296 return $code; | 1296 return $code; |
| 1297 } | 1297 } |
| 1298 | 1298 |
| 1299 sub GenerateNormalAttrGetterCallback | 1299 sub GenerateNormalAttrGetterCallback |
| 1300 { | 1300 { |
| (...skipping 2365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3666 $code .= " desc->InstanceTemplate()->MarkAsUndetectable();\n"; | 3666 $code .= " desc->InstanceTemplate()->MarkAsUndetectable();\n"; |
| 3667 } | 3667 } |
| 3668 return $code; | 3668 return $code; |
| 3669 } | 3669 } |
| 3670 | 3670 |
| 3671 sub GenerateImplementation | 3671 sub GenerateImplementation |
| 3672 { | 3672 { |
| 3673 my $object = shift; | 3673 my $object = shift; |
| 3674 my $interface = shift; | 3674 my $interface = shift; |
| 3675 my $interfaceName = $interface->name; | 3675 my $interfaceName = $interface->name; |
| 3676 my $visibleInterfaceName = GetVisibleInterfaceName($interface); | |
| 3677 my $implClassName = GetImplName($interface); | 3676 my $implClassName = GetImplName($interface); |
| 3678 my $v8ClassName = GetV8ClassName($interface); | 3677 my $v8ClassName = GetV8ClassName($interface); |
| 3679 my $nativeType = GetNativeTypeForConversions($interface); | 3678 my $nativeType = GetNativeTypeForConversions($interface); |
| 3680 | 3679 |
| 3681 AddToImplIncludes("bindings/v8/V8Binding.h"); | 3680 AddToImplIncludes("bindings/v8/V8Binding.h"); |
| 3682 AddToImplIncludes("bindings/v8/V8DOMWrapper.h"); | 3681 AddToImplIncludes("bindings/v8/V8DOMWrapper.h"); |
| 3683 AddToImplIncludes("core/dom/ContextFeatures.h"); | 3682 AddToImplIncludes("core/dom/ContextFeatures.h"); |
| 3684 AddToImplIncludes("core/dom/Document.h"); | 3683 AddToImplIncludes("core/dom/Document.h"); |
| 3685 AddToImplIncludes("RuntimeEnabledFeatures.h"); | 3684 AddToImplIncludes("RuntimeEnabledFeatures.h"); |
| 3686 | 3685 |
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4031 END | 4030 END |
| 4032 if ($interface->extendedAttributes->{"EnabledAtRuntime"}) { | 4031 if ($interface->extendedAttributes->{"EnabledAtRuntime"}) { |
| 4033 my $enable_function = GetRuntimeEnableFunctionName($interface); | 4032 my $enable_function = GetRuntimeEnableFunctionName($interface); |
| 4034 $code .= <<END; | 4033 $code .= <<END; |
| 4035 if (!${enable_function}()) | 4034 if (!${enable_function}()) |
| 4036 defaultSignature = V8DOMConfiguration::configureTemplate(desc, \"\", $pa
rentClassTemplate, ${v8ClassName}::internalFieldCount, 0, 0, 0, 0, isolate, curr
entWorldType); | 4035 defaultSignature = V8DOMConfiguration::configureTemplate(desc, \"\", $pa
rentClassTemplate, ${v8ClassName}::internalFieldCount, 0, 0, 0, 0, isolate, curr
entWorldType); |
| 4037 else | 4036 else |
| 4038 END | 4037 END |
| 4039 } | 4038 } |
| 4040 $code .= <<END; | 4039 $code .= <<END; |
| 4041 defaultSignature = V8DOMConfiguration::configureTemplate(desc, \"${visibleIn
terfaceName}\", $parentClassTemplate, ${v8ClassName}::internalFieldCount, | 4040 defaultSignature = V8DOMConfiguration::configureTemplate(desc, \"${interface
Name}\", $parentClassTemplate, ${v8ClassName}::internalFieldCount, |
| 4042 END | 4041 END |
| 4043 # Set up our attributes if we have them | 4042 # Set up our attributes if we have them |
| 4044 if ($has_attributes) { | 4043 if ($has_attributes) { |
| 4045 $code .= <<END; | 4044 $code .= <<END; |
| 4046 ${v8ClassName}Attrs, WTF_ARRAY_LENGTH(${v8ClassName}Attrs), | 4045 ${v8ClassName}Attrs, WTF_ARRAY_LENGTH(${v8ClassName}Attrs), |
| 4047 END | 4046 END |
| 4048 } else { | 4047 } else { |
| 4049 $code .= <<END; | 4048 $code .= <<END; |
| 4050 0, 0, | 4049 0, 0, |
| 4051 END | 4050 END |
| (...skipping 1780 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5832 sub ExtendedAttributeContains | 5831 sub ExtendedAttributeContains |
| 5833 { | 5832 { |
| 5834 my $callWith = shift; | 5833 my $callWith = shift; |
| 5835 return 0 unless $callWith; | 5834 return 0 unless $callWith; |
| 5836 my $keyword = shift; | 5835 my $keyword = shift; |
| 5837 | 5836 |
| 5838 my @callWithKeywords = split /\s*\|\s*/, $callWith; | 5837 my @callWithKeywords = split /\s*\|\s*/, $callWith; |
| 5839 return grep { $_ eq $keyword } @callWithKeywords; | 5838 return grep { $_ eq $keyword } @callWithKeywords; |
| 5840 } | 5839 } |
| 5841 | 5840 |
| 5842 # FIXME: This is backwards. We currently name the interface and the IDL files wi
th the implementation name. We | |
| 5843 # should use the real interface name in the IDL files and then use ImplementedAs
to map this to the implementation name. | |
| 5844 sub GetVisibleInterfaceName | |
| 5845 { | |
| 5846 my $interface = shift; | |
| 5847 my $interfaceName = $interface->extendedAttributes->{"InterfaceName"}; | |
| 5848 return $interfaceName ? $interfaceName : $interface->name; | |
| 5849 } | |
| 5850 | |
| 5851 sub InheritsInterface | 5841 sub InheritsInterface |
| 5852 { | 5842 { |
| 5853 my $interface = shift; | 5843 my $interface = shift; |
| 5854 my $interfaceName = shift; | 5844 my $interfaceName = shift; |
| 5855 my $found = 0; | 5845 my $found = 0; |
| 5856 | 5846 |
| 5857 return 1 if $interfaceName eq $interface->name; | 5847 return 1 if $interfaceName eq $interface->name; |
| 5858 ForAllParents($interface, sub { | 5848 ForAllParents($interface, sub { |
| 5859 my $currentInterface = shift; | 5849 my $currentInterface = shift; |
| 5860 if ($currentInterface->name eq $interfaceName) { | 5850 if ($currentInterface->name eq $interfaceName) { |
| (...skipping 17 matching lines...) Expand all Loading... |
| 5878 if ($currentInterface->extendedAttributes->{$extendedAttribute}) { | 5868 if ($currentInterface->extendedAttributes->{$extendedAttribute}) { |
| 5879 $found = 1; | 5869 $found = 1; |
| 5880 } | 5870 } |
| 5881 return 1 if $found; | 5871 return 1 if $found; |
| 5882 }, 0); | 5872 }, 0); |
| 5883 | 5873 |
| 5884 return $found; | 5874 return $found; |
| 5885 } | 5875 } |
| 5886 | 5876 |
| 5887 1; | 5877 1; |
| OLD | NEW |