| OLD | NEW |
| 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/browser/notifications/notification_event_dispatcher_impl.h" | 5 #include "content/browser/notifications/notification_event_dispatcher_impl.h" |
| 6 | 6 |
| 7 #include "base/callback.h" | 7 #include "base/callback.h" |
| 8 #include "build/build_config.h" | 8 #include "build/build_config.h" |
| 9 #include "content/browser/notifications/platform_notification_context_impl.h" | 9 #include "content/browser/notifications/platform_notification_context_impl.h" |
| 10 #include "content/browser/service_worker/service_worker_context_wrapper.h" | 10 #include "content/browser/service_worker/service_worker_context_wrapper.h" |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 // Dispatches the notification click event on the |service_worker_registration|. | 221 // Dispatches the notification click event on the |service_worker_registration|. |
| 222 void DoDispatchNotificationClickEvent( | 222 void DoDispatchNotificationClickEvent( |
| 223 int action_index, | 223 int action_index, |
| 224 const NotificationDispatchCompleteCallback& dispatch_complete_callback, | 224 const NotificationDispatchCompleteCallback& dispatch_complete_callback, |
| 225 const scoped_refptr<PlatformNotificationContext>& notification_context, | 225 const scoped_refptr<PlatformNotificationContext>& notification_context, |
| 226 const ServiceWorkerRegistration* service_worker_registration, | 226 const ServiceWorkerRegistration* service_worker_registration, |
| 227 const NotificationDatabaseData& notification_database_data) { | 227 const NotificationDatabaseData& notification_database_data) { |
| 228 ServiceWorkerVersion::StatusCallback status_callback = base::Bind( | 228 ServiceWorkerVersion::StatusCallback status_callback = base::Bind( |
| 229 &ServiceWorkerNotificationEventFinished, dispatch_complete_callback); | 229 &ServiceWorkerNotificationEventFinished, dispatch_complete_callback); |
| 230 service_worker_registration->active_version()->RunAfterStartWorker( | 230 service_worker_registration->active_version()->RunAfterStartWorker( |
| 231 ServiceWorkerMetrics::EventType::NOTIFICATION_CLICK, |
| 231 base::Bind( | 232 base::Bind( |
| 232 &DispatchNotificationClickEventOnWorker, | 233 &DispatchNotificationClickEventOnWorker, |
| 233 make_scoped_refptr(service_worker_registration->active_version()), | 234 make_scoped_refptr(service_worker_registration->active_version()), |
| 234 notification_database_data, action_index, status_callback), | 235 notification_database_data, action_index, status_callback), |
| 235 status_callback); | 236 status_callback); |
| 236 } | 237 } |
| 237 | 238 |
| 238 // ----------------------------------------------------------------------------- | 239 // ----------------------------------------------------------------------------- |
| 239 | 240 |
| 240 // Called when the notification data has been deleted to finish the notification | 241 // Called when the notification data has been deleted to finish the notification |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 292 const scoped_refptr<PlatformNotificationContext>& notification_context, | 293 const scoped_refptr<PlatformNotificationContext>& notification_context, |
| 293 const ServiceWorkerRegistration* service_worker_registration, | 294 const ServiceWorkerRegistration* service_worker_registration, |
| 294 const NotificationDatabaseData& notification_database_data) { | 295 const NotificationDatabaseData& notification_database_data) { |
| 295 const ServiceWorkerVersion::StatusCallback dispatch_event_callback = | 296 const ServiceWorkerVersion::StatusCallback dispatch_event_callback = |
| 296 base::Bind(&DeleteNotificationDataFromDatabase, | 297 base::Bind(&DeleteNotificationDataFromDatabase, |
| 297 notification_database_data.notification_id, | 298 notification_database_data.notification_id, |
| 298 notification_database_data.origin, notification_context, | 299 notification_database_data.origin, notification_context, |
| 299 dispatch_complete_callback); | 300 dispatch_complete_callback); |
| 300 if (by_user) { | 301 if (by_user) { |
| 301 service_worker_registration->active_version()->RunAfterStartWorker( | 302 service_worker_registration->active_version()->RunAfterStartWorker( |
| 303 ServiceWorkerMetrics::EventType::NOTIFICATION_CLOSE, |
| 302 base::Bind( | 304 base::Bind( |
| 303 &DispatchNotificationCloseEventOnWorker, | 305 &DispatchNotificationCloseEventOnWorker, |
| 304 make_scoped_refptr(service_worker_registration->active_version()), | 306 make_scoped_refptr(service_worker_registration->active_version()), |
| 305 notification_database_data, dispatch_event_callback), | 307 notification_database_data, dispatch_event_callback), |
| 306 dispatch_event_callback); | 308 dispatch_event_callback); |
| 307 } else { | 309 } else { |
| 308 dispatch_event_callback.Run(ServiceWorkerStatusCode::SERVICE_WORKER_OK); | 310 dispatch_event_callback.Run(ServiceWorkerStatusCode::SERVICE_WORKER_OK); |
| 309 } | 311 } |
| 310 } | 312 } |
| 311 | 313 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 375 const GURL& origin, | 377 const GURL& origin, |
| 376 bool by_user, | 378 bool by_user, |
| 377 const NotificationDispatchCompleteCallback& dispatch_complete_callback) { | 379 const NotificationDispatchCompleteCallback& dispatch_complete_callback) { |
| 378 DispatchNotificationEvent(browser_context, persistent_notification_id, origin, | 380 DispatchNotificationEvent(browser_context, persistent_notification_id, origin, |
| 379 base::Bind(&DoDispatchNotificationCloseEvent, | 381 base::Bind(&DoDispatchNotificationCloseEvent, |
| 380 by_user, dispatch_complete_callback), | 382 by_user, dispatch_complete_callback), |
| 381 dispatch_complete_callback); | 383 dispatch_complete_callback); |
| 382 } | 384 } |
| 383 | 385 |
| 384 } // namespace content | 386 } // namespace content |
| OLD | NEW |