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 |