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

Side by Side Diff: content/child/push_messaging/push_provider.cc

Issue 1291023005: [PushMessaging] Use appopriate type parameters for WebCallbacks (2/3). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « no previous file | content/renderer/push_messaging/push_messaging_dispatcher.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "content/child/push_messaging/push_provider.h" 5 #include "content/child/push_messaging/push_provider.h"
6 6
7 #include "base/lazy_instance.h" 7 #include "base/lazy_instance.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/stl_util.h" 9 #include "base/stl_util.h"
10 #include "base/threading/thread_local.h" 10 #include "base/threading/thread_local.h"
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 148
149 void PushProvider::OnSubscribeFromWorkerSuccess( 149 void PushProvider::OnSubscribeFromWorkerSuccess(
150 int request_id, 150 int request_id,
151 const GURL& endpoint, 151 const GURL& endpoint,
152 const std::vector<uint8_t>& curve25519dh) { 152 const std::vector<uint8_t>& curve25519dh) {
153 blink::WebPushSubscriptionCallbacks* callbacks = 153 blink::WebPushSubscriptionCallbacks* callbacks =
154 subscription_callbacks_.Lookup(request_id); 154 subscription_callbacks_.Lookup(request_id);
155 if (!callbacks) 155 if (!callbacks)
156 return; 156 return;
157 157
158 scoped_ptr<blink::WebPushSubscription> subscription( 158 callbacks->onSuccess(blink::adoptWebPtr(
159 new blink::WebPushSubscription(endpoint, curve25519dh)); 159 new blink::WebPushSubscription(endpoint, curve25519dh)));
160 callbacks->onSuccess(subscription.release());
161 160
162 subscription_callbacks_.Remove(request_id); 161 subscription_callbacks_.Remove(request_id);
163 } 162 }
164 163
165 void PushProvider::OnSubscribeFromWorkerError(int request_id, 164 void PushProvider::OnSubscribeFromWorkerError(int request_id,
166 PushRegistrationStatus status) { 165 PushRegistrationStatus status) {
167 blink::WebPushSubscriptionCallbacks* callbacks = 166 blink::WebPushSubscriptionCallbacks* callbacks =
168 subscription_callbacks_.Lookup(request_id); 167 subscription_callbacks_.Lookup(request_id);
169 if (!callbacks) 168 if (!callbacks)
170 return; 169 return;
171 170
172 scoped_ptr<blink::WebPushError> error(new blink::WebPushError( 171 callbacks->onError(blink::WebPushError(
173 blink::WebPushError::ErrorTypeAbort, 172 blink::WebPushError::ErrorTypeAbort,
174 blink::WebString::fromUTF8(PushRegistrationStatusToString(status)))); 173 blink::WebString::fromUTF8(PushRegistrationStatusToString(status))));
175 callbacks->onError(error.release());
176 174
177 subscription_callbacks_.Remove(request_id); 175 subscription_callbacks_.Remove(request_id);
178 } 176 }
179 177
180 void PushProvider::OnUnsubscribeSuccess(int request_id, bool did_unsubscribe) { 178 void PushProvider::OnUnsubscribeSuccess(int request_id, bool did_unsubscribe) {
181 blink::WebPushUnsubscribeCallbacks* callbacks = 179 blink::WebPushUnsubscribeCallbacks* callbacks =
182 unsubscribe_callbacks_.Lookup(request_id); 180 unsubscribe_callbacks_.Lookup(request_id);
183 if (!callbacks) 181 if (!callbacks)
184 return; 182 return;
185 183
(...skipping 19 matching lines...) Expand all
205 203
206 void PushProvider::OnGetRegistrationSuccess( 204 void PushProvider::OnGetRegistrationSuccess(
207 int request_id, 205 int request_id,
208 const GURL& endpoint, 206 const GURL& endpoint,
209 const std::vector<uint8_t>& curve25519dh) { 207 const std::vector<uint8_t>& curve25519dh) {
210 blink::WebPushSubscriptionCallbacks* callbacks = 208 blink::WebPushSubscriptionCallbacks* callbacks =
211 subscription_callbacks_.Lookup(request_id); 209 subscription_callbacks_.Lookup(request_id);
212 if (!callbacks) 210 if (!callbacks)
213 return; 211 return;
214 212
215 scoped_ptr<blink::WebPushSubscription> subscription( 213 callbacks->onSuccess(blink::adoptWebPtr(
216 new blink::WebPushSubscription(endpoint, curve25519dh)); 214 new blink::WebPushSubscription(endpoint, curve25519dh)));
217 callbacks->onSuccess(subscription.release());
218 215
219 subscription_callbacks_.Remove(request_id); 216 subscription_callbacks_.Remove(request_id);
220 } 217 }
221 218
222 void PushProvider::OnGetRegistrationError( 219 void PushProvider::OnGetRegistrationError(
223 int request_id, 220 int request_id,
224 PushGetRegistrationStatus status) { 221 PushGetRegistrationStatus status) {
225 blink::WebPushSubscriptionCallbacks* callbacks = 222 blink::WebPushSubscriptionCallbacks* callbacks =
226 subscription_callbacks_.Lookup(request_id); 223 subscription_callbacks_.Lookup(request_id);
227 if (!callbacks) 224 if (!callbacks)
228 return; 225 return;
229 226
230 // We are only expecting an error if we can't find a registration. 227 // We are only expecting an error if we can't find a registration.
231 callbacks->onSuccess(nullptr); 228 callbacks->onSuccess(nullptr);
232 229
233 subscription_callbacks_.Remove(request_id); 230 subscription_callbacks_.Remove(request_id);
234 } 231 }
235 232
236 void PushProvider::OnGetPermissionStatusSuccess( 233 void PushProvider::OnGetPermissionStatusSuccess(
237 int request_id, 234 int request_id,
238 blink::WebPushPermissionStatus status) { 235 blink::WebPushPermissionStatus status) {
239 blink::WebPushPermissionStatusCallbacks* callbacks = 236 blink::WebPushPermissionStatusCallbacks* callbacks =
240 permission_status_callbacks_.Lookup(request_id); 237 permission_status_callbacks_.Lookup(request_id);
241 if (!callbacks) 238 if (!callbacks)
242 return; 239 return;
243 240
244 callbacks->onSuccess(&status); 241 callbacks->onSuccess(status);
245 242
246 permission_status_callbacks_.Remove(request_id); 243 permission_status_callbacks_.Remove(request_id);
247 } 244 }
248 245
249 void PushProvider::OnGetPermissionStatusError( 246 void PushProvider::OnGetPermissionStatusError(
250 int request_id, 247 int request_id,
251 blink::WebPushError::ErrorType error) { 248 blink::WebPushError::ErrorType error) {
252 blink::WebPushPermissionStatusCallbacks* callbacks = 249 blink::WebPushPermissionStatusCallbacks* callbacks =
253 permission_status_callbacks_.Lookup(request_id); 250 permission_status_callbacks_.Lookup(request_id);
254 if (!callbacks) 251 if (!callbacks)
255 return; 252 return;
256 253
257 std::string error_message; 254 std::string error_message;
258 if (error == blink::WebPushError::ErrorTypeNotSupported) { 255 if (error == blink::WebPushError::ErrorTypeNotSupported) {
259 error_message = 256 error_message =
260 "Push subscriptions that don't enable userVisibleOnly are not " 257 "Push subscriptions that don't enable userVisibleOnly are not "
261 "supported."; 258 "supported.";
262 } 259 }
263 260
264 scoped_ptr<blink::WebPushError> web_error(new blink::WebPushError( 261 callbacks->onError(blink::WebPushError(
265 error, blink::WebString::fromUTF8(error_message))); 262 error, blink::WebString::fromUTF8(error_message)));
266 263
267 callbacks->onError(web_error.release());
268
269 permission_status_callbacks_.Remove(request_id); 264 permission_status_callbacks_.Remove(request_id);
270 } 265 }
271 266
272 } // namespace content 267 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/renderer/push_messaging/push_messaging_dispatcher.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698