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

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

Issue 1236473002: Fix virtual/override/final usage in Source/bindings/. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 5 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | Source/bindings/core/v8/ExceptionState.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2013 Google Inc. All rights reserved. 2 * Copyright (C) 2013 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 // - onSuccess and onError take ownership of the given WebType instance. 74 // - onSuccess and onError take ownership of the given WebType instance.
75 template<typename S, typename T> 75 template<typename S, typename T>
76 class CallbackPromiseAdapter final : public WebCallbacks<typename S::WebType, ty pename T::WebType> { 76 class CallbackPromiseAdapter final : public WebCallbacks<typename S::WebType, ty pename T::WebType> {
77 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter); 77 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
78 public: 78 public:
79 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver) 79 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver)
80 : m_resolver(resolver) 80 : m_resolver(resolver)
81 { 81 {
82 ASSERT(m_resolver); 82 ASSERT(m_resolver);
83 } 83 }
84 virtual ~CallbackPromiseAdapter() { } 84 ~CallbackPromiseAdapter() override { }
85 85
86 // Takes ownership of |result|. 86 // Takes ownership of |result|.
87 virtual void onSuccess(typename S::WebType* result) override 87 void onSuccess(typename S::WebType* result) override
88 { 88 {
89 OwnPtr<typename S::WebType> ownPtr = adoptPtr(result); 89 OwnPtr<typename S::WebType> ownPtr = adoptPtr(result);
90 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 90 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
91 return; 91 return;
92 if (!result) { 92 if (!result) {
93 m_resolver->resolve(v8::Null(m_resolver->scriptState()->isolate())); 93 m_resolver->resolve(v8::Null(m_resolver->scriptState()->isolate()));
94 return; 94 return;
95 } 95 }
96 m_resolver->resolve(S::take(m_resolver.get(), ownPtr.release())); 96 m_resolver->resolve(S::take(m_resolver.get(), ownPtr.release()));
97 } 97 }
98 98
99 // Takes ownership of |error|. 99 // Takes ownership of |error|.
100 virtual void onError(typename T::WebType* error) override 100 void onError(typename T::WebType* error) override
101 { 101 {
102 OwnPtr<typename T::WebType> ownPtr = adoptPtr(error); 102 OwnPtr<typename T::WebType> ownPtr = adoptPtr(error);
103 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 103 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
104 return; 104 return;
105 m_resolver->reject(T::take(m_resolver.get(), ownPtr.release())); 105 m_resolver->reject(T::take(m_resolver.get(), ownPtr.release()));
106 } 106 }
107 107
108 private: 108 private:
109 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver; 109 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver;
110 }; 110 };
111 111
112 template<typename T> 112 template<typename T>
113 class CallbackPromiseAdapter<void, T> final : public WebCallbacks<void, typename T::WebType> { 113 class CallbackPromiseAdapter<void, T> final : public WebCallbacks<void, typename T::WebType> {
114 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter); 114 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
115 public: 115 public:
116 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver) 116 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver)
117 : m_resolver(resolver) 117 : m_resolver(resolver)
118 { 118 {
119 ASSERT(m_resolver); 119 ASSERT(m_resolver);
120 } 120 }
121 virtual ~CallbackPromiseAdapter() { } 121 ~CallbackPromiseAdapter() override { }
122 122
123 virtual void onSuccess() override 123 void onSuccess() override
124 { 124 {
125 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 125 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
126 return; 126 return;
127 m_resolver->resolve(); 127 m_resolver->resolve();
128 } 128 }
129 129
130 // Takes ownership of |error|. 130 // Takes ownership of |error|.
131 virtual void onError(typename T::WebType* error) override 131 void onError(typename T::WebType* error) override
132 { 132 {
133 OwnPtr<typename T::WebType> ownPtr = adoptPtr(error); 133 OwnPtr<typename T::WebType> ownPtr = adoptPtr(error);
134 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 134 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
135 return; 135 return;
136 m_resolver->reject(T::take(m_resolver.get(), ownPtr.release())); 136 m_resolver->reject(T::take(m_resolver.get(), ownPtr.release()));
137 } 137 }
138 138
139 private: 139 private:
140 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver; 140 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver;
141 }; 141 };
142 142
143 template<typename S> 143 template<typename S>
144 class CallbackPromiseAdapter<S, void> final : public WebCallbacks<typename S::We bType, void> { 144 class CallbackPromiseAdapter<S, void> final : public WebCallbacks<typename S::We bType, void> {
145 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter); 145 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
146 public: 146 public:
147 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver) 147 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver)
148 : m_resolver(resolver) 148 : m_resolver(resolver)
149 { 149 {
150 ASSERT(m_resolver); 150 ASSERT(m_resolver);
151 } 151 }
152 virtual ~CallbackPromiseAdapter() { } 152 ~CallbackPromiseAdapter() override { }
153 153
154 // Takes ownership of |result|. 154 // Takes ownership of |result|.
155 virtual void onSuccess(typename S::WebType* result) override 155 void onSuccess(typename S::WebType* result) override
156 { 156 {
157 OwnPtr<typename S::WebType> ownPtr = adoptPtr(result); 157 OwnPtr<typename S::WebType> ownPtr = adoptPtr(result);
158 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 158 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
159 return; 159 return;
160 m_resolver->resolve(S::take(m_resolver.get(), ownPtr.release())); 160 m_resolver->resolve(S::take(m_resolver.get(), ownPtr.release()));
161 } 161 }
162 162
163 virtual void onError() override 163 void onError() override
164 { 164 {
165 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 165 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
166 return; 166 return;
167 m_resolver->reject(); 167 m_resolver->reject();
168 } 168 }
169 169
170 private: 170 private:
171 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver; 171 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver;
172 }; 172 };
173 173
174 template<typename T> 174 template<typename T>
175 class CallbackPromiseAdapter<bool, T> final : public WebCallbacks<bool, typename T::WebType> { 175 class CallbackPromiseAdapter<bool, T> final : public WebCallbacks<bool, typename T::WebType> {
176 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter); 176 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
177 public: 177 public:
178 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver) 178 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver)
179 : m_resolver(resolver) 179 : m_resolver(resolver)
180 { 180 {
181 ASSERT(m_resolver); 181 ASSERT(m_resolver);
182 } 182 }
183 virtual ~CallbackPromiseAdapter() { } 183 ~CallbackPromiseAdapter() override { }
184 184
185 // TODO(nhiroki): onSuccess should take ownership of a bool object for 185 // TODO(nhiroki): onSuccess should take ownership of a bool object for
186 // consistency. (http://crbug.com/493531) 186 // consistency. (http://crbug.com/493531)
187 virtual void onSuccess(bool* result) override 187 void onSuccess(bool* result) override
188 { 188 {
189 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 189 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
190 return; 190 return;
191 m_resolver->resolve(*result); 191 m_resolver->resolve(*result);
192 } 192 }
193 193
194 // Takes ownership of |error|. 194 // Takes ownership of |error|.
195 virtual void onError(typename T::WebType* error) override 195 void onError(typename T::WebType* error) override
196 { 196 {
197 OwnPtr<typename T::WebType> ownPtr = adoptPtr(error); 197 OwnPtr<typename T::WebType> ownPtr = adoptPtr(error);
198 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 198 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
199 return; 199 return;
200 m_resolver->reject(T::take(m_resolver.get(), ownPtr.release())); 200 m_resolver->reject(T::take(m_resolver.get(), ownPtr.release()));
201 } 201 }
202 202
203 private: 203 private:
204 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver; 204 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver;
205 }; 205 };
206 206
207 template<> 207 template<>
208 class CallbackPromiseAdapter<void, void> final : public WebCallbacks<void, void> { 208 class CallbackPromiseAdapter<void, void> final : public WebCallbacks<void, void> {
209 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter); 209 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
210 public: 210 public:
211 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver) 211 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver)
212 : m_resolver(resolver) 212 : m_resolver(resolver)
213 { 213 {
214 ASSERT(m_resolver); 214 ASSERT(m_resolver);
215 } 215 }
216 virtual ~CallbackPromiseAdapter() { } 216 ~CallbackPromiseAdapter() override { }
217 217
218 virtual void onSuccess() override 218 void onSuccess() override
219 { 219 {
220 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 220 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
221 return; 221 return;
222 m_resolver->resolve(); 222 m_resolver->resolve();
223 } 223 }
224 224
225 virtual void onError() override 225 void onError() override
226 { 226 {
227 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 227 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
228 return; 228 return;
229 m_resolver->reject(); 229 m_resolver->reject();
230 } 230 }
231 231
232 private: 232 private:
233 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver; 233 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver;
234 }; 234 };
235 235
236 template<> 236 template<>
237 class CallbackPromiseAdapter<bool, void> final : public WebCallbacks<bool, void> { 237 class CallbackPromiseAdapter<bool, void> final : public WebCallbacks<bool, void> {
238 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter); 238 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
239 public: 239 public:
240 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver) 240 explicit CallbackPromiseAdapter(PassRefPtrWillBeRawPtr<ScriptPromiseResolver > resolver)
241 : m_resolver(resolver) 241 : m_resolver(resolver)
242 { 242 {
243 ASSERT(m_resolver); 243 ASSERT(m_resolver);
244 } 244 }
245 virtual ~CallbackPromiseAdapter() { } 245 ~CallbackPromiseAdapter() override { }
246 246
247 // TODO(nhiroki): onSuccess should take ownership of a bool object for 247 // TODO(nhiroki): onSuccess should take ownership of a bool object for
248 // consistency. (http://crbug.com/493531) 248 // consistency. (http://crbug.com/493531)
249 virtual void onSuccess(bool* result) override 249 void onSuccess(bool* result) override
250 { 250 {
251 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 251 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
252 return; 252 return;
253 m_resolver->resolve(*result); 253 m_resolver->resolve(*result);
254 } 254 }
255 255
256 virtual void onError() override 256 void onError() override
257 { 257 {
258 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 258 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
259 return; 259 return;
260 m_resolver->reject(); 260 m_resolver->reject();
261 } 261 }
262 262
263 private: 263 private:
264 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver; 264 RefPtrWillBePersistent<ScriptPromiseResolver> m_resolver;
265 }; 265 };
266 266
267 } // namespace blink 267 } // namespace blink
268 268
269 #endif 269 #endif
OLDNEW
« no previous file with comments | « no previous file | Source/bindings/core/v8/ExceptionState.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698