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 1230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1241 return; | 1241 return; |
1242 } | 1242 } |
1243 ${implClassName}* imp = ${v8ClassName}::toNative(holder); | 1243 ${implClassName}* imp = ${v8ClassName}::toNative(holder); |
1244 if (!BindingSecurity::shouldAllowAccessToFrame(imp->frame(), DoNotReportSecu
rityError)) { | 1244 if (!BindingSecurity::shouldAllowAccessToFrame(imp->frame(), DoNotReportSecu
rityError)) { |
1245 static int sharedTemplateUniqueKey; | 1245 static int sharedTemplateUniqueKey; |
1246 v8::Handle<v8::FunctionTemplate> sharedTemplate = data->privateTemplate(
currentWorldType, &sharedTemplateUniqueKey, $newTemplateParams, $functionLength)
; | 1246 v8::Handle<v8::FunctionTemplate> sharedTemplate = data->privateTemplate(
currentWorldType, &sharedTemplateUniqueKey, $newTemplateParams, $functionLength)
; |
1247 v8SetReturnValue(info, sharedTemplate->GetFunction()); | 1247 v8SetReturnValue(info, sharedTemplate->GetFunction()); |
1248 return; | 1248 return; |
1249 } | 1249 } |
1250 | 1250 |
1251 v8::Local<v8::Value> hiddenValue = info.This()->GetHiddenValue(v8::String::N
ewFromUtf8(info.GetIsolate(), "${funcName}", v8::String::kInternalizedString)); | 1251 v8::Local<v8::Value> hiddenValue = info.This()->GetHiddenValue(v8AtomicStrin
g(info.GetIsolate(), "${funcName}")); |
1252 if (!hiddenValue.IsEmpty()) { | 1252 if (!hiddenValue.IsEmpty()) { |
1253 v8SetReturnValue(info, hiddenValue); | 1253 v8SetReturnValue(info, hiddenValue); |
1254 return; | 1254 return; |
1255 } | 1255 } |
1256 | 1256 |
1257 v8SetReturnValue(info, privateTemplate->GetFunction()); | 1257 v8SetReturnValue(info, privateTemplate->GetFunction()); |
1258 } | 1258 } |
1259 | 1259 |
1260 END | 1260 END |
1261 $implementation{nameSpaceInternal}->add(<<END); | 1261 $implementation{nameSpaceInternal}->add(<<END); |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1510 $code .= "#endif // ${conditionalString}\n" if $conditionalString; | 1510 $code .= "#endif // ${conditionalString}\n" if $conditionalString; |
1511 $code .= "\n"; | 1511 $code .= "\n"; |
1512 $implementation{nameSpaceInternal}->add($code); | 1512 $implementation{nameSpaceInternal}->add($code); |
1513 return; | 1513 return; |
1514 # Skip the rest of the function! | 1514 # Skip the rest of the function! |
1515 } | 1515 } |
1516 my $imp = 0; | 1516 my $imp = 0; |
1517 if ($attrCached) { | 1517 if ($attrCached) { |
1518 $imp = 1; | 1518 $imp = 1; |
1519 $code .= <<END; | 1519 $code .= <<END; |
1520 v8::Handle<v8::String> propertyName = v8::String::NewFromUtf8(info.GetIsolat
e(), "${attrName}", v8::String::kInternalizedString); | 1520 v8::Handle<v8::String> propertyName = v8AtomicString(info.GetIsolate(), "${a
ttrName}"); |
1521 ${implClassName}* imp = ${v8ClassName}::toNative(info.Holder()); | 1521 ${implClassName}* imp = ${v8ClassName}::toNative(info.Holder()); |
1522 if (!imp->$attrCached()) { | 1522 if (!imp->$attrCached()) { |
1523 v8::Handle<v8::Value> jsValue = info.Holder()->GetHiddenValue(propertyNa
me); | 1523 v8::Handle<v8::Value> jsValue = info.Holder()->GetHiddenValue(propertyNa
me); |
1524 if (!jsValue.IsEmpty()) { | 1524 if (!jsValue.IsEmpty()) { |
1525 v8SetReturnValue(info, jsValue); | 1525 v8SetReturnValue(info, jsValue); |
1526 return; | 1526 return; |
1527 } | 1527 } |
1528 } | 1528 } |
1529 END | 1529 END |
1530 } | 1530 } |
(...skipping 599 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2130 if ($useExceptions) { | 2130 if ($useExceptions) { |
2131 $code .= " if (!exceptionState.hadException())\n"; | 2131 $code .= " if (!exceptionState.hadException())\n"; |
2132 $code .= " wrapper->commitChange();\n"; | 2132 $code .= " wrapper->commitChange();\n"; |
2133 } else { | 2133 } else { |
2134 $code .= " wrapper->commitChange();\n"; | 2134 $code .= " wrapper->commitChange();\n"; |
2135 } | 2135 } |
2136 } | 2136 } |
2137 | 2137 |
2138 if ($attrCached) { | 2138 if ($attrCached) { |
2139 $code .= <<END; | 2139 $code .= <<END; |
2140 info.Holder()->DeleteHiddenValue(v8::String::NewFromUtf8(info.GetIsolate(),
"${attrName}", v8::String::kInternalizedString)); // Invalidate the cached value
. | 2140 info.Holder()->DeleteHiddenValue(v8AtomicString(info.GetIsolate(), "${attrNa
me}")); // Invalidate the cached value. |
2141 END | 2141 END |
2142 } | 2142 } |
2143 | 2143 |
2144 $code .= "}\n"; # end of setter | 2144 $code .= "}\n"; # end of setter |
2145 $code .= "#endif // ${conditionalString}\n" if $conditionalString; | 2145 $code .= "#endif // ${conditionalString}\n" if $conditionalString; |
2146 $code .= "\n"; | 2146 $code .= "\n"; |
2147 $implementation{nameSpaceInternal}->add($code); | 2147 $implementation{nameSpaceInternal}->add($code); |
2148 } | 2148 } |
2149 | 2149 |
2150 sub GenerateParametersCheckExpression | 2150 sub GenerateParametersCheckExpression |
(...skipping 1017 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3168 v8::Local<v8::FunctionTemplate> result = data->privateTemplateIfExists(curre
ntWorldType, &privateTemplateUniqueKey); | 3168 v8::Local<v8::FunctionTemplate> result = data->privateTemplateIfExists(curre
ntWorldType, &privateTemplateUniqueKey); |
3169 if (!result.IsEmpty()) | 3169 if (!result.IsEmpty()) |
3170 return result; | 3170 return result; |
3171 | 3171 |
3172 TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); | 3172 TRACE_EVENT_SCOPED_SAMPLING_STATE("Blink", "BuildDOMTemplate"); |
3173 v8::EscapableHandleScope scope(isolate); | 3173 v8::EscapableHandleScope scope(isolate); |
3174 result = v8::FunctionTemplate::New(isolate, ${v8ClassName}ConstructorCallbac
k); | 3174 result = v8::FunctionTemplate::New(isolate, ${v8ClassName}ConstructorCallbac
k); |
3175 | 3175 |
3176 v8::Local<v8::ObjectTemplate> instanceTemplate = result->InstanceTemplate(); | 3176 v8::Local<v8::ObjectTemplate> instanceTemplate = result->InstanceTemplate(); |
3177 instanceTemplate->SetInternalFieldCount(${v8ClassName}::internalFieldCount); | 3177 instanceTemplate->SetInternalFieldCount(${v8ClassName}::internalFieldCount); |
3178 result->SetClassName(v8::String::NewFromUtf8(isolate, "${implClassName}", v8
::String::kInternalizedString)); | 3178 result->SetClassName(v8AtomicString(isolate, "${implClassName}")); |
3179 result->Inherit(${v8ClassName}::domTemplate(isolate, currentWorldType)); | 3179 result->Inherit(${v8ClassName}::domTemplate(isolate, currentWorldType)); |
3180 data->setPrivateTemplate(currentWorldType, &privateTemplateUniqueKey, result
); | 3180 data->setPrivateTemplate(currentWorldType, &privateTemplateUniqueKey, result
); |
3181 | 3181 |
3182 return scope.Escape(result); | 3182 return scope.Escape(result); |
3183 } | 3183 } |
3184 | 3184 |
3185 END | 3185 END |
3186 $implementation{nameSpaceWebCore}->add($code); | 3186 $implementation{nameSpaceWebCore}->add($code); |
3187 } | 3187 } |
3188 | 3188 |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3353 my $attrExt = $attribute->extendedAttributes; | 3353 my $attrExt = $attribute->extendedAttributes; |
3354 my $code = ""; | 3354 my $code = ""; |
3355 | 3355 |
3356 my ($attrName, $getter, $setter, $getterForMainWorld, $setterForMainWorld, $
data, $accessControl, $propAttribute, $onProto) = GenerateAttributeConfiguration
Parameters($interface, $attribute); | 3356 my ($attrName, $getter, $setter, $getterForMainWorld, $setterForMainWorld, $
data, $accessControl, $propAttribute, $onProto) = GenerateAttributeConfiguration
Parameters($interface, $attribute); |
3357 | 3357 |
3358 die "Static attributes do not support optimized getters or setters for the m
ain world" if $getterForMainWorld || $setterForMainWorld; | 3358 die "Static attributes do not support optimized getters or setters for the m
ain world" if $getterForMainWorld || $setterForMainWorld; |
3359 | 3359 |
3360 my $conditionalString = GenerateConditionalString($attribute); | 3360 my $conditionalString = GenerateConditionalString($attribute); |
3361 | 3361 |
3362 $code .= "#if ${conditionalString}\n" if $conditionalString; | 3362 $code .= "#if ${conditionalString}\n" if $conditionalString; |
3363 $code .= " functionTemplate->SetNativeDataProperty(v8::String::NewFromUtf
8(isolate, \"$attrName\", v8::String::kInternalizedString), $getter, $setter, v8
::External::New(isolate, $data), $propAttribute, v8::Handle<v8::AccessorSignatur
e>(), $accessControl);\n"; | 3363 $code .= " functionTemplate->SetNativeDataProperty(v8AtomicString(isolate
, \"$attrName\"), $getter, $setter, v8::External::New(isolate, $data), $propAttr
ibute, v8::Handle<v8::AccessorSignature>(), $accessControl);\n"; |
3364 $code .= "#endif // ${conditionalString}\n" if $conditionalString; | 3364 $code .= "#endif // ${conditionalString}\n" if $conditionalString; |
3365 | 3365 |
3366 return $code; | 3366 return $code; |
3367 } | 3367 } |
3368 | 3368 |
3369 sub IsStandardFunction | 3369 sub IsStandardFunction |
3370 { | 3370 { |
3371 my $interface = shift; | 3371 my $interface = shift; |
3372 my $function = shift; | 3372 my $function = shift; |
3373 | 3373 |
(...skipping 3008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6382 | 6382 |
6383 foreach my $parameter (@{$function->parameters}) { | 6383 foreach my $parameter (@{$function->parameters}) { |
6384 if ($parameter->type eq "SerializedScriptValue") { | 6384 if ($parameter->type eq "SerializedScriptValue") { |
6385 return 1; | 6385 return 1; |
6386 } | 6386 } |
6387 } | 6387 } |
6388 return 0; | 6388 return 0; |
6389 } | 6389 } |
6390 | 6390 |
6391 1; | 6391 1; |
OLD | NEW |