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

Unified Diff: content/browser/push_messaging/push_messaging_router.cc

Issue 2361113002: Push API: Don't unsubscribe when finding Service Worker fails (Closed)
Patch Set: Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
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) {
« no previous file with comments | « chrome/browser/push_messaging/push_messaging_browsertest.cc ('k') | tools/metrics/histograms/histograms.xml » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698