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

Unified Diff: chrome/browser/permissions/permission_context_base_unittest.cc

Issue 2651163002: Add UMA for autoblocking and embargoing. (Closed)
Patch Set: Review Created 3 years, 11 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/permissions/permission_context_base_unittest.cc
diff --git a/chrome/browser/permissions/permission_context_base_unittest.cc b/chrome/browser/permissions/permission_context_base_unittest.cc
index 7e09f909dd4ebdade53b5c46aaaaef0b860acfa2..f52e10024dd40799f74637a0224745a5235cf42e 100644
--- a/chrome/browser/permissions/permission_context_base_unittest.cc
+++ b/chrome/browser/permissions/permission_context_base_unittest.cc
@@ -25,6 +25,7 @@
#include "chrome/browser/permissions/permission_decision_auto_blocker.h"
#include "chrome/browser/permissions/permission_queue_controller.h"
#include "chrome/browser/permissions/permission_request_id.h"
+#include "chrome/browser/permissions/permission_uma_util.h"
#include "chrome/browser/permissions/permission_util.h"
#include "chrome/common/chrome_features.h"
#include "chrome/common/chrome_switches.h"
@@ -288,7 +289,8 @@ class PermissionContextBaseTests : public ChromeRenderViewHostTestHarness {
ASSERT_EQ(1u, permission_context.decisions().size());
EXPECT_EQ(decision, permission_context.decisions()[0]);
EXPECT_TRUE(permission_context.tab_context_updated());
-
+ histograms.ExpectBucketCount("Permissions.AutoBlocker.EmbargoReason",
+ PermissionEmbargoReason::NOT_EMBARGOED, 1);
std::string decision_string;
if (decision == CONTENT_SETTING_ALLOW)
decision_string = "Accepted";
@@ -352,6 +354,8 @@ class PermissionContextBaseTests : public ChromeRenderViewHostTestHarness {
"Permissions.Prompt.Dismissed.PriorDismissCount." +
PermissionUtil::GetPermissionString(permission_type),
i, 1);
+ histograms.ExpectTotalCount("Permissions.AutoBlocker.EmbargoReason",
+ i + 1);
ASSERT_EQ(1u, permission_context.decisions().size());
EXPECT_EQ(expected, permission_context.decisions()[0]);
EXPECT_TRUE(permission_context.tab_context_updated());
@@ -376,6 +380,15 @@ class PermissionContextBaseTests : public ChromeRenderViewHostTestHarness {
EXPECT_EQ(CONTENT_SETTING_BLOCK,
permission_context.GetPermissionStatus(url, url));
+
+ // The first N-1 dismissals should not result in an embargo being recorded.
+ // The embargo should have only been recorded once, on the Nth dismissal.
+ histograms.ExpectBucketCount("Permissions.AutoBlocker.EmbargoReason",
+ PermissionEmbargoReason::NOT_EMBARGOED,
+ iterations - 1);
+ histograms.ExpectBucketCount("Permissions.AutoBlocker.EmbargoReason",
+ PermissionEmbargoReason::REPEATED_DISMISSALS,
+ 1);
}
void TestBlockOnSeveralDismissals_TestContent() {
@@ -406,6 +419,9 @@ class PermissionContextBaseTests : public ChromeRenderViewHostTestHarness {
i + 1);
histograms.ExpectBucketCount(
"Permissions.Prompt.Dismissed.PriorDismissCount.Geolocation", i, 1);
+ histograms.ExpectBucketCount("Permissions.AutoBlocker.EmbargoReason",
+ PermissionEmbargoReason::NOT_EMBARGOED,
+ i + 1);
ASSERT_EQ(1u, permission_context.decisions().size());
EXPECT_EQ(CONTENT_SETTING_ASK, permission_context.decisions()[0]);
EXPECT_TRUE(permission_context.tab_context_updated());
@@ -841,9 +857,13 @@ TEST_F(PermissionContextBaseTests, TestPermissionsBlacklistingBlocked) {
const GURL url("https://www.example.com");
std::set<std::string> blacklisted_permissions{"GEOLOCATION"};
db_manager->BlacklistUrlPermissions(url, blacklisted_permissions);
+ base::HistogramTester histograms;
TestPermissionsBlacklisting(content::PermissionType::GEOLOCATION,
CONTENT_SETTINGS_TYPE_GEOLOCATION, db_manager,
url, 2000 /* timeout */, CONTENT_SETTING_BLOCK);
+ histograms.ExpectUniqueSample(
+ "Permissions.AutoBlocker.EmbargoReason",
+ PermissionEmbargoReason::PERMISSIONS_BLACKLISTING, 1);
}
// Tests that a URL that is blacklisted for one permission can still request
@@ -854,7 +874,10 @@ TEST_F(PermissionContextBaseTests, TestPermissionsBlacklistingAllowed) {
const GURL url("https://www.example.com");
std::set<std::string> blacklisted_permissions{"GEOLOCATION"};
db_manager->BlacklistUrlPermissions(url, blacklisted_permissions);
+ base::HistogramTester histograms;
TestPermissionsBlacklisting(content::PermissionType::NOTIFICATIONS,
CONTENT_SETTINGS_TYPE_NOTIFICATIONS, db_manager,
url, 2000 /* timeout */, CONTENT_SETTING_ALLOW);
+ histograms.ExpectUniqueSample("Permissions.AutoBlocker.EmbargoReason",
+ PermissionEmbargoReason::NOT_EMBARGOED, 1);
}

Powered by Google App Engine
This is Rietveld 408576698