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

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

Issue 2047253002: Add hooks to permission layer for permission action reporting (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@permission-reporter-implementation
Patch Set: Created 4 years, 6 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
« no previous file with comments | « no previous file | chrome/browser/safe_browsing/ping_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/permissions/permission_uma_util.cc
diff --git a/chrome/browser/permissions/permission_uma_util.cc b/chrome/browser/permissions/permission_uma_util.cc
index 43470736f50dabfdb9d9cc31ac9c5d57796321e8..a24b3fa1d80be7d370b1367e617cf90bc23eb5d5 100644
--- a/chrome/browser/permissions/permission_uma_util.cc
+++ b/chrome/browser/permissions/permission_uma_util.cc
@@ -12,6 +12,9 @@
#include "chrome/browser/permissions/permission_manager.h"
#include "chrome/browser/permissions/permission_util.h"
#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/safe_browsing/permission_reporter.h"
+#include "chrome/browser/safe_browsing/ping_manager.h"
+#include "chrome/browser/safe_browsing/safe_browsing_service.h"
#include "chrome/browser/ui/website_settings/permission_bubble_request.h"
#include "components/rappor/rappor_service.h"
#include "components/rappor/rappor_utils.h"
@@ -247,6 +250,17 @@ void RecordPermissionRequest(PermissionType permission,
}
}
+void ReportPermissionAction(const GURL& origin,
+ PermissionType permission,
+ PermissionAction action) {
+ // TODO(stefanocs): Send reports to opted-in users only.
+ safe_browsing::PermissionReporter* permission_reporter =
kcarattini 2016/06/13 21:21:09 You need to guard this with the flag you added in
stefanocs 2016/06/14 01:06:18 Is this the right way to do this?
+ g_browser_process->safe_browsing_service()
+ ->ping_manager()
+ ->permission_reporter();
+ permission_reporter->SendReport(origin, permission, action);
+}
+
} // anonymous namespace
const char PermissionUmaUtil::kPermissionsPromptShown[] =
@@ -277,21 +291,25 @@ void PermissionUmaUtil::PermissionRequested(PermissionType permission,
void PermissionUmaUtil::PermissionGranted(PermissionType permission,
const GURL& requesting_origin) {
RecordPermissionAction(permission, GRANTED, requesting_origin);
+ ReportPermissionAction(requesting_origin, permission, GRANTED);
kcarattini 2016/06/13 21:21:09 Can RecordPermissionAction just call ReportPermiss
stefanocs 2016/06/14 01:06:18 Yes, but that means we have to add more params to
raymes 2016/06/14 02:47:11 I think that's ok :)
stefanocs 2016/06/14 03:37:37 Done.
}
void PermissionUmaUtil::PermissionDenied(PermissionType permission,
const GURL& requesting_origin) {
RecordPermissionAction(permission, DENIED, requesting_origin);
+ ReportPermissionAction(requesting_origin, permission, DENIED);
}
void PermissionUmaUtil::PermissionDismissed(PermissionType permission,
const GURL& requesting_origin) {
RecordPermissionAction(permission, DISMISSED, requesting_origin);
+ ReportPermissionAction(requesting_origin, permission, DISMISSED);
}
void PermissionUmaUtil::PermissionIgnored(PermissionType permission,
const GURL& requesting_origin) {
RecordPermissionAction(permission, IGNORED, requesting_origin);
+ ReportPermissionAction(requesting_origin, permission, IGNORED);
}
void PermissionUmaUtil::PermissionRevoked(PermissionType permission,
@@ -303,6 +321,7 @@ void PermissionUmaUtil::PermissionRevoked(PermissionType permission,
permission == PermissionType::AUDIO_CAPTURE ||
permission == PermissionType::VIDEO_CAPTURE) {
RecordPermissionAction(permission, REVOKED, revoked_origin);
+ ReportPermissionAction(revoked_origin, permission, REVOKED);
}
}
« no previous file with comments | « no previous file | chrome/browser/safe_browsing/ping_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698