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

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

Issue 2651163002: Add UMA for autoblocking and embargoing. (Closed)
Patch Set: Review comments, add histogram checks 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..429c9a838958213be5bd89f55fdb4c45c25ef519 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,12 +354,17 @@ class PermissionContextBaseTests : public ChromeRenderViewHostTestHarness {
"Permissions.Prompt.Dismissed.PriorDismissCount." +
PermissionUtil::GetPermissionString(permission_type),
i, 1);
+ histograms.ExpectTotalCount("Permissions.AutoBlocker.EmbargoReason",
dominickn 2017/01/30 04:55:25 Can you use ExpectUniqueSample("Permissions.AutoBl
meredithl 2017/01/30 05:37:40 That will succeed for the first N-1 requests, but
dominickn 2017/01/30 05:52:28 Ah, acknowledged. I forgot that we changed this to
+ i + 1);
ASSERT_EQ(1u, permission_context.decisions().size());
EXPECT_EQ(expected, permission_context.decisions()[0]);
EXPECT_TRUE(permission_context.tab_context_updated());
EXPECT_EQ(expected, permission_context.GetPermissionStatus(url, url));
}
+ histograms.ExpectBucketCount("Permissions.AutoBlocker.EmbargoReason",
dominickn 2017/01/30 04:55:25 Remove this one, it's covered by the check in the
meredithl 2017/01/30 05:37:40 See above, i either need to move the inner loop ch
dominickn 2017/01/30 05:52:28 Acknowledged.
+ PermissionEmbargoReason::NOT_EMBARGOED,
+ iterations - 1);
TestPermissionContext permission_context(profile(), permission_type,
content_settings_type);
const PermissionRequestID id(
@@ -376,6 +383,11 @@ class PermissionContextBaseTests : public ChromeRenderViewHostTestHarness {
EXPECT_EQ(CONTENT_SETTING_BLOCK,
permission_context.GetPermissionStatus(url, url));
+ histograms.ExpectTotalCount("Permissions.AutoBlocker.EmbargoReason",
+ iterations);
+ histograms.ExpectBucketCount("Permissions.AutoBlocker.EmbargoReason",
+ PermissionEmbargoReason::REPEATED_DISMISSALS,
+ 1);
dominickn 2017/01/30 04:55:25 And an ExpectBucketCount for NOT_EMBARGOED (iterat
meredithl 2017/01/30 05:37:40 I've moved the one from above down to here.
}
void TestBlockOnSeveralDismissals_TestContent() {
@@ -406,6 +418,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 +856,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 +873,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