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

Side by Side Diff: chrome/browser/push_messaging/push_messaging_notification_manager.cc

Issue 2828663002: Rewrite base::Bind to base::BindOnce with base_bind_rewriters in //chrome/browser/{i,l,m,n,p,r}* (Closed)
Patch Set: Created 3 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "chrome/browser/push_messaging/push_messaging_notification_manager.h" 5 #include "chrome/browser/push_messaging/push_messaging_notification_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <bitset> 9 #include <bitset>
10 10
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 const GURL& origin, 97 const GURL& origin,
98 int64_t service_worker_registration_id, 98 int64_t service_worker_registration_id,
99 const base::Closure& message_handled_closure) { 99 const base::Closure& message_handled_closure) {
100 DCHECK_CURRENTLY_ON(BrowserThread::UI); 100 DCHECK_CURRENTLY_ON(BrowserThread::UI);
101 // TODO(johnme): Relax this heuristic slightly. 101 // TODO(johnme): Relax this heuristic slightly.
102 scoped_refptr<PlatformNotificationContext> notification_context = 102 scoped_refptr<PlatformNotificationContext> notification_context =
103 GetStoragePartition(profile_, origin)->GetPlatformNotificationContext(); 103 GetStoragePartition(profile_, origin)->GetPlatformNotificationContext();
104 104
105 BrowserThread::PostTask( 105 BrowserThread::PostTask(
106 BrowserThread::IO, FROM_HERE, 106 BrowserThread::IO, FROM_HERE,
107 base::Bind( 107 base::BindOnce(
108 &PlatformNotificationContext:: 108 &PlatformNotificationContext::
109 ReadAllNotificationDataForServiceWorkerRegistration, 109 ReadAllNotificationDataForServiceWorkerRegistration,
110 notification_context, origin, service_worker_registration_id, 110 notification_context, origin, service_worker_registration_id,
111 base::Bind(&PushMessagingNotificationManager:: 111 base::Bind(&PushMessagingNotificationManager::
112 DidGetNotificationsFromDatabaseIOProxy, 112 DidGetNotificationsFromDatabaseIOProxy,
113 weak_factory_.GetWeakPtr(), origin, 113 weak_factory_.GetWeakPtr(), origin,
114 service_worker_registration_id, message_handled_closure))); 114 service_worker_registration_id, message_handled_closure)));
115 } 115 }
116 116
117 // static 117 // static
118 void PushMessagingNotificationManager::DidGetNotificationsFromDatabaseIOProxy( 118 void PushMessagingNotificationManager::DidGetNotificationsFromDatabaseIOProxy(
119 const base::WeakPtr<PushMessagingNotificationManager>& ui_weak_ptr, 119 const base::WeakPtr<PushMessagingNotificationManager>& ui_weak_ptr,
120 const GURL& origin, 120 const GURL& origin,
121 int64_t service_worker_registration_id, 121 int64_t service_worker_registration_id,
122 const base::Closure& message_handled_closure, 122 const base::Closure& message_handled_closure,
123 bool success, 123 bool success,
124 const std::vector<NotificationDatabaseData>& data) { 124 const std::vector<NotificationDatabaseData>& data) {
125 DCHECK_CURRENTLY_ON(BrowserThread::IO); 125 DCHECK_CURRENTLY_ON(BrowserThread::IO);
126 BrowserThread::PostTask( 126 BrowserThread::PostTask(
127 BrowserThread::UI, FROM_HERE, 127 BrowserThread::UI, FROM_HERE,
128 base::Bind( 128 base::BindOnce(
129 &PushMessagingNotificationManager::DidGetNotificationsFromDatabase, 129 &PushMessagingNotificationManager::DidGetNotificationsFromDatabase,
130 ui_weak_ptr, origin, service_worker_registration_id, 130 ui_weak_ptr, origin, service_worker_registration_id,
131 message_handled_closure, success, data)); 131 message_handled_closure, success, data));
132 } 132 }
133 133
134 void PushMessagingNotificationManager::DidGetNotificationsFromDatabase( 134 void PushMessagingNotificationManager::DidGetNotificationsFromDatabase(
135 const GURL& origin, 135 const GURL& origin,
136 int64_t service_worker_registration_id, 136 int64_t service_worker_registration_id,
137 const base::Closure& message_handled_closure, 137 const base::Closure& message_handled_closure,
138 bool success, 138 bool success,
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 269
270 // The site failed to show a notification when one was needed, and they don't 270 // The site failed to show a notification when one was needed, and they don't
271 // have enough budget to cover the cost of suppressing, so we will show a 271 // have enough budget to cover the cost of suppressing, so we will show a
272 // generic notification. 272 // generic notification.
273 NotificationDatabaseData database_data = 273 NotificationDatabaseData database_data =
274 CreateDatabaseData(origin, service_worker_registration_id); 274 CreateDatabaseData(origin, service_worker_registration_id);
275 scoped_refptr<PlatformNotificationContext> notification_context = 275 scoped_refptr<PlatformNotificationContext> notification_context =
276 GetStoragePartition(profile_, origin)->GetPlatformNotificationContext(); 276 GetStoragePartition(profile_, origin)->GetPlatformNotificationContext();
277 BrowserThread::PostTask( 277 BrowserThread::PostTask(
278 BrowserThread::IO, FROM_HERE, 278 BrowserThread::IO, FROM_HERE,
279 base::Bind(&PlatformNotificationContext::WriteNotificationData, 279 base::BindOnce(&PlatformNotificationContext::WriteNotificationData,
280 notification_context, origin, database_data, 280 notification_context, origin, database_data,
281 base::Bind(&PushMessagingNotificationManager:: 281 base::Bind(&PushMessagingNotificationManager::
282 DidWriteNotificationDataIOProxy, 282 DidWriteNotificationDataIOProxy,
283 weak_factory_.GetWeakPtr(), origin, 283 weak_factory_.GetWeakPtr(), origin,
284 database_data.notification_data, 284 database_data.notification_data,
285 message_handled_closure))); 285 message_handled_closure)));
286 } 286 }
287 287
288 // static 288 // static
289 void PushMessagingNotificationManager::DidWriteNotificationDataIOProxy( 289 void PushMessagingNotificationManager::DidWriteNotificationDataIOProxy(
290 const base::WeakPtr<PushMessagingNotificationManager>& ui_weak_ptr, 290 const base::WeakPtr<PushMessagingNotificationManager>& ui_weak_ptr,
291 const GURL& origin, 291 const GURL& origin,
292 const PlatformNotificationData& notification_data, 292 const PlatformNotificationData& notification_data,
293 const base::Closure& message_handled_closure, 293 const base::Closure& message_handled_closure,
294 bool success, 294 bool success,
295 const std::string& notification_id) { 295 const std::string& notification_id) {
296 DCHECK_CURRENTLY_ON(BrowserThread::IO); 296 DCHECK_CURRENTLY_ON(BrowserThread::IO);
297 BrowserThread::PostTask( 297 BrowserThread::PostTask(
298 BrowserThread::UI, FROM_HERE, 298 BrowserThread::UI, FROM_HERE,
299 base::Bind(&PushMessagingNotificationManager::DidWriteNotificationData, 299 base::BindOnce(
300 ui_weak_ptr, origin, notification_data, 300 &PushMessagingNotificationManager::DidWriteNotificationData,
301 message_handled_closure, success, notification_id)); 301 ui_weak_ptr, origin, notification_data, message_handled_closure,
302 success, notification_id));
302 } 303 }
303 304
304 void PushMessagingNotificationManager::DidWriteNotificationData( 305 void PushMessagingNotificationManager::DidWriteNotificationData(
305 const GURL& origin, 306 const GURL& origin,
306 const PlatformNotificationData& notification_data, 307 const PlatformNotificationData& notification_data,
307 const base::Closure& message_handled_closure, 308 const base::Closure& message_handled_closure,
308 bool success, 309 bool success,
309 const std::string& notification_id) { 310 const std::string& notification_id) {
310 DCHECK_CURRENTLY_ON(BrowserThread::UI); 311 DCHECK_CURRENTLY_ON(BrowserThread::UI);
311 if (!success) { 312 if (!success) {
312 DLOG(ERROR) << "Writing forced notification to database should not fail"; 313 DLOG(ERROR) << "Writing forced notification to database should not fail";
313 message_handled_closure.Run(); 314 message_handled_closure.Run();
314 return; 315 return;
315 } 316 }
316 317
317 // Do not pass service worker scope. The origin will be used instead of the 318 // Do not pass service worker scope. The origin will be used instead of the
318 // service worker scope to determine whether a notification should be 319 // service worker scope to determine whether a notification should be
319 // attributed to a WebAPK on Android. This is OK because this code path is hit 320 // attributed to a WebAPK on Android. This is OK because this code path is hit
320 // rarely. 321 // rarely.
321 PlatformNotificationServiceImpl::GetInstance()->DisplayPersistentNotification( 322 PlatformNotificationServiceImpl::GetInstance()->DisplayPersistentNotification(
322 profile_, notification_id, GURL() /* service_worker_scope */, origin, 323 profile_, notification_id, GURL() /* service_worker_scope */, origin,
323 notification_data, NotificationResources()); 324 notification_data, NotificationResources());
324 325
325 message_handled_closure.Run(); 326 message_handled_closure.Run();
326 } 327 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698