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

Side by Side Diff: Source/bindings/core/v8/ScriptPromiseProperty.h

Issue 940293002: InlinedVisitor: Migrate templated classes in bindings/ manually to use inlined tracing (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: remove line Created 5 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
« no previous file with comments | « no previous file | Source/bindings/templates/interface.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ScriptPromiseProperty_h 5 #ifndef ScriptPromiseProperty_h
6 #define ScriptPromiseProperty_h 6 #define ScriptPromiseProperty_h
7 7
8 #include "bindings/core/v8/ScriptPromise.h" 8 #include "bindings/core/v8/ScriptPromise.h"
9 #include "bindings/core/v8/ScriptPromisePropertyBase.h" 9 #include "bindings/core/v8/ScriptPromisePropertyBase.h"
10 #include "bindings/core/v8/ToV8.h" 10 #include "bindings/core/v8/ToV8.h"
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 61
62 template<typename PassRejectedType> 62 template<typename PassRejectedType>
63 void reject(PassRejectedType); 63 void reject(PassRejectedType);
64 64
65 // Resets this property by unregistering the Promise property from the 65 // Resets this property by unregistering the Promise property from the
66 // holder wrapper. Resets the internal state to Pending and clears the 66 // holder wrapper. Resets the internal state to Pending and clears the
67 // resolved and the rejected values. 67 // resolved and the rejected values.
68 // This method keeps the holder object and the property name. 68 // This method keeps the holder object and the property name.
69 void reset(); 69 void reset();
70 70
71 virtual void trace(Visitor*) override; 71 DECLARE_VIRTUAL_TRACE();
72 72
73 private: 73 private:
74 virtual v8::Handle<v8::Object> holder(v8::Handle<v8::Object> creationContext , v8::Isolate*) override; 74 virtual v8::Handle<v8::Object> holder(v8::Handle<v8::Object> creationContext , v8::Isolate*) override;
75 virtual v8::Handle<v8::Value> resolvedValue(v8::Isolate*, v8::Handle<v8::Obj ect> creationContext) override; 75 virtual v8::Handle<v8::Value> resolvedValue(v8::Isolate*, v8::Handle<v8::Obj ect> creationContext) override;
76 virtual v8::Handle<v8::Value> rejectedValue(v8::Isolate*, v8::Handle<v8::Obj ect> creationContext) override; 76 virtual v8::Handle<v8::Value> rejectedValue(v8::Isolate*, v8::Handle<v8::Obj ect> creationContext) override;
77 77
78 HolderType m_holder; 78 HolderType m_holder;
79 ResolvedType m_resolved; 79 ResolvedType m_resolved;
80 RejectedType m_rejected; 80 RejectedType m_rejected;
81 }; 81 };
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 } 138 }
139 139
140 template<typename HolderType, typename ResolvedType, typename RejectedType> 140 template<typename HolderType, typename ResolvedType, typename RejectedType>
141 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::reset() 141 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::reset()
142 { 142 {
143 resetBase(); 143 resetBase();
144 m_resolved = ResolvedType(); 144 m_resolved = ResolvedType();
145 m_rejected = RejectedType(); 145 m_rejected = RejectedType();
146 } 146 }
147 147
148 #if ENABLE(INLINED_TRACE)
149 template<typename HolderType, typename ResolvedType, typename RejectedType>
150 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::trace(Visito r* visitor) { traceImpl(visitor); }
151 template<typename HolderType, typename ResolvedType, typename RejectedType>
152 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::trace(Inline dGlobalMarkingVisitor visitor) { traceImpl(visitor); }
153
154 template<typename HolderType, typename ResolvedType, typename RejectedType>
155 template <typename VisitorDispatcher>
156 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::traceImpl(Vi sitorDispatcher visitor)
157 #else
148 template<typename HolderType, typename ResolvedType, typename RejectedType> 158 template<typename HolderType, typename ResolvedType, typename RejectedType>
149 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::trace(Visito r* visitor) 159 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::trace(Visito r* visitor)
160 #endif
150 { 161 {
151 TraceIfNeeded<HolderType>::trace(visitor, &m_holder); 162 TraceIfNeeded<HolderType>::trace(visitor, &m_holder);
152 TraceIfNeeded<ResolvedType>::trace(visitor, &m_resolved); 163 TraceIfNeeded<ResolvedType>::trace(visitor, &m_resolved);
153 TraceIfNeeded<RejectedType>::trace(visitor, &m_rejected); 164 TraceIfNeeded<RejectedType>::trace(visitor, &m_rejected);
154 ScriptPromisePropertyBase::trace(visitor); 165 ScriptPromisePropertyBase::trace(visitor);
155 } 166 }
156 167
157 } // namespace blink 168 } // namespace blink
158 169
159 #endif // ScriptPromiseProperty_h 170 #endif // ScriptPromiseProperty_h
OLDNEW
« no previous file with comments | « no previous file | Source/bindings/templates/interface.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698