OLD | NEW |
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/ToV8ForCore.h" | 10 #include "bindings/core/v8/ToV8ForCore.h" |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 if (value.IsEmpty()) | 149 if (value.IsEmpty()) |
150 return v8::Local<v8::Object>(); | 150 return v8::Local<v8::Object>(); |
151 return value.As<v8::Object>(); | 151 return value.As<v8::Object>(); |
152 } | 152 } |
153 | 153 |
154 template <typename HolderType, typename ResolvedType, typename RejectedType> | 154 template <typename HolderType, typename ResolvedType, typename RejectedType> |
155 v8::Local<v8::Value> | 155 v8::Local<v8::Value> |
156 ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::ResolvedValue( | 156 ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::ResolvedValue( |
157 v8::Isolate* isolate, | 157 v8::Isolate* isolate, |
158 v8::Local<v8::Object> creation_context) { | 158 v8::Local<v8::Object> creation_context) { |
159 ASSERT(GetState() == kResolved); | 159 DCHECK_EQ(GetState(), kResolved); |
160 if (!resolved_with_undefined_) | 160 if (!resolved_with_undefined_) |
161 return ToV8(resolved_, creation_context, isolate); | 161 return ToV8(resolved_, creation_context, isolate); |
162 return v8::Undefined(isolate); | 162 return v8::Undefined(isolate); |
163 } | 163 } |
164 | 164 |
165 template <typename HolderType, typename ResolvedType, typename RejectedType> | 165 template <typename HolderType, typename ResolvedType, typename RejectedType> |
166 v8::Local<v8::Value> | 166 v8::Local<v8::Value> |
167 ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::RejectedValue( | 167 ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::RejectedValue( |
168 v8::Isolate* isolate, | 168 v8::Isolate* isolate, |
169 v8::Local<v8::Object> creation_context) { | 169 v8::Local<v8::Object> creation_context) { |
170 ASSERT(GetState() == kRejected); | 170 DCHECK_EQ(GetState(), kRejected); |
171 return ToV8(rejected_, creation_context, isolate); | 171 return ToV8(rejected_, creation_context, isolate); |
172 } | 172 } |
173 | 173 |
174 template <typename HolderType, typename ResolvedType, typename RejectedType> | 174 template <typename HolderType, typename ResolvedType, typename RejectedType> |
175 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::Reset() { | 175 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::Reset() { |
176 ResetBase(); | 176 ResetBase(); |
177 resolved_ = ResolvedType(); | 177 resolved_ = ResolvedType(); |
178 rejected_ = RejectedType(); | 178 rejected_ = RejectedType(); |
179 resolved_with_undefined_ = false; | 179 resolved_with_undefined_ = false; |
180 } | 180 } |
181 | 181 |
182 template <typename HolderType, typename ResolvedType, typename RejectedType> | 182 template <typename HolderType, typename ResolvedType, typename RejectedType> |
183 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::Trace( | 183 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::Trace( |
184 Visitor* visitor) { | 184 Visitor* visitor) { |
185 TraceIfNeeded<HolderType>::Trace(visitor, holder_); | 185 TraceIfNeeded<HolderType>::Trace(visitor, holder_); |
186 TraceIfNeeded<ResolvedType>::Trace(visitor, resolved_); | 186 TraceIfNeeded<ResolvedType>::Trace(visitor, resolved_); |
187 TraceIfNeeded<RejectedType>::Trace(visitor, rejected_); | 187 TraceIfNeeded<RejectedType>::Trace(visitor, rejected_); |
188 ScriptPromisePropertyBase::Trace(visitor); | 188 ScriptPromisePropertyBase::Trace(visitor); |
189 } | 189 } |
190 | 190 |
191 } // namespace blink | 191 } // namespace blink |
192 | 192 |
193 #endif // ScriptPromiseProperty_h | 193 #endif // ScriptPromiseProperty_h |
OLD | NEW |