Index: chrome/browser/push_messaging/push_messaging_browsertest.cc |
diff --git a/chrome/browser/push_messaging/push_messaging_browsertest.cc b/chrome/browser/push_messaging/push_messaging_browsertest.cc |
index dc9d0b0fb2f316ab25264f92e1cdc9ed58be1ff4..c498827fe330f1ce9ea241053174f67b2210e889 100644 |
--- a/chrome/browser/push_messaging/push_messaging_browsertest.cc |
+++ b/chrome/browser/push_messaging/push_messaging_browsertest.cc |
@@ -15,6 +15,7 @@ |
#include "base/message_loop/message_loop.h" |
#include "base/run_loop.h" |
#include "base/strings/utf_string_conversions.h" |
+#include "base/test/histogram_tester.h" |
#include "build/build_config.h" |
#include "chrome/browser/browser_process.h" |
#include "chrome/browser/browsing_data/browsing_data_helper.h" |
@@ -272,10 +273,12 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
virtual Browser* GetBrowser() const { return browser(); } |
- protected: |
- std::unique_ptr<net::EmbeddedTestServer> https_server_; |
gcm::FakeGCMProfileService* gcm_service_; |
instance_id::FakeGCMDriverForInstanceID* gcm_driver_; |
+ base::HistogramTester histogram_tester_; |
+ |
+ private: |
+ std::unique_ptr<net::EmbeddedTestServer> https_server_; |
PushMessagingServiceImpl* push_service_; |
#if defined(ENABLE_NOTIFICATIONS) |
@@ -734,6 +737,17 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventSuccess) { |
EXPECT_TRUE(IsRegisteredKeepAliveEqualTo(true)); |
ASSERT_TRUE(RunScript("resultQueue.pop()", &script_result)); |
EXPECT_EQ("testdata", script_result); |
+ |
+ // Check that we record this case in UMA. |
+ histogram_tester_.ExpectUniqueSample( |
+ "PushMessaging.DeliveryStatus.FindServiceWorker", |
+ 0 /* SERVICE_WORKER_OK */, 1); |
+ histogram_tester_.ExpectUniqueSample( |
+ "PushMessaging.DeliveryStatus.ServiceWorkerEvent", |
+ 0 /* SERVICE_WORKER_OK */, 1); |
+ histogram_tester_.ExpectUniqueSample( |
+ "PushMessaging.DeliveryStatus", |
+ content::PUSH_DELIVERY_STATUS_SUCCESS, 1); |
} |
IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventWithoutPayload) { |
@@ -826,6 +840,16 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, PushEventNoServiceWorker) { |
run_loop.Run(); |
EXPECT_TRUE(IsRegisteredKeepAliveEqualTo(false)); |
+ // Check that we record this case in UMA. |
+ histogram_tester_.ExpectUniqueSample( |
+ "PushMessaging.DeliveryStatus.FindServiceWorker", |
+ 5 /* SERVICE_WORKER_ERROR_NOT_FOUND */, 1); |
+ histogram_tester_.ExpectTotalCount( |
+ "PushMessaging.DeliveryStatus.ServiceWorkerEvent", 0); |
+ histogram_tester_.ExpectUniqueSample( |
+ "PushMessaging.DeliveryStatus", |
+ content::PUSH_DELIVERY_STATUS_NO_SERVICE_WORKER, 1); |
+ |
// Now the push service has received a message and failed to find its service |
// worker, it should have automatically unsubscribed app_identifier.app_id(). |
PushMessagingAppIdentifier app_identifier3 = |