| 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/ToV8.h" | 10 #include "bindings/core/v8/ToV8.h" |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 95 : ScriptPromisePropertyBase(executionContext, name), m_holder(holder) {} | 95 : ScriptPromisePropertyBase(executionContext, name), m_holder(holder) {} |
| 96 | 96 |
| 97 template <typename HolderType, typename ResolvedType, typename RejectedType> | 97 template <typename HolderType, typename ResolvedType, typename RejectedType> |
| 98 template <typename PassResolvedType> | 98 template <typename PassResolvedType> |
| 99 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::resolve( | 99 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::resolve( |
| 100 PassResolvedType value) { | 100 PassResolvedType value) { |
| 101 if (getState() != Pending) { | 101 if (getState() != Pending) { |
| 102 ASSERT_NOT_REACHED(); | 102 ASSERT_NOT_REACHED(); |
| 103 return; | 103 return; |
| 104 } | 104 } |
| 105 if (!getExecutionContext() || getExecutionContext()->isContextDestroyed()) | 105 if (getExecutionContext()->isContextDestroyed()) |
| 106 return; | 106 return; |
| 107 m_resolved = value; | 107 m_resolved = value; |
| 108 resolveOrReject(Resolved); | 108 resolveOrReject(Resolved); |
| 109 } | 109 } |
| 110 | 110 |
| 111 template <typename HolderType, typename ResolvedType, typename RejectedType> | 111 template <typename HolderType, typename ResolvedType, typename RejectedType> |
| 112 template <typename PassRejectedType> | 112 template <typename PassRejectedType> |
| 113 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::reject( | 113 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::reject( |
| 114 PassRejectedType value) { | 114 PassRejectedType value) { |
| 115 if (getState() != Pending) { | 115 if (getState() != Pending) { |
| 116 ASSERT_NOT_REACHED(); | 116 ASSERT_NOT_REACHED(); |
| 117 return; | 117 return; |
| 118 } | 118 } |
| 119 if (!getExecutionContext() || getExecutionContext()->isContextDestroyed()) | 119 if (getExecutionContext()->isContextDestroyed()) |
| 120 return; | 120 return; |
| 121 m_rejected = value; | 121 m_rejected = value; |
| 122 resolveOrReject(Rejected); | 122 resolveOrReject(Rejected); |
| 123 } | 123 } |
| 124 | 124 |
| 125 template <typename HolderType, typename ResolvedType, typename RejectedType> | 125 template <typename HolderType, typename ResolvedType, typename RejectedType> |
| 126 v8::Local<v8::Object> | 126 v8::Local<v8::Object> |
| 127 ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::holder( | 127 ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::holder( |
| 128 v8::Isolate* isolate, | 128 v8::Isolate* isolate, |
| 129 v8::Local<v8::Object> creationContext) { | 129 v8::Local<v8::Object> creationContext) { |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 VisitorDispatcher visitor) { | 175 VisitorDispatcher visitor) { |
| 176 TraceIfNeeded<HolderType>::trace(visitor, m_holder); | 176 TraceIfNeeded<HolderType>::trace(visitor, m_holder); |
| 177 TraceIfNeeded<ResolvedType>::trace(visitor, m_resolved); | 177 TraceIfNeeded<ResolvedType>::trace(visitor, m_resolved); |
| 178 TraceIfNeeded<RejectedType>::trace(visitor, m_rejected); | 178 TraceIfNeeded<RejectedType>::trace(visitor, m_rejected); |
| 179 ScriptPromisePropertyBase::trace(visitor); | 179 ScriptPromisePropertyBase::trace(visitor); |
| 180 } | 180 } |
| 181 | 181 |
| 182 } // namespace blink | 182 } // namespace blink |
| 183 | 183 |
| 184 #endif // ScriptPromiseProperty_h | 184 #endif // ScriptPromiseProperty_h |
| OLD | NEW |