| Index: content/browser/push_messaging/push_messaging_router.cc
|
| diff --git a/content/browser/push_messaging/push_messaging_router.cc b/content/browser/push_messaging/push_messaging_router.cc
|
| index 01a85749c83967c436cf1fa6f557f836cd2981e5..0447f153daea6b263ff15e90081e707ec4dc6b52 100644
|
| --- a/content/browser/push_messaging/push_messaging_router.cc
|
| +++ b/content/browser/push_messaging/push_messaging_router.cc
|
| @@ -7,6 +7,7 @@
|
| #include <string>
|
|
|
| #include "base/bind.h"
|
| +#include "base/metrics/histogram_macros.h"
|
| #include "content/browser/service_worker/service_worker_context_wrapper.h"
|
| #include "content/browser/service_worker/service_worker_registration.h"
|
| #include "content/browser/service_worker/service_worker_storage.h"
|
| @@ -75,12 +76,19 @@ void PushMessagingRouter::FindServiceWorkerRegistrationCallback(
|
| ServiceWorkerStatusCode service_worker_status,
|
| scoped_refptr<ServiceWorkerRegistration> service_worker_registration) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| - // TODO(mvanouwerkerk): UMA logging.
|
| - if (service_worker_status != SERVICE_WORKER_OK) {
|
| + UMA_HISTOGRAM_ENUMERATION("PushMessaging.DeliveryStatus.FindServiceWorker",
|
| + service_worker_status,
|
| + SERVICE_WORKER_ERROR_MAX_VALUE);
|
| + if (service_worker_status == SERVICE_WORKER_ERROR_NOT_FOUND) {
|
| RunDeliverCallback(deliver_message_callback,
|
| PUSH_DELIVERY_STATUS_NO_SERVICE_WORKER);
|
| return;
|
| }
|
| + if (service_worker_status != SERVICE_WORKER_OK) {
|
| + RunDeliverCallback(deliver_message_callback,
|
| + PUSH_DELIVERY_STATUS_SERVICE_WORKER_ERROR);
|
| + return;
|
| + }
|
|
|
| ServiceWorkerVersion* version = service_worker_registration->active_version();
|
| DCHECK(version);
|
| @@ -119,7 +127,9 @@ void PushMessagingRouter::DeliverMessageEnd(
|
| const scoped_refptr<ServiceWorkerRegistration>& service_worker_registration,
|
| ServiceWorkerStatusCode service_worker_status) {
|
| DCHECK_CURRENTLY_ON(BrowserThread::IO);
|
| - // TODO(mvanouwerkerk): UMA logging.
|
| + UMA_HISTOGRAM_ENUMERATION("PushMessaging.DeliveryStatus.ServiceWorkerEvent",
|
| + service_worker_status,
|
| + SERVICE_WORKER_ERROR_MAX_VALUE);
|
| PushDeliveryStatus delivery_status =
|
| PUSH_DELIVERY_STATUS_SERVICE_WORKER_ERROR;
|
| switch (service_worker_status) {
|
|
|