| 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/push_messaging_router.h" | 5 #include "content/browser/push_messaging_router.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "content/browser/service_worker/service_worker_context_wrapper.h" | 8 #include "content/browser/service_worker/service_worker_context_wrapper.h" |
| 9 #include "content/browser/service_worker/service_worker_registration.h" | 9 #include "content/browser/service_worker/service_worker_registration.h" |
| 10 #include "content/browser/service_worker/service_worker_storage.h" | 10 #include "content/browser/service_worker/service_worker_storage.h" |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 // released when this method returns - before the event is delivered to the | 70 // released when this method returns - before the event is delivered to the |
| 71 // service worker. | 71 // service worker. |
| 72 base::Callback<void(ServiceWorkerStatusCode)> dispatch_event_callback = | 72 base::Callback<void(ServiceWorkerStatusCode)> dispatch_event_callback = |
| 73 base::Bind(&PushMessagingRouter::DeliverMessageEnd, | 73 base::Bind(&PushMessagingRouter::DeliverMessageEnd, |
| 74 deliver_message_callback, | 74 deliver_message_callback, |
| 75 service_worker_registration); | 75 service_worker_registration); |
| 76 service_worker_registration->active_version()->DispatchPushEvent( | 76 service_worker_registration->active_version()->DispatchPushEvent( |
| 77 dispatch_event_callback, data); | 77 dispatch_event_callback, data); |
| 78 } else { | 78 } else { |
| 79 // TODO(mvanouwerkerk): UMA logging. | 79 // TODO(mvanouwerkerk): UMA logging. |
| 80 BrowserThread::PostTask( | 80 BrowserThread::PostTask(BrowserThread::UI, |
| 81 BrowserThread::UI, | 81 FROM_HERE, |
| 82 FROM_HERE, | 82 base::Bind(deliver_message_callback, |
| 83 base::Bind( | 83 PUSH_DELIVERY_STATUS_NO_SERVICE_WORKER)); |
| 84 deliver_message_callback, | |
| 85 PUSH_MESSAGING_STATUS_MESSAGE_DELIVERY_FAILED_NO_SERVICE_WORKER)); | |
| 86 } | 84 } |
| 87 } | 85 } |
| 88 | 86 |
| 89 // static | 87 // static |
| 90 void PushMessagingRouter::DeliverMessageEnd( | 88 void PushMessagingRouter::DeliverMessageEnd( |
| 91 const DeliverMessageCallback& deliver_message_callback, | 89 const DeliverMessageCallback& deliver_message_callback, |
| 92 const scoped_refptr<ServiceWorkerRegistration>& service_worker_registration, | 90 const scoped_refptr<ServiceWorkerRegistration>& service_worker_registration, |
| 93 ServiceWorkerStatusCode service_worker_status) { | 91 ServiceWorkerStatusCode service_worker_status) { |
| 94 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 92 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| 95 // TODO(mvanouwerkerk): UMA logging. | 93 // TODO(mvanouwerkerk): UMA logging. |
| 96 PushMessagingStatus push_messaging_status = | 94 PushDeliveryStatus delivery_status = |
| 97 service_worker_status == SERVICE_WORKER_OK | 95 service_worker_status == SERVICE_WORKER_OK |
| 98 ? PUSH_MESSAGING_STATUS_OK | 96 ? PUSH_DELIVERY_STATUS_SUCCESS |
| 99 : PUSH_MESSAGING_STATUS_MESSAGE_DELIVERY_FAILED_SERVICE_WORKER_ERROR; | 97 : PUSH_DELIVERY_STATUS_SERVICE_WORKER_ERROR; |
| 100 BrowserThread::PostTask( | 98 BrowserThread::PostTask( |
| 101 BrowserThread::UI, | 99 BrowserThread::UI, |
| 102 FROM_HERE, | 100 FROM_HERE, |
| 103 base::Bind(deliver_message_callback, push_messaging_status)); | 101 base::Bind(deliver_message_callback, delivery_status)); |
| 104 } | 102 } |
| 105 | 103 |
| 106 } // namespace content | 104 } // namespace content |
| OLD | NEW |