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

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

Issue 1129833003: Rename "register" -> "subscribe" in the Push Messaging code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@p-userVisible-tests
Patch Set: Created 5 years, 7 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 #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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 void PushProvider::subscribe( 68 void PushProvider::subscribe(
69 blink::WebServiceWorkerRegistration* service_worker_registration, 69 blink::WebServiceWorkerRegistration* service_worker_registration,
70 const blink::WebPushSubscriptionOptions& options, 70 const blink::WebPushSubscriptionOptions& options,
71 blink::WebPushSubscriptionCallbacks* callbacks) { 71 blink::WebPushSubscriptionCallbacks* callbacks) {
72 DCHECK(service_worker_registration); 72 DCHECK(service_worker_registration);
73 DCHECK(callbacks); 73 DCHECK(callbacks);
74 int request_id = push_dispatcher_->GenerateRequestId(CurrentWorkerId()); 74 int request_id = push_dispatcher_->GenerateRequestId(CurrentWorkerId());
75 subscription_callbacks_.AddWithID(callbacks, request_id); 75 subscription_callbacks_.AddWithID(callbacks, request_id);
76 int64 service_worker_registration_id = 76 int64 service_worker_registration_id =
77 GetServiceWorkerRegistrationId(service_worker_registration); 77 GetServiceWorkerRegistrationId(service_worker_registration);
78 thread_safe_sender_->Send(new PushMessagingHostMsg_RegisterFromWorker( 78 thread_safe_sender_->Send(new PushMessagingHostMsg_SubscribeFromWorker(
79 request_id, service_worker_registration_id, options.userVisibleOnly)); 79 request_id, service_worker_registration_id, options.userVisibleOnly));
80 } 80 }
81 81
82 void PushProvider::unsubscribe( 82 void PushProvider::unsubscribe(
83 blink::WebServiceWorkerRegistration* service_worker_registration, 83 blink::WebServiceWorkerRegistration* service_worker_registration,
84 blink::WebPushUnsubscribeCallbacks* callbacks) { 84 blink::WebPushUnsubscribeCallbacks* callbacks) {
85 DCHECK(service_worker_registration); 85 DCHECK(service_worker_registration);
86 DCHECK(callbacks); 86 DCHECK(callbacks);
87 87
88 int request_id = push_dispatcher_->GenerateRequestId(CurrentWorkerId()); 88 int request_id = push_dispatcher_->GenerateRequestId(CurrentWorkerId());
89 unsubscribe_callbacks_.AddWithID(callbacks, request_id); 89 unsubscribe_callbacks_.AddWithID(callbacks, request_id);
90 90
91 int64 service_worker_registration_id = 91 int64 service_worker_registration_id =
92 GetServiceWorkerRegistrationId(service_worker_registration); 92 GetServiceWorkerRegistrationId(service_worker_registration);
93 thread_safe_sender_->Send(new PushMessagingHostMsg_Unregister( 93 thread_safe_sender_->Send(new PushMessagingHostMsg_Unsubscribe(
94 request_id, service_worker_registration_id)); 94 request_id, service_worker_registration_id));
95 } 95 }
96 96
97 void PushProvider::getSubscription( 97 void PushProvider::getSubscription(
98 blink::WebServiceWorkerRegistration* service_worker_registration, 98 blink::WebServiceWorkerRegistration* service_worker_registration,
99 blink::WebPushSubscriptionCallbacks* callbacks) { 99 blink::WebPushSubscriptionCallbacks* callbacks) {
100 DCHECK(service_worker_registration); 100 DCHECK(service_worker_registration);
101 DCHECK(callbacks); 101 DCHECK(callbacks);
102 int request_id = push_dispatcher_->GenerateRequestId(CurrentWorkerId()); 102 int request_id = push_dispatcher_->GenerateRequestId(CurrentWorkerId());
103 subscription_callbacks_.AddWithID(callbacks, request_id); 103 subscription_callbacks_.AddWithID(callbacks, request_id);
104 int64 service_worker_registration_id = 104 int64 service_worker_registration_id =
105 GetServiceWorkerRegistrationId(service_worker_registration); 105 GetServiceWorkerRegistrationId(service_worker_registration);
106 thread_safe_sender_->Send(new PushMessagingHostMsg_GetRegistration( 106 thread_safe_sender_->Send(new PushMessagingHostMsg_GetSubscription(
107 request_id, service_worker_registration_id)); 107 request_id, service_worker_registration_id));
108 } 108 }
109 109
110 void PushProvider::getPermissionStatus( 110 void PushProvider::getPermissionStatus(
111 blink::WebServiceWorkerRegistration* service_worker_registration, 111 blink::WebServiceWorkerRegistration* service_worker_registration,
112 const blink::WebPushSubscriptionOptions& options, 112 const blink::WebPushSubscriptionOptions& options,
113 blink::WebPushPermissionStatusCallbacks* callbacks) { 113 blink::WebPushPermissionStatusCallbacks* callbacks) {
114 DCHECK(service_worker_registration); 114 DCHECK(service_worker_registration);
115 DCHECK(callbacks); 115 DCHECK(callbacks);
116 int request_id = push_dispatcher_->GenerateRequestId(CurrentWorkerId()); 116 int request_id = push_dispatcher_->GenerateRequestId(CurrentWorkerId());
117 permission_status_callbacks_.AddWithID(callbacks, request_id); 117 permission_status_callbacks_.AddWithID(callbacks, request_id);
118 int64 service_worker_registration_id = 118 int64 service_worker_registration_id =
119 GetServiceWorkerRegistrationId(service_worker_registration); 119 GetServiceWorkerRegistrationId(service_worker_registration);
120 thread_safe_sender_->Send(new PushMessagingHostMsg_GetPermissionStatus( 120 thread_safe_sender_->Send(new PushMessagingHostMsg_GetPermissionStatus(
121 request_id, service_worker_registration_id, options.userVisibleOnly)); 121 request_id, service_worker_registration_id, options.userVisibleOnly));
122 } 122 }
123 123
124 bool PushProvider::OnMessageReceived(const IPC::Message& message) { 124 bool PushProvider::OnMessageReceived(const IPC::Message& message) {
125 bool handled = true; 125 bool handled = true;
126 IPC_BEGIN_MESSAGE_MAP(PushProvider, message) 126 IPC_BEGIN_MESSAGE_MAP(PushProvider, message)
127 IPC_MESSAGE_HANDLER(PushMessagingMsg_RegisterFromWorkerSuccess, 127 IPC_MESSAGE_HANDLER(PushMessagingMsg_SubscribeFromWorkerSuccess,
128 OnRegisterFromWorkerSuccess); 128 OnSubscribeFromWorkerSuccess);
129 IPC_MESSAGE_HANDLER(PushMessagingMsg_RegisterFromWorkerError, 129 IPC_MESSAGE_HANDLER(PushMessagingMsg_SubscribeFromWorkerError,
130 OnRegisterFromWorkerError); 130 OnSubscribeFromWorkerError);
131 IPC_MESSAGE_HANDLER(PushMessagingMsg_UnregisterSuccess, 131 IPC_MESSAGE_HANDLER(PushMessagingMsg_UnsubscribeSuccess,
132 OnUnregisterSuccess); 132 OnUnsubscribeSuccess);
133 IPC_MESSAGE_HANDLER(PushMessagingMsg_UnregisterError, 133 IPC_MESSAGE_HANDLER(PushMessagingMsg_UnsubscribeError,
134 OnUnregisterError); 134 OnUnsubscribeError);
135 IPC_MESSAGE_HANDLER(PushMessagingMsg_GetRegistrationSuccess, 135 IPC_MESSAGE_HANDLER(PushMessagingMsg_GetSubscriptionSuccess,
136 OnGetRegistrationSuccess); 136 OnGetSubscriptionSuccess);
137 IPC_MESSAGE_HANDLER(PushMessagingMsg_GetRegistrationError, 137 IPC_MESSAGE_HANDLER(PushMessagingMsg_GetSubscriptionError,
138 OnGetRegistrationError); 138 OnGetSubscriptionError);
139 IPC_MESSAGE_HANDLER(PushMessagingMsg_GetPermissionStatusSuccess, 139 IPC_MESSAGE_HANDLER(PushMessagingMsg_GetPermissionStatusSuccess,
140 OnGetPermissionStatusSuccess); 140 OnGetPermissionStatusSuccess);
141 IPC_MESSAGE_HANDLER(PushMessagingMsg_GetPermissionStatusError, 141 IPC_MESSAGE_HANDLER(PushMessagingMsg_GetPermissionStatusError,
142 OnGetPermissionStatusError); 142 OnGetPermissionStatusError);
143 IPC_MESSAGE_UNHANDLED(handled = false) 143 IPC_MESSAGE_UNHANDLED(handled = false)
144 IPC_END_MESSAGE_MAP() 144 IPC_END_MESSAGE_MAP()
145 145
146 return handled; 146 return handled;
147 } 147 }
148 148
149 void PushProvider::OnRegisterFromWorkerSuccess( 149 void PushProvider::OnSubscribeFromWorkerSuccess(
150 int request_id, 150 int request_id,
151 const GURL& endpoint, 151 const GURL& endpoint,
152 const std::string& registration_id) { 152 const std::string& subscription_id) {
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 scoped_ptr<blink::WebPushSubscription> subscription(
159 new blink::WebPushSubscription( 159 new blink::WebPushSubscription(
160 blink::WebString::fromUTF8(endpoint.spec()), 160 blink::WebString::fromUTF8(endpoint.spec()),
161 blink::WebString::fromUTF8(registration_id))); 161 blink::WebString::fromUTF8(subscription_id)));
162 callbacks->onSuccess(subscription.release()); 162 callbacks->onSuccess(subscription.release());
163 163
164 subscription_callbacks_.Remove(request_id); 164 subscription_callbacks_.Remove(request_id);
165 } 165 }
166 166
167 void PushProvider::OnRegisterFromWorkerError(int request_id, 167 void PushProvider::OnSubscribeFromWorkerError(int request_id,
168 PushRegistrationStatus status) { 168 PushSubscriptionStatus status) {
169 blink::WebPushSubscriptionCallbacks* callbacks = 169 blink::WebPushSubscriptionCallbacks* callbacks =
170 subscription_callbacks_.Lookup(request_id); 170 subscription_callbacks_.Lookup(request_id);
171 if (!callbacks) 171 if (!callbacks)
172 return; 172 return;
173 173
174 scoped_ptr<blink::WebPushError> error(new blink::WebPushError( 174 scoped_ptr<blink::WebPushError> error(new blink::WebPushError(
175 blink::WebPushError::ErrorTypeAbort, 175 blink::WebPushError::ErrorTypeAbort,
176 blink::WebString::fromUTF8(PushRegistrationStatusToString(status)))); 176 blink::WebString::fromUTF8(PushSubscriptionStatusToString(status))));
177 callbacks->onError(error.release()); 177 callbacks->onError(error.release());
178 178
179 subscription_callbacks_.Remove(request_id); 179 subscription_callbacks_.Remove(request_id);
180 } 180 }
181 181
182 void PushProvider::OnUnregisterSuccess(int request_id, bool did_unregister) { 182 void PushProvider::OnUnsubscribeSuccess(int request_id, bool did_unsubscribe) {
183 blink::WebPushUnsubscribeCallbacks* callbacks = 183 blink::WebPushUnsubscribeCallbacks* callbacks =
184 unsubscribe_callbacks_.Lookup(request_id); 184 unsubscribe_callbacks_.Lookup(request_id);
185 if (!callbacks) 185 if (!callbacks)
186 return; 186 return;
187 187
188 callbacks->onSuccess(&did_unregister); 188 callbacks->onSuccess(&did_unsubscribe);
189 189
190 unsubscribe_callbacks_.Remove(request_id); 190 unsubscribe_callbacks_.Remove(request_id);
191 } 191 }
192 192
193 void PushProvider::OnUnregisterError( 193 void PushProvider::OnUnsubscribeError(
194 int request_id, 194 int request_id,
195 blink::WebPushError::ErrorType error_type, 195 blink::WebPushError::ErrorType error_type,
196 const std::string& error_message) { 196 const std::string& error_message) {
197 blink::WebPushUnsubscribeCallbacks* callbacks = 197 blink::WebPushUnsubscribeCallbacks* callbacks =
198 unsubscribe_callbacks_.Lookup(request_id); 198 unsubscribe_callbacks_.Lookup(request_id);
199 if (!callbacks) 199 if (!callbacks)
200 return; 200 return;
201 201
202 scoped_ptr<blink::WebPushError> error(new blink::WebPushError( 202 scoped_ptr<blink::WebPushError> error(new blink::WebPushError(
203 error_type, blink::WebString::fromUTF8(error_message))); 203 error_type, blink::WebString::fromUTF8(error_message)));
204 callbacks->onError(error.release()); 204 callbacks->onError(error.release());
205 205
206 unsubscribe_callbacks_.Remove(request_id); 206 unsubscribe_callbacks_.Remove(request_id);
207 } 207 }
208 208
209 void PushProvider::OnGetRegistrationSuccess( 209 void PushProvider::OnGetSubscriptionSuccess(
210 int request_id, 210 int request_id,
211 const GURL& endpoint, 211 const GURL& endpoint,
212 const std::string& registration_id) { 212 const std::string& subscription_id) {
213 blink::WebPushSubscriptionCallbacks* callbacks = 213 blink::WebPushSubscriptionCallbacks* callbacks =
214 subscription_callbacks_.Lookup(request_id); 214 subscription_callbacks_.Lookup(request_id);
215 if (!callbacks) 215 if (!callbacks)
216 return; 216 return;
217 217
218 scoped_ptr<blink::WebPushSubscription> subscription( 218 scoped_ptr<blink::WebPushSubscription> subscription(
219 new blink::WebPushSubscription( 219 new blink::WebPushSubscription(
220 blink::WebString::fromUTF8(endpoint.spec()), 220 blink::WebString::fromUTF8(endpoint.spec()),
221 blink::WebString::fromUTF8(registration_id))); 221 blink::WebString::fromUTF8(subscription_id)));
222 callbacks->onSuccess(subscription.release()); 222 callbacks->onSuccess(subscription.release());
223 223
224 subscription_callbacks_.Remove(request_id); 224 subscription_callbacks_.Remove(request_id);
225 } 225 }
226 226
227 void PushProvider::OnGetRegistrationError( 227 void PushProvider::OnGetSubscriptionError(
228 int request_id, 228 int request_id,
229 PushGetRegistrationStatus status) { 229 PushGetSubscriptionStatus status) {
230 blink::WebPushSubscriptionCallbacks* callbacks = 230 blink::WebPushSubscriptionCallbacks* callbacks =
231 subscription_callbacks_.Lookup(request_id); 231 subscription_callbacks_.Lookup(request_id);
232 if (!callbacks) 232 if (!callbacks)
233 return; 233 return;
234 234
235 // We are only expecting an error if we can't find a registration. 235 // We are only expecting an error if we can't find a subscription.
236 callbacks->onSuccess(nullptr); 236 callbacks->onSuccess(nullptr);
237 237
238 subscription_callbacks_.Remove(request_id); 238 subscription_callbacks_.Remove(request_id);
239 } 239 }
240 240
241 void PushProvider::OnGetPermissionStatusSuccess( 241 void PushProvider::OnGetPermissionStatusSuccess(
242 int request_id, 242 int request_id,
243 blink::WebPushPermissionStatus status) { 243 blink::WebPushPermissionStatus status) {
244 blink::WebPushPermissionStatusCallbacks* callbacks = 244 blink::WebPushPermissionStatusCallbacks* callbacks =
245 permission_status_callbacks_.Lookup(request_id); 245 permission_status_callbacks_.Lookup(request_id);
(...skipping 10 matching lines...) Expand all
256 permission_status_callbacks_.Lookup(request_id); 256 permission_status_callbacks_.Lookup(request_id);
257 if (!callbacks) 257 if (!callbacks)
258 return; 258 return;
259 259
260 callbacks->onError(); 260 callbacks->onError();
261 261
262 permission_status_callbacks_.Remove(request_id); 262 permission_status_callbacks_.Remove(request_id);
263 } 263 }
264 264
265 } // namespace content 265 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698