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 |