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

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

Issue 14179013: Add support for [NoInterfaceObject] extended attribute to bindings generator (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Faster processing of DOMWindow.idl + Handling of Callback interfaces Created 7 years, 8 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
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 3245 matching lines...) Expand 10 before | Expand all | Expand 10 after
3256 if ($interfaceName eq "DOMWindow" && $attribute->signature->extendedAttr ibutes->{"Unforgeable"}) { 3256 if ($interfaceName eq "DOMWindow" && $attribute->signature->extendedAttr ibutes->{"Unforgeable"}) {
3257 push(@disallowsShadowing, $attribute); 3257 push(@disallowsShadowing, $attribute);
3258 } elsif ($attribute->signature->extendedAttributes->{"EnabledAtRuntime"} ) { 3258 } elsif ($attribute->signature->extendedAttributes->{"EnabledAtRuntime"} ) {
3259 push(@enabledAtRuntimeAttributes, $attribute); 3259 push(@enabledAtRuntimeAttributes, $attribute);
3260 } elsif ($attribute->signature->extendedAttributes->{"EnabledPerContext" }) { 3260 } elsif ($attribute->signature->extendedAttributes->{"EnabledPerContext" }) {
3261 push(@enabledPerContextAttributes, $attribute); 3261 push(@enabledPerContextAttributes, $attribute);
3262 } else { 3262 } else {
3263 push(@normalAttributes, $attribute); 3263 push(@normalAttributes, $attribute);
3264 } 3264 }
3265 } 3265 }
3266
3267 # Generate DOMWindow Constructor attributes.
3268 if ($interfaceName eq "DOMWindow") {
3269 my ($generatedNormalAttributes, $generatedEnabledAtRuntimeAttributes, $g eneratedEnabledPerContextAttributes) = $codeGenerator->GenerateDOMWindowConstruc torAttributes();
3270 @normalAttributes = (@normalAttributes, @$generatedNormalAttributes);
3271 @enabledAtRuntimeAttributes = (@enabledAtRuntimeAttributes, @$generatedE nabledAtRuntimeAttributes);
3272 @enabledPerContextAttributes = (@enabledPerContextAttributes, @$generate dEnabledPerContextAttributes);
3273 }
3274
3266 $attributes = \@normalAttributes; 3275 $attributes = \@normalAttributes;
3267 # Put the attributes that disallow shadowing on the shadow object. 3276 # Put the attributes that disallow shadowing on the shadow object.
3268 if (@disallowsShadowing) { 3277 if (@disallowsShadowing) {
3269 my $code = ""; 3278 my $code = "";
3270 $code .= "static const V8DOMConfiguration::BatchedAttribute shadowAttrs[ ] = {\n"; 3279 $code .= "static const V8DOMConfiguration::BatchedAttribute shadowAttrs[ ] = {\n";
3271 $code .= GenerateBatchedAttributeData($interface, \@disallowsShadowing); 3280 $code .= GenerateBatchedAttributeData($interface, \@disallowsShadowing);
3272 $code .= "};\n\n"; 3281 $code .= "};\n\n";
3273 AddToImplContent($code); 3282 AddToImplContent($code);
3274 } 3283 }
3275 3284
(...skipping 1581 matching lines...) Expand 10 before | Expand all | Expand 10 after
4857 4866
4858 sub GetPassRefPtrType 4867 sub GetPassRefPtrType
4859 { 4868 {
4860 my $v8InterfaceName = shift; 4869 my $v8InterfaceName = shift;
4861 4870
4862 my $angleBracketSpace = $v8InterfaceName =~ />$/ ? " " : ""; 4871 my $angleBracketSpace = $v8InterfaceName =~ />$/ ? " " : "";
4863 return "PassRefPtr<${v8InterfaceName}${angleBracketSpace}>"; 4872 return "PassRefPtr<${v8InterfaceName}${angleBracketSpace}>";
4864 } 4873 }
4865 4874
4866 1; 4875 1;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698