Chromium Code Reviews| 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); |
| } |
| } |