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

Unified Diff: chrome/browser/geolocation/geolocation_permission_context_unittest.cc

Issue 2791193002: Log metrics for the Location Settings Dialog prompt for geolocation. (Closed)
Patch Set: Feedback Created 3 years, 8 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: chrome/browser/geolocation/geolocation_permission_context_unittest.cc
diff --git a/chrome/browser/geolocation/geolocation_permission_context_unittest.cc b/chrome/browser/geolocation/geolocation_permission_context_unittest.cc
index b543388b8471cb2c5890ec5a6e257cec54083e1e..7ce6e5968fb9a21bd635ccdd157f4442a9a2a713 100644
--- a/chrome/browser/geolocation/geolocation_permission_context_unittest.cc
+++ b/chrome/browser/geolocation/geolocation_permission_context_unittest.cc
@@ -19,6 +19,7 @@
#include "base/memory/ptr_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/synchronization/waitable_event.h"
+#include "base/test/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/simple_test_clock.h"
#include "base/time/clock.h"
@@ -620,6 +621,7 @@ TEST_F(GeolocationPermissionContextTests, SystemLocationOnNoLSD) {
}
TEST_F(GeolocationPermissionContextTests, SystemLocationOffLSDAccept) {
+ base::HistogramTester tester;
base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitAndEnableFeature(features::kLsdPermissionPrompt);
@@ -640,9 +642,14 @@ TEST_F(GeolocationPermissionContextTests, SystemLocationOffLSDAccept) {
CheckTabContentsState(requesting_frame, CONTENT_SETTING_ALLOW);
CheckPermissionMessageSent(0, true);
EXPECT_TRUE(MockLocationSettings::HasShownLocationSettingsDialog());
+
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.NonDSE", 1);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.AcceptEvent.NonDSE", 1);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.DenyEvent.NonDSE", 0);
}
TEST_F(GeolocationPermissionContextTests, SystemLocationOffLSDReject) {
+ base::HistogramTester tester;
base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitAndEnableFeature(features::kLsdPermissionPrompt);
@@ -663,9 +670,14 @@ TEST_F(GeolocationPermissionContextTests, SystemLocationOffLSDReject) {
CheckTabContentsState(requesting_frame, CONTENT_SETTING_BLOCK);
CheckPermissionMessageSent(0, false);
EXPECT_TRUE(MockLocationSettings::HasShownLocationSettingsDialog());
+
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.NonDSE", 1);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.AcceptEvent.NonDSE", 0);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.DenyEvent.NonDSE", 1);
}
TEST_F(GeolocationPermissionContextTests, LSDBackOffDifferentSites) {
+ base::HistogramTester tester;
base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitAndEnableFeature(features::kLsdPermissionPrompt);
@@ -702,15 +714,28 @@ TEST_F(GeolocationPermissionContextTests, LSDBackOffDifferentSites) {
// Now ask on the other non-DSE origin and check backoff prevented the prompt.
EXPECT_FALSE(RequestPermissionIsLSDShown(requesting_frame_2));
+ // Test that the right histograms are updated.
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.NonDSE", 1);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.DSE", 0);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.SuppressEvent.NonDSE", 2);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.SuppressEvent.DSE", 0);
+
// Now request on the DSE and check that the LSD is shown, as the non-DSE
// backoff should not apply.
EXPECT_TRUE(RequestPermissionIsLSDShown(requesting_frame_dse));
// Now check that the DSE is in backoff.
EXPECT_FALSE(RequestPermissionIsLSDShown(requesting_frame_dse));
+
+ // Test that the right histograms are updated.
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.NonDSE", 1);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.DSE", 1);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.SuppressEvent.NonDSE", 2);
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.SuppressEvent.DSE", 1);
}
TEST_F(GeolocationPermissionContextTests, LSDBackOffTiming) {
+ base::HistogramTester tester;
base::test::ScopedFeatureList scoped_feature_list;
scoped_feature_list.InitAndEnableFeature(features::kLsdPermissionPrompt);
@@ -732,6 +757,14 @@ TEST_F(GeolocationPermissionContextTests, LSDBackOffTiming) {
AddDayOffsetForTesting(6);
EXPECT_FALSE(RequestPermissionIsLSDShown(requesting_frame));
+ // Check histograms so far.
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.NonDSE", 1);
+ tester.ExpectBucketCount("Geolocation.SettingsDialog.ShowEvent.NonDSE",
+ static_cast<base::HistogramBase::Sample>(
+ GeolocationPermissionContextAndroid::
+ LocationSettingsDialogBackOff::kNoBackOff),
+ 1);
+
// Check it is shown in one more days time, but then not straight after..
AddDayOffsetForTesting(1);
EXPECT_TRUE(RequestPermissionIsLSDShown(requesting_frame));
@@ -741,6 +774,14 @@ TEST_F(GeolocationPermissionContextTests, LSDBackOffTiming) {
AddDayOffsetForTesting(29);
EXPECT_FALSE(RequestPermissionIsLSDShown(requesting_frame));
+ // Check histograms so far.
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.NonDSE", 2);
+ tester.ExpectBucketCount("Geolocation.SettingsDialog.ShowEvent.NonDSE",
+ static_cast<base::HistogramBase::Sample>(
+ GeolocationPermissionContextAndroid::
+ LocationSettingsDialogBackOff::kOneWeek),
+ 1);
+
// Check it is shown in one more days time, but then not straight after..
AddDayOffsetForTesting(1);
EXPECT_TRUE(RequestPermissionIsLSDShown(requesting_frame));
@@ -750,6 +791,14 @@ TEST_F(GeolocationPermissionContextTests, LSDBackOffTiming) {
AddDayOffsetForTesting(89);
EXPECT_FALSE(RequestPermissionIsLSDShown(requesting_frame));
+ // Check histograms so far.
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.NonDSE", 3);
+ tester.ExpectBucketCount("Geolocation.SettingsDialog.ShowEvent.NonDSE",
+ static_cast<base::HistogramBase::Sample>(
+ GeolocationPermissionContextAndroid::
+ LocationSettingsDialogBackOff::kOneMonth),
+ 1);
+
// Check it is shown in one more days time, but then not straight after..
AddDayOffsetForTesting(1);
EXPECT_TRUE(RequestPermissionIsLSDShown(requesting_frame));
@@ -763,6 +812,14 @@ TEST_F(GeolocationPermissionContextTests, LSDBackOffTiming) {
AddDayOffsetForTesting(1);
EXPECT_TRUE(RequestPermissionIsLSDShown(requesting_frame));
EXPECT_FALSE(RequestPermissionIsLSDShown(requesting_frame));
+
+ // Check histograms so far.
+ tester.ExpectTotalCount("Geolocation.SettingsDialog.ShowEvent.NonDSE", 5);
+ tester.ExpectBucketCount("Geolocation.SettingsDialog.ShowEvent.NonDSE",
+ static_cast<base::HistogramBase::Sample>(
+ GeolocationPermissionContextAndroid::
+ LocationSettingsDialogBackOff::kThreeMonths),
+ 2);
}
TEST_F(GeolocationPermissionContextTests, LSDBackOffPermissionStatus) {

Powered by Google App Engine
This is Rietveld 408576698