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

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

Issue 793913002: Stub implementation for PushRegistration.unregister(). (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@mvan_6
Patch Set: remove trace Created 6 years 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
« no previous file with comments | « LayoutTests/http/tests/push_messaging/unregister.html ('k') | Source/modules/modules.gypi » ('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 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 // Now when calling into a WebKit API that requires a WebCallbacks<blink::WebMyC lass, blink::WebMyClass>*: 70 // Now when calling into a WebKit API that requires a WebCallbacks<blink::WebMyC lass, blink::WebMyClass>*:
71 // 71 //
72 // // call signature: callSomeMethod(WebCallbacks<MyClass, MyClass>* callback s) 72 // // call signature: callSomeMethod(WebCallbacks<MyClass, MyClass>* callback s)
73 // webObject->callSomeMethod(new CallbackPromiseAdapter<MyClass, MyClass>(res olver, scriptExecutionContext)); 73 // webObject->callSomeMethod(new CallbackPromiseAdapter<MyClass, MyClass>(res olver, scriptExecutionContext));
74 // 74 //
75 // Note that this class does not manage its own lifetime. In this 75 // Note that this class does not manage its own lifetime. In this
76 // example that ownership of the WebCallbacks instance is being passed 76 // example that ownership of the WebCallbacks instance is being passed
77 // in and it is up to the callee to free the WebCallbacks instace. 77 // in and it is up to the callee to free the WebCallbacks instace.
78 template<typename S, typename T> 78 template<typename S, typename T>
79 class CallbackPromiseAdapter final : public blink::WebCallbacks<typename S::WebT ype, typename T::WebType> { 79 class CallbackPromiseAdapter final : public blink::WebCallbacks<typename S::WebT ype, typename T::WebType> {
80 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
80 public: 81 public:
81 explicit CallbackPromiseAdapter(PassRefPtr<ScriptPromiseResolver> resolver) 82 explicit CallbackPromiseAdapter(PassRefPtr<ScriptPromiseResolver> resolver)
82 : m_resolver(resolver) 83 : m_resolver(resolver)
83 { 84 {
84 ASSERT(m_resolver); 85 ASSERT(m_resolver);
85 } 86 }
86 virtual ~CallbackPromiseAdapter() { } 87 virtual ~CallbackPromiseAdapter() { }
87 88
88 virtual void onSuccess(typename S::WebType* result) override 89 virtual void onSuccess(typename S::WebType* result) override
89 { 90 {
90 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) { 91 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) {
91 S::dispose(result); 92 S::dispose(result);
92 return; 93 return;
93 } 94 }
94 m_resolver->resolve(S::take(m_resolver.get(), result)); 95 m_resolver->resolve(S::take(m_resolver.get(), result));
95 } 96 }
96 97
97 virtual void onError(typename T::WebType* error) override 98 virtual void onError(typename T::WebType* error) override
98 { 99 {
99 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) { 100 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) {
100 T::dispose(error); 101 T::dispose(error);
101 return; 102 return;
102 } 103 }
103 m_resolver->reject(T::take(m_resolver.get(), error)); 104 m_resolver->reject(T::take(m_resolver.get(), error));
104 } 105 }
105 106
106 private: 107 private:
107 RefPtr<ScriptPromiseResolver> m_resolver; 108 RefPtr<ScriptPromiseResolver> m_resolver;
108 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
109 }; 109 };
110 110
111 template<typename T> 111 template<typename T>
112 class CallbackPromiseAdapter<void, T> final : public blink::WebCallbacks<void, t ypename T::WebType> { 112 class CallbackPromiseAdapter<void, T> final : public blink::WebCallbacks<void, t ypename T::WebType> {
113 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
113 public: 114 public:
114 explicit CallbackPromiseAdapter(PassRefPtr<ScriptPromiseResolver> resolver) 115 explicit CallbackPromiseAdapter(PassRefPtr<ScriptPromiseResolver> resolver)
115 : m_resolver(resolver) 116 : m_resolver(resolver)
116 { 117 {
117 ASSERT(m_resolver); 118 ASSERT(m_resolver);
118 } 119 }
119 virtual ~CallbackPromiseAdapter() { } 120 virtual ~CallbackPromiseAdapter() { }
120 121
121 virtual void onSuccess() override 122 virtual void onSuccess() override
122 { 123 {
123 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 124 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
124 return; 125 return;
125 m_resolver->resolve(); 126 m_resolver->resolve();
126 } 127 }
127 128
128 virtual void onError(typename T::WebType* error) override 129 virtual void onError(typename T::WebType* error) override
129 { 130 {
130 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) { 131 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) {
131 T::dispose(error); 132 T::dispose(error);
132 return; 133 return;
133 } 134 }
134 m_resolver->reject(T::take(m_resolver.get(), error)); 135 m_resolver->reject(T::take(m_resolver.get(), error));
135 } 136 }
136 137
137 private: 138 private:
138 RefPtr<ScriptPromiseResolver> m_resolver; 139 RefPtr<ScriptPromiseResolver> m_resolver;
139 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
140 }; 140 };
141 141
142 template<typename T> 142 template<typename T>
143 class CallbackPromiseAdapter<bool, T> final : public blink::WebCallbacks<bool, t ypename T::WebType> { 143 class CallbackPromiseAdapter<bool, T> final : public blink::WebCallbacks<bool, t ypename T::WebType> {
144 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
144 public: 145 public:
145 explicit CallbackPromiseAdapter(PassRefPtr<ScriptPromiseResolver> resolver) 146 explicit CallbackPromiseAdapter(PassRefPtr<ScriptPromiseResolver> resolver)
146 : m_resolver(resolver) 147 : m_resolver(resolver)
147 { 148 {
148 ASSERT(m_resolver); 149 ASSERT(m_resolver);
149 } 150 }
150 virtual ~CallbackPromiseAdapter() { } 151 virtual ~CallbackPromiseAdapter() { }
151 152
152 virtual void onSuccess(bool* result) override 153 virtual void onSuccess(bool* result) override
153 { 154 {
154 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 155 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
155 return; 156 return;
156 m_resolver->resolve(*result); 157 m_resolver->resolve(*result);
157 } 158 }
158 159
159 virtual void onError(typename T::WebType* error) override 160 virtual void onError(typename T::WebType* error) override
160 { 161 {
161 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) { 162 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) {
162 T::dispose(error); 163 T::dispose(error);
163 return; 164 return;
164 } 165 }
165 m_resolver->reject(T::take(m_resolver.get(), error)); 166 m_resolver->reject(T::take(m_resolver.get(), error));
166 } 167 }
167 168
168 private: 169 private:
169 RefPtr<ScriptPromiseResolver> m_resolver; 170 RefPtr<ScriptPromiseResolver> m_resolver;
170 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
171 }; 171 };
172 172
173 template<> 173 template<>
174 class CallbackPromiseAdapter<void, void> final : public blink::WebCallbacks<void , void> { 174 class CallbackPromiseAdapter<void, void> final : public blink::WebCallbacks<void , void> {
175 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
175 public: 176 public:
176 explicit CallbackPromiseAdapter(PassRefPtr<ScriptPromiseResolver> resolver) 177 explicit CallbackPromiseAdapter(PassRefPtr<ScriptPromiseResolver> resolver)
177 : m_resolver(resolver) 178 : m_resolver(resolver)
178 { 179 {
179 ASSERT(m_resolver); 180 ASSERT(m_resolver);
180 } 181 }
181 virtual ~CallbackPromiseAdapter() { } 182 virtual ~CallbackPromiseAdapter() { }
182 183
183 virtual void onSuccess() override 184 virtual void onSuccess() override
184 { 185 {
185 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 186 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
186 return; 187 return;
187 m_resolver->resolve(); 188 m_resolver->resolve();
188 } 189 }
189 190
190 virtual void onError() override 191 virtual void onError() override
191 { 192 {
192 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped()) 193 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
193 return; 194 return;
194 m_resolver->reject(); 195 m_resolver->reject();
195 } 196 }
196 197
197 private: 198 private:
198 RefPtr<ScriptPromiseResolver> m_resolver; 199 RefPtr<ScriptPromiseResolver> m_resolver;
200 };
201
202 template<>
203 class CallbackPromiseAdapter<bool, void> final : public blink::WebCallbacks<bool , void> {
199 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter); 204 WTF_MAKE_NONCOPYABLE(CallbackPromiseAdapter);
205 public:
206 explicit CallbackPromiseAdapter(PassRefPtr<ScriptPromiseResolver> resolver)
207 : m_resolver(resolver)
208 {
209 ASSERT(m_resolver);
210 }
211 virtual ~CallbackPromiseAdapter() { }
212
213 virtual void onSuccess(bool* result) override
214 {
215 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
216 return;
217 m_resolver->resolve(*result);
218 }
219
220 virtual void onError() override
221 {
222 if (!m_resolver->executionContext() || m_resolver->executionContext()->a ctiveDOMObjectsAreStopped())
223 return;
224 m_resolver->reject();
225 }
226
227 private:
228 RefPtr<ScriptPromiseResolver> m_resolver;
200 }; 229 };
201 230
202 } // namespace blink 231 } // namespace blink
203 232
204 #endif 233 #endif
OLDNEW
« no previous file with comments | « LayoutTests/http/tests/push_messaging/unregister.html ('k') | Source/modules/modules.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698