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

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

Issue 78713009: Introduce toV8NoInline (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 7 years, 1 month 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 4113 matching lines...) Expand 10 before | Expand all | Expand 10 after
4124 my $implClassName = GetImplName($interface); 4124 my $implClassName = GetImplName($interface);
4125 my $v8ClassName = GetV8ClassName($interface); 4125 my $v8ClassName = GetV8ClassName($interface);
4126 my $nativeType = GetNativeTypeForConversions($interface); 4126 my $nativeType = GetNativeTypeForConversions($interface);
4127 4127
4128 AddToImplIncludes("bindings/v8/V8Binding.h"); 4128 AddToImplIncludes("bindings/v8/V8Binding.h");
4129 AddToImplIncludes("bindings/v8/V8DOMWrapper.h"); 4129 AddToImplIncludes("bindings/v8/V8DOMWrapper.h");
4130 AddToImplIncludes("core/dom/ContextFeatures.h"); 4130 AddToImplIncludes("core/dom/ContextFeatures.h");
4131 AddToImplIncludes("core/dom/Document.h"); 4131 AddToImplIncludes("core/dom/Document.h");
4132 AddToImplIncludes("RuntimeEnabledFeatures.h"); 4132 AddToImplIncludes("RuntimeEnabledFeatures.h");
4133 AddToImplIncludes("platform/TraceEvent.h"); 4133 AddToImplIncludes("platform/TraceEvent.h");
4134 AddToImplIncludes("bindings/v8/ScriptPromiseResolver.h") if $interface->exte ndedAttributes->{"PromiseResolutionTarget"};
4134 4135
4135 AddIncludesForType($interfaceName); 4136 AddIncludesForType($interfaceName);
4136 if ($interface->extendedAttributes->{"CheckSecurity"}) { 4137 if ($interface->extendedAttributes->{"CheckSecurity"}) {
4137 AddToImplIncludes("bindings/v8/BindingSecurity.h"); 4138 AddToImplIncludes("bindings/v8/BindingSecurity.h");
4138 AddToImplIncludes("bindings/v8/ExceptionMessages.h"); 4139 AddToImplIncludes("bindings/v8/ExceptionMessages.h");
4139 AddToImplIncludes("bindings/v8/ExceptionState.h"); 4140 AddToImplIncludes("bindings/v8/ExceptionState.h");
4140 } 4141 }
4141 4142
4142 my $toActiveDOMObject = InheritsExtendedAttribute($interface, "ActiveDOMObje ct") ? "${v8ClassName}::toActiveDOMObject" : "0"; 4143 my $toActiveDOMObject = InheritsExtendedAttribute($interface, "ActiveDOMObje ct") ? "${v8ClassName}::toActiveDOMObject" : "0";
4143 my $toEventTarget = InheritsInterface($interface, "EventTarget") ? "${v8Clas sName}::toEventTarget" : "0"; 4144 my $toEventTarget = InheritsInterface($interface, "EventTarget") ? "${v8Clas sName}::toEventTarget" : "0";
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
4745 4746
4746 GenerateToV8Converters($interface, $v8ClassName, $nativeType); 4747 GenerateToV8Converters($interface, $v8ClassName, $nativeType);
4747 4748
4748 $implementation{nameSpaceWebCore}->add(<<END); 4749 $implementation{nameSpaceWebCore}->add(<<END);
4749 void ${v8ClassName}::derefObject(void* object) 4750 void ${v8ClassName}::derefObject(void* object)
4750 { 4751 {
4751 fromInternalPointer(object)->deref(); 4752 fromInternalPointer(object)->deref();
4752 } 4753 }
4753 4754
4754 END 4755 END
4756 # Generate ScriptPromiseResolver::resolve and ScriptPromiseResolver::reject
4757 if ($interface->extendedAttributes->{"PromiseResolutionTarget"}) {
4758 $implementation{nameSpaceWebCore}->add(<<END);
4759 template<>
4760 void ScriptPromiseResolver::resolve(${nativeType}* impl, v8::Handle<v8::Object> creationContext)
haraken 2013/11/22 06:01:17 It looks weird to generate ScriptPromiseResolver m
yhirano 2013/11/22 06:32:31 I want to implement template<typename T> void Scr
4761 {
4762 resolve(toV8(impl, creationContext, m_isolate));
4763 }
4764
4765 template<>
4766 void ScriptPromiseResolver::reject(${nativeType}* impl, v8::Handle<v8::Object> c reationContext)
4767 {
4768 reject(toV8(impl, creationContext, m_isolate));
4769 }
4770
4771 END
4772 }
4755 } 4773 }
4756 4774
4757 sub GenerateHeaderContentHeader 4775 sub GenerateHeaderContentHeader
4758 { 4776 {
4759 my $interface = shift; 4777 my $interface = shift;
4760 my $v8ClassName = GetV8ClassName($interface); 4778 my $v8ClassName = GetV8ClassName($interface);
4761 my $conditionalString = GenerateConditionalString($interface); 4779 my $conditionalString = GenerateConditionalString($interface);
4762 4780
4763 my @headerContentHeader = split("\r", $licenseHeader); 4781 my @headerContentHeader = split("\r", $licenseHeader);
4764 4782
(...skipping 1579 matching lines...) Expand 10 before | Expand all | Expand 10 after
6344 my $interface = shift; 6362 my $interface = shift;
6345 6363
6346 return 1 if $interface->extendedAttributes->{"CustomToV8"}; 6364 return 1 if $interface->extendedAttributes->{"CustomToV8"};
6347 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"}; 6365 return 1 if $interface->extendedAttributes->{"SpecialWrapFor"};
6348 return 1 if InheritsInterface($interface, "Document"); 6366 return 1 if InheritsInterface($interface, "Document");
6349 6367
6350 return 0; 6368 return 0;
6351 } 6369 }
6352 6370
6353 1; 6371 1;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698