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

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

Issue 173363002: Move mediastream module to oilpan transition types (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Added Finalized Created 6 years, 10 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 | Annotate | Revision Log
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 5421 matching lines...) Expand 10 before | Expand all | Expand 10 after
5432 $code .= $nativeValue . "\n" if $nativeValue; # Skip blank line for void re turn type 5432 $code .= $nativeValue . "\n" if $nativeValue; # Skip blank line for void re turn type
5433 5433
5434 return $code; 5434 return $code;
5435 } 5435 }
5436 5436
5437 sub GetNativeType 5437 sub GetNativeType
5438 { 5438 {
5439 my $type = shift; 5439 my $type = shift;
5440 my $extendedAttributes = shift; 5440 my $extendedAttributes = shift;
5441 my $isParameter = shift; 5441 my $isParameter = shift;
5442 my $isMember = shift;
5442 5443
5443 my $svgNativeType = GetSVGTypeNeedingTearOff($type); 5444 my $svgNativeType = GetSVGTypeNeedingTearOff($type);
5444 if ($svgNativeType) { 5445 if ($svgNativeType) {
5445 if ($svgNativeType =~ /List$/) { 5446 if ($svgNativeType =~ /List$/) {
5446 return "${svgNativeType}*"; 5447 return "${svgNativeType}*";
5447 } else { 5448 } else {
5448 return "RefPtr<${svgNativeType} >"; 5449 return "RefPtr<${svgNativeType} >";
5449 } 5450 }
5450 } 5451 }
5451 5452
(...skipping 30 matching lines...) Expand all
5482 } 5483 }
5483 5484
5484 # We need to check [ImplementedAs] extended attribute for wrapper types. 5485 # We need to check [ImplementedAs] extended attribute for wrapper types.
5485 return "RefPtr<$type>" if $type eq "XPathNSResolver"; # FIXME: can this be put in nonWrapperTypes instead? 5486 return "RefPtr<$type>" if $type eq "XPathNSResolver"; # FIXME: can this be put in nonWrapperTypes instead?
5486 if (IsWrapperType($type)) { 5487 if (IsWrapperType($type)) {
5487 my $interface = ParseInterface($type); 5488 my $interface = ParseInterface($type);
5488 my $implClassName = GetImplName($interface); 5489 my $implClassName = GetImplName($interface);
5489 if ($isParameter) { 5490 if ($isParameter) {
5490 return "$implClassName*"; 5491 return "$implClassName*";
5491 } elsif (IsWillBeGarbageCollectedType($interface->name)) { 5492 } elsif (IsWillBeGarbageCollectedType($interface->name)) {
5492 return "RefPtrWillBeRawPtr<$implClassName>"; 5493 if ($isMember) {
5494 return "RefPtrWillBeMember<$implClassName>";
5495 } else {
5496 return "RefPtrWillBeRawPtr<$implClassName>";
5497 }
5493 } else { 5498 } else {
5494 return "RefPtr<$implClassName>"; 5499 return "RefPtr<$implClassName>";
5495 } 5500 }
5496 } 5501 }
5497 return "RefPtr<$type>" if IsRefPtrType($type) and (not $isParameter or $nonW rapperTypes{$type}); 5502 return "RefPtr<$type>" if IsRefPtrType($type) and (not $isParameter or $nonW rapperTypes{$type});
5498 5503
5499 my $arrayOrSequenceType = GetArrayOrSequenceType($type); 5504 my $arrayOrSequenceType = GetArrayOrSequenceType($type);
5500 5505
5501 if ($arrayOrSequenceType) { 5506 if ($arrayOrSequenceType) {
5502 my $nativeType = GetNativeType($arrayOrSequenceType); 5507 if (IsWillBeGarbageCollectedType($arrayOrSequenceType)) {
5503 $nativeType .= " " if ($nativeType =~ />$/); 5508 my $nativeType = GetNativeType($arrayOrSequenceType, {}, "", "member ");
5504 return "Vector<${nativeType}>"; 5509 $nativeType .= " " if ($nativeType =~ />$/);
5510 return "WillBeHeapVector<${nativeType}>";
5511 } else {
5512 my $nativeType = GetNativeType($arrayOrSequenceType);
5513 $nativeType .= " " if ($nativeType =~ />$/);
5514 return "Vector<${nativeType}>";
5515 }
5505 } 5516 }
5506 5517
5507 # Default, assume native type is a pointer with same type name as idl type 5518 # Default, assume native type is a pointer with same type name as idl type
5508 return "${type}*"; 5519 return "${type}*";
5509 } 5520 }
5510 5521
5511 sub GetNativeTypeForCallbacks 5522 sub GetNativeTypeForCallbacks
5512 { 5523 {
5513 my $type = shift; 5524 my $type = shift;
5514 return "const String&" if $type eq "DOMString"; 5525 return "const String&" if $type eq "DOMString";
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
5619 return "$value->Is${type}() ? V8${type}::toNative(v8::Handle<v8::${type} >::Cast($value)) : 0" 5630 return "$value->Is${type}() ? V8${type}::toNative(v8::Handle<v8::${type} >::Cast($value)) : 0"
5620 } 5631 }
5621 5632
5622 if ($type eq "XPathNSResolver") { 5633 if ($type eq "XPathNSResolver") {
5623 return "toXPathNSResolver($value, $getIsolate)"; 5634 return "toXPathNSResolver($value, $getIsolate)";
5624 } 5635 }
5625 5636
5626 my $arrayOrSequenceType = GetArrayOrSequenceType($type); 5637 my $arrayOrSequenceType = GetArrayOrSequenceType($type);
5627 5638
5628 if ($arrayOrSequenceType) { 5639 if ($arrayOrSequenceType) {
5640 if (IsWillBeGarbageCollectedType($arrayOrSequenceType)) {
5641 AddToImplIncludes("V8${arrayOrSequenceType}.h");
5642 return "(toRefPtrWillBeMemberNativeArray<${arrayOrSequenceType}, V8$ {arrayOrSequenceType}>($value, $argIndexOrZero, $getIsolate))";
5643 }
5629 if (IsRefPtrType($arrayOrSequenceType)) { 5644 if (IsRefPtrType($arrayOrSequenceType)) {
5630 AddToImplIncludes("V8${arrayOrSequenceType}.h"); 5645 AddToImplIncludes("V8${arrayOrSequenceType}.h");
5631 return "(toRefPtrNativeArray<${arrayOrSequenceType}, V8${arrayOrSequ enceType}>($value, $argIndexOrZero, $getIsolate))"; 5646 return "(toRefPtrNativeArray<${arrayOrSequenceType}, V8${arrayOrSequ enceType}>($value, $argIndexOrZero, $getIsolate))";
5632 } 5647 }
5633 return "toNativeArray<" . GetNativeType($arrayOrSequenceType) . ">($valu e, $argIndexOrZero, $getIsolate)"; 5648 return "toNativeArray<" . GetNativeType($arrayOrSequenceType) . ">($valu e, $argIndexOrZero, $getIsolate)";
5634 } 5649 }
5635 5650
5636 AddIncludesForType($type); 5651 AddIncludesForType($type);
5637 5652
5638 AddToImplIncludes("V8${type}.h"); 5653 AddToImplIncludes("V8${type}.h");
(...skipping 840 matching lines...) Expand 10 before | Expand all | Expand 10 after
6479 if ($parameter->type eq "SerializedScriptValue") { 6494 if ($parameter->type eq "SerializedScriptValue") {
6480 return 1; 6495 return 1;
6481 } elsif (IsIntegerType($parameter->type)) { 6496 } elsif (IsIntegerType($parameter->type)) {
6482 return 1; 6497 return 1;
6483 } 6498 }
6484 } 6499 }
6485 return 0; 6500 return 0;
6486 } 6501 }
6487 6502
6488 1; 6503 1;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698