| 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/V8Binding.h" | 10 #include "bindings/core/v8/V8Binding.h" |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 static PassRefPtrWillBeRawPtr<ScriptPromiseProperty<HolderType, ResolvedType
, RejectedType> > create(ExecutionContext*, PassHolderType, Name); | 55 static PassRefPtrWillBeRawPtr<ScriptPromiseProperty<HolderType, ResolvedType
, RejectedType> > create(ExecutionContext*, PassHolderType, Name); |
| 56 | 56 |
| 57 virtual ~ScriptPromiseProperty() { } | 57 virtual ~ScriptPromiseProperty() { } |
| 58 | 58 |
| 59 template<typename PassResolvedType> | 59 template<typename PassResolvedType> |
| 60 void resolve(PassResolvedType); | 60 void resolve(PassResolvedType); |
| 61 | 61 |
| 62 template<typename PassRejectedType> | 62 template<typename PassRejectedType> |
| 63 void reject(PassRejectedType); | 63 void reject(PassRejectedType); |
| 64 | 64 |
| 65 virtual void trace(Visitor*) OVERRIDE; |
| 66 |
| 65 private: | 67 private: |
| 66 template<typename PassHolderType> | 68 template<typename PassHolderType> |
| 67 ScriptPromiseProperty(ExecutionContext*, PassHolderType, Name); | 69 ScriptPromiseProperty(ExecutionContext*, PassHolderType, Name); |
| 68 | 70 |
| 69 virtual v8::Handle<v8::Object> holder(v8::Handle<v8::Object> creationContext
, v8::Isolate*) OVERRIDE; | 71 virtual v8::Handle<v8::Object> holder(v8::Handle<v8::Object> creationContext
, v8::Isolate*) OVERRIDE; |
| 70 virtual v8::Handle<v8::Value> resolvedValue(v8::Handle<v8::Object> creationC
ontext, v8::Isolate*) OVERRIDE; | 72 virtual v8::Handle<v8::Value> resolvedValue(v8::Handle<v8::Object> creationC
ontext, v8::Isolate*) OVERRIDE; |
| 71 virtual v8::Handle<v8::Value> rejectedValue(v8::Handle<v8::Object> creationC
ontext, v8::Isolate*) OVERRIDE; | 73 virtual v8::Handle<v8::Value> rejectedValue(v8::Handle<v8::Object> creationC
ontext, v8::Isolate*) OVERRIDE; |
| 72 | 74 |
| 73 HolderType m_holder; | 75 HolderType m_holder; |
| 74 ResolvedType m_resolved; | 76 ResolvedType m_resolved; |
| 75 RejectedType m_rejected; | 77 RejectedType m_rejected; |
| 76 }; | 78 }; |
| 77 | 79 |
| 78 template<typename HolderType, typename ResolvedType, typename RejectedType> | 80 template<typename HolderType, typename ResolvedType, typename RejectedType> |
| 79 template<typename PassHolderType> | 81 template<typename PassHolderType> |
| 80 PassRefPtrWillBeRawPtr<ScriptPromiseProperty<HolderType, ResolvedType, RejectedT
ype> > ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::create(Exe
cutionContext* executionContext, PassHolderType holder, Name name) | 82 PassRefPtrWillBeRawPtr<ScriptPromiseProperty<HolderType, ResolvedType, RejectedT
ype> > ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::create(Exe
cutionContext* executionContext, PassHolderType holder, Name name) |
| 81 { | 83 { |
| 82 return adoptRef(new ScriptPromiseProperty<HolderType, ResolvedType, Rejected
Type>(executionContext, holder, name)); | 84 return adoptRefWillBeRefCountedGarbageCollected(new ScriptPromiseProperty<Ho
lderType, ResolvedType, RejectedType>(executionContext, holder, name)); |
| 83 } | 85 } |
| 84 | 86 |
| 85 template<typename HolderType, typename ResolvedType, typename RejectedType> | 87 template<typename HolderType, typename ResolvedType, typename RejectedType> |
| 86 template<typename PassHolderType> | 88 template<typename PassHolderType> |
| 87 ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::ScriptPromiseProp
erty(ExecutionContext* executionContext, PassHolderType holder, Name name) | 89 ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::ScriptPromiseProp
erty(ExecutionContext* executionContext, PassHolderType holder, Name name) |
| 88 : ScriptPromisePropertyBase(executionContext, name) | 90 : ScriptPromisePropertyBase(executionContext, name) |
| 89 , m_holder(holder) | 91 , m_holder(holder) |
| 90 { | 92 { |
| 91 } | 93 } |
| 92 | 94 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 132 return V8ValueTraits<ResolvedType>::toV8Value(m_resolved, creationContext, i
solate); | 134 return V8ValueTraits<ResolvedType>::toV8Value(m_resolved, creationContext, i
solate); |
| 133 } | 135 } |
| 134 | 136 |
| 135 template<typename HolderType, typename ResolvedType, typename RejectedType> | 137 template<typename HolderType, typename ResolvedType, typename RejectedType> |
| 136 v8::Handle<v8::Value> ScriptPromiseProperty<HolderType, ResolvedType, RejectedTy
pe>::rejectedValue(v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) | 138 v8::Handle<v8::Value> ScriptPromiseProperty<HolderType, ResolvedType, RejectedTy
pe>::rejectedValue(v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) |
| 137 { | 139 { |
| 138 ASSERT(state() == Rejected); | 140 ASSERT(state() == Rejected); |
| 139 return V8ValueTraits<RejectedType>::toV8Value(m_rejected, creationContext, i
solate); | 141 return V8ValueTraits<RejectedType>::toV8Value(m_rejected, creationContext, i
solate); |
| 140 } | 142 } |
| 141 | 143 |
| 144 template<typename HolderType, typename ResolvedType, typename RejectedType> |
| 145 void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::trace(Visito
r* visitor) |
| 146 { |
| 147 visitor->trace(m_holder); |
| 148 ScriptPromisePropertyBase::trace(visitor); |
| 149 } |
| 150 |
| 142 } // namespace WebCore | 151 } // namespace WebCore |
| 143 | 152 |
| 144 #endif // ScriptPromiseProperty_h | 153 #endif // ScriptPromiseProperty_h |
| OLD | NEW |