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

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

Issue 1100223003: bindings: Add empty checks for toV8() (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 8 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
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 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 if (!executionContext() || executionContext()->activeDOMObjectsAreStopped()) 113 if (!executionContext() || executionContext()->activeDOMObjectsAreStopped())
114 return; 114 return;
115 m_rejected = value; 115 m_rejected = value;
116 resolveOrReject(Rejected); 116 resolveOrReject(Rejected);
117 } 117 }
118 118
119 template<typename HolderType, typename ResolvedType, typename RejectedType> 119 template<typename HolderType, typename ResolvedType, typename RejectedType>
120 v8::Handle<v8::Object> ScriptPromiseProperty<HolderType, ResolvedType, RejectedT ype>::holder(v8::Handle<v8::Object> creationContext, v8::Isolate* isolate) 120 v8::Handle<v8::Object> ScriptPromiseProperty<HolderType, ResolvedType, RejectedT ype>::holder(v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
121 { 121 {
122 v8::Handle<v8::Value> value = toV8(m_holder, creationContext, isolate); 122 v8::Handle<v8::Value> value = toV8(m_holder, creationContext, isolate);
123 if (value.IsEmpty())
124 return v8::Handle<v8::Object>();
123 return value.As<v8::Object>(); 125 return value.As<v8::Object>();
124 } 126 }
125 127
126 template<typename HolderType, typename ResolvedType, typename RejectedType> 128 template<typename HolderType, typename ResolvedType, typename RejectedType>
127 v8::Handle<v8::Value> ScriptPromiseProperty<HolderType, ResolvedType, RejectedTy pe>::resolvedValue(v8::Isolate* isolate, v8::Handle<v8::Object> creationContext) 129 v8::Handle<v8::Value> ScriptPromiseProperty<HolderType, ResolvedType, RejectedTy pe>::resolvedValue(v8::Isolate* isolate, v8::Handle<v8::Object> creationContext)
128 { 130 {
129 ASSERT(state() == Resolved); 131 ASSERT(state() == Resolved);
130 return toV8(m_resolved, creationContext, isolate); 132 return toV8(m_resolved, creationContext, isolate);
131 } 133 }
132 134
(...skipping 23 matching lines...) Expand all
156 { 158 {
157 TraceIfNeeded<HolderType>::trace(visitor, &m_holder); 159 TraceIfNeeded<HolderType>::trace(visitor, &m_holder);
158 TraceIfNeeded<ResolvedType>::trace(visitor, &m_resolved); 160 TraceIfNeeded<ResolvedType>::trace(visitor, &m_resolved);
159 TraceIfNeeded<RejectedType>::trace(visitor, &m_rejected); 161 TraceIfNeeded<RejectedType>::trace(visitor, &m_rejected);
160 ScriptPromisePropertyBase::trace(visitor); 162 ScriptPromisePropertyBase::trace(visitor);
161 } 163 }
162 164
163 } // namespace blink 165 } // namespace blink
164 166
165 #endif // ScriptPromiseProperty_h 167 #endif // ScriptPromiseProperty_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698