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 6257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6268 } | 6268 } |
6269 } | 6269 } |
6270 return @checks; | 6270 return @checks; |
6271 } | 6271 } |
6272 | 6272 |
6273 sub GenerateReflectOnlyCheck | 6273 sub GenerateReflectOnlyCheck |
6274 { | 6274 { |
6275 my $extendedAttributes = shift; | 6275 my $extendedAttributes = shift; |
6276 my $indent = shift; | 6276 my $indent = shift; |
6277 | 6277 |
6278 my $knownValueString = $extendedAttributes->{"ReflectOnly"}; | 6278 my $attributeValueList = $extendedAttributes->{"ReflectOnly"}; |
6279 my @knownValues = split(quotemeta("|"), $knownValueString); | 6279 my @knownValues = split(quotemeta("|"), $attributeValueList); |
6280 | 6280 |
6281 my $missingValueDefault = $extendedAttributes->{"ReflectMissing"}; | 6281 my $missingValueDefault = $extendedAttributes->{"ReflectMissing"}; |
6282 if ($missingValueDefault) { | 6282 if ($missingValueDefault) { |
6283 if (!grep { $_ eq $missingValueDefault } @knownValues) { | 6283 if (!grep { $_ eq $missingValueDefault } @knownValues) { |
6284 die "Missing attribute value is not a known value " . $missingValueD
efault; | 6284 die "The [ReflectMissing] attribute value '${missingValueDefault}' i
s not a known value "; |
6285 } | 6285 } |
6286 $missingValueDefault = "resultValue = \"${missingValueDefault}\""; | 6286 $missingValueDefault = "resultValue = \"${missingValueDefault}\""; |
6287 } else { | 6287 } else { |
6288 $missingValueDefault = ""; | 6288 $missingValueDefault = ""; |
6289 } | 6289 } |
6290 | 6290 |
6291 my $invalidValueDefault = $extendedAttributes->{"ReflectInvalid"}; | 6291 my $invalidValueDefault = $extendedAttributes->{"ReflectInvalid"}; |
6292 if ($invalidValueDefault) { | 6292 if ($invalidValueDefault) { |
6293 if (!grep { $_ eq $invalidValueDefault } @knownValues) { | 6293 if (!grep { $_ eq $invalidValueDefault } @knownValues) { |
6294 die "Invalid attribute value is not a known value " . $invalidValueD
efault; | 6294 die "The [ReflectInvalid] attribute value '${invalidValueDefault}' i
s not a known value "; |
6295 } | 6295 } |
6296 $invalidValueDefault = "\"${invalidValueDefault}\""; | 6296 $invalidValueDefault = "resultValue = \"${invalidValueDefault}\""; |
6297 } else { | 6297 } else { |
6298 $invalidValueDefault = "\"\""; | 6298 $invalidValueDefault = "resultValue = \"\""; |
| 6299 } |
| 6300 |
| 6301 my @normalizeAttributeCode = (); |
| 6302 |
| 6303 # Attributes without a value (div empty-attribute>) can be |
| 6304 # separately reflected to some value. |
| 6305 |
| 6306 my $isAttributeValueMissing = "resultValue.isEmpty()"; |
| 6307 my $emptyValueDefault = $extendedAttributes->{"ReflectEmpty"}; |
| 6308 if ($emptyValueDefault) { |
| 6309 if (!grep { $_ eq $emptyValueDefault } @knownValues) { |
| 6310 die "The [ReflectEmpty] attribute value '${emptyValueDefault}' is no
t a known value "; |
| 6311 } |
| 6312 $isAttributeValueMissing = "resultValue.isNull()"; |
| 6313 push(@normalizeAttributeCode, "${indent}} else if (resultValue.isEmpty()
) {"); |
| 6314 push(@normalizeAttributeCode, "${indent} resultValue = \"$emptyValueD
efault\";"); |
6299 } | 6315 } |
6300 | 6316 |
6301 # Attribute is limited to only known values: check that the attribute | 6317 # Attribute is limited to only known values: check that the attribute |
6302 # value is one of those..and if not, set it to the empty string. | 6318 # value is one of those..and if not, set it to the empty string. |
6303 # ( http://www.whatwg.org/specs/web-apps/current-work/#limited-to-only-known
-values ) | 6319 # ( http://www.whatwg.org/specs/web-apps/current-work/#limited-to-only-known
-values ) |
6304 # | 6320 # |
6305 my @normalizeAttributeCode = (); | |
6306 my $code = ""; | |
6307 foreach my $knownValue (@knownValues) { | 6321 foreach my $knownValue (@knownValues) { |
6308 push(@normalizeAttributeCode, "${indent}} else if (equalIgnoringCase(res
ultValue, \"$knownValue\")) {"); | 6322 push(@normalizeAttributeCode, "${indent}} else if (equalIgnoringCase(res
ultValue, \"$knownValue\")) {"); |
6309 push(@normalizeAttributeCode, "${indent} resultValue = \"$knownValue\
";"); | 6323 push(@normalizeAttributeCode, "${indent} resultValue = \"$knownValue\
";"); |
6310 } | 6324 } |
6311 my $normalizeAttributeValue = join("\n", @normalizeAttributeCode); | 6325 my $normalizeAttributeValue = join("\n", @normalizeAttributeCode); |
6312 $code .= <<END; | 6326 my $code .= <<END; |
6313 ${indent}if (resultValue.isEmpty()) { | 6327 ${indent}if ($isAttributeValueMissing) { |
6314 ${indent} $missingValueDefault; | 6328 ${indent} $missingValueDefault; |
6315 ${normalizeAttributeValue} | 6329 ${normalizeAttributeValue} |
6316 ${indent}} else { | 6330 ${indent}} else { |
6317 ${indent} resultValue = $invalidValueDefault; | 6331 ${indent} $invalidValueDefault; |
6318 ${indent}} | 6332 ${indent}} |
6319 END | 6333 END |
6320 return "${code}"; | 6334 return "${code}"; |
6321 } | 6335 } |
6322 | 6336 |
6323 sub ExtendedAttributeContains | 6337 sub ExtendedAttributeContains |
6324 { | 6338 { |
6325 my $extendedAttributeValue = shift; | 6339 my $extendedAttributeValue = shift; |
6326 return 0 unless $extendedAttributeValue; | 6340 return 0 unless $extendedAttributeValue; |
6327 my $keyword = shift; | 6341 my $keyword = shift; |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6386 if ($parameter->type eq "SerializedScriptValue") { | 6400 if ($parameter->type eq "SerializedScriptValue") { |
6387 return 1; | 6401 return 1; |
6388 } elsif (IsIntegerType($parameter->type)) { | 6402 } elsif (IsIntegerType($parameter->type)) { |
6389 return 1; | 6403 return 1; |
6390 } | 6404 } |
6391 } | 6405 } |
6392 return 0; | 6406 return 0; |
6393 } | 6407 } |
6394 | 6408 |
6395 1; | 6409 1; |
OLD | NEW |