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 2720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2731 # V8 has access-check callback API (see ObjectTemplate::SetAccessCheckCa
llbacks) and it's used on DOMWindow | 2731 # V8 has access-check callback API (see ObjectTemplate::SetAccessCheckCa
llbacks) and it's used on DOMWindow |
2732 # instead of deleters or enumerators. In addition, the getter should be
set on prototype template, to | 2732 # instead of deleters or enumerators. In addition, the getter should be
set on prototype template, to |
2733 # get implementation straight out of the DOMWindow prototype regardless
of what prototype is actually set | 2733 # get implementation straight out of the DOMWindow prototype regardless
of what prototype is actually set |
2734 # on the object. | 2734 # on the object. |
2735 if ($interfaceName eq "DOMWindow") { | 2735 if ($interfaceName eq "DOMWindow") { |
2736 $setOn = "Prototype"; | 2736 $setOn = "Prototype"; |
2737 $hasDeleter = 0; | 2737 $hasDeleter = 0; |
2738 $hasEnumerator = 0; | 2738 $hasEnumerator = 0; |
2739 } | 2739 } |
2740 | 2740 |
2741 # FIXME: implement V8HTMLPropertiesCollection::namedPropertyGetter | 2741 push(@implContent, " desc->${setOn}Template()->SetNamedPropertyHandle
r(${v8InterfaceName}::namedPropertyGetter, "); |
2742 if ($interfaceName eq "HTMLPropertiesCollection") { | |
2743 push(@implContent, " desc->${setOn}Template()->SetNamedPropertyHa
ndler(V8HTMLCollection::namedPropertyGetter, "); | |
2744 } else { | |
2745 push(@implContent, " desc->${setOn}Template()->SetNamedPropertyHa
ndler(${v8InterfaceName}::namedPropertyGetter, "); | |
2746 } | |
2747 push(@implContent, $hasCustomNamedSetter ? "${v8InterfaceName}::namedPro
pertySetter, " : "0, "); | 2742 push(@implContent, $hasCustomNamedSetter ? "${v8InterfaceName}::namedPro
pertySetter, " : "0, "); |
2748 # If there is a custom enumerator, there MUST be custom query to properl
y communicate property attributes. | 2743 # If there is a custom enumerator, there MUST be custom query to properl
y communicate property attributes. |
2749 push(@implContent, $hasEnumerator ? "${v8InterfaceName}::namedPropertyQu
ery, " : "0, "); | 2744 push(@implContent, $hasEnumerator ? "${v8InterfaceName}::namedPropertyQu
ery, " : "0, "); |
2750 push(@implContent, $hasDeleter ? "${v8InterfaceName}::namedPropertyDelet
er, " : "0, "); | 2745 push(@implContent, $hasDeleter ? "${v8InterfaceName}::namedPropertyDelet
er, " : "0, "); |
2751 push(@implContent, $hasEnumerator ? "${v8InterfaceName}::namedPropertyEn
umerator" : "0"); | 2746 push(@implContent, $hasEnumerator ? "${v8InterfaceName}::namedPropertyEn
umerator" : "0"); |
2752 push(@implContent, ");\n"); | 2747 push(@implContent, ");\n"); |
2753 } | 2748 } |
2754 } | 2749 } |
2755 | 2750 |
2756 sub GenerateImplementationCustomCall | 2751 sub GenerateImplementationCustomCall |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2954 } | 2949 } |
2955 } | 2950 } |
2956 GenerateFunctionCallback($function, $interface, ""); | 2951 GenerateFunctionCallback($function, $interface, ""); |
2957 if ($function->signature->extendedAttributes->{"PerWorldBindings"})
{ | 2952 if ($function->signature->extendedAttributes->{"PerWorldBindings"})
{ |
2958 GenerateFunctionCallback($function, $interface, "ForMainWorld"); | 2953 GenerateFunctionCallback($function, $interface, "ForMainWorld"); |
2959 } | 2954 } |
2960 } | 2955 } |
2961 | 2956 |
2962 if ($function->signature->name eq "item") { | 2957 if ($function->signature->name eq "item") { |
2963 $indexer = $function->signature; | 2958 $indexer = $function->signature; |
2964 } | |
2965 | |
2966 if ($interfaceName eq "HTMLPropertiesCollection") { | |
2967 if ($function->signature->name eq "propertyNodeList") { | |
2968 $namedPropertyGetter = $function->signature; | |
2969 } | |
2970 } elsif ($function->signature->name eq "namedItem") { | 2959 } elsif ($function->signature->name eq "namedItem") { |
2971 $namedPropertyGetter = $function->signature; | 2960 $namedPropertyGetter = $function->signature; |
2972 } | 2961 } |
2973 | 2962 |
2974 # If the function does not need domain security check, we need to | 2963 # If the function does not need domain security check, we need to |
2975 # generate an access getter that returns different function objects | 2964 # generate an access getter that returns different function objects |
2976 # for different calling context. | 2965 # for different calling context. |
2977 if ($interface->extendedAttributes->{"CheckSecurity"} && $function->sign
ature->extendedAttributes->{"DoNotCheckSecurity"}) { | 2966 if ($interface->extendedAttributes->{"CheckSecurity"} && $function->sign
ature->extendedAttributes->{"DoNotCheckSecurity"}) { |
2978 if (!HasCustomMethod($function->signature->extendedAttributes) || $f
unction->{overloadIndex} == 1) { | 2967 if (!HasCustomMethod($function->signature->extendedAttributes) || $f
unction->{overloadIndex} == 1) { |
2979 GenerateDomainSafeFunctionGetter($function, $interfaceName); | 2968 GenerateDomainSafeFunctionGetter($function, $interfaceName); |
(...skipping 1608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4588 | 4577 |
4589 sub GetPassRefPtrType | 4578 sub GetPassRefPtrType |
4590 { | 4579 { |
4591 my $v8InterfaceName = shift; | 4580 my $v8InterfaceName = shift; |
4592 | 4581 |
4593 my $angleBracketSpace = $v8InterfaceName =~ />$/ ? " " : ""; | 4582 my $angleBracketSpace = $v8InterfaceName =~ />$/ ? " " : ""; |
4594 return "PassRefPtr<${v8InterfaceName}${angleBracketSpace}>"; | 4583 return "PassRefPtr<${v8InterfaceName}${angleBracketSpace}>"; |
4595 } | 4584 } |
4596 | 4585 |
4597 1; | 4586 1; |
OLD | NEW |