Index: chrome/browser/media/media_stream_devices_controller.cc |
diff --git a/chrome/browser/media/media_stream_devices_controller.cc b/chrome/browser/media/media_stream_devices_controller.cc |
index 75f43559855385577e27480cd6cc39ace5f69425..fc15e8265d4d41dbffb3397bc45a11b4c5cd672e 100644 |
--- a/chrome/browser/media/media_stream_devices_controller.cc |
+++ b/chrome/browser/media/media_stream_devices_controller.cc |
@@ -16,6 +16,7 @@ |
#include "chrome/browser/media/media_permission.h" |
#include "chrome/browser/media/media_stream_capture_indicator.h" |
#include "chrome/browser/media/media_stream_device_permissions.h" |
+#include "chrome/browser/permissions/permission_context_uma_util.h" |
#include "chrome/browser/profiles/profile.h" |
#include "chrome/browser/ui/browser.h" |
#include "chrome/common/chrome_switches.h" |
@@ -69,6 +70,21 @@ bool ContentTypeIsRequested(ContentSettingsType type, |
return false; |
} |
+// Record a Rappor sample for taking an |action| on a media |request|. |
+void RecordPermissionAction(const content::MediaStreamRequest& request, |
+ PermissionAction action) { |
+ if (ContentTypeIsRequested(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, |
+ request)) { |
+ PermissionContextUmaUtil::RecordMultiDRapporAction( |
+ CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, request.security_origin, |
+ action); |
+ } |
+ if (ContentTypeIsRequested(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, request)) { |
+ PermissionContextUmaUtil::RecordMultiDRapporAction( |
+ CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, request.security_origin, action); |
+ } |
+} |
+ |
} // namespace |
MediaStreamDevicesController::MediaStreamDevicesController( |
@@ -124,6 +140,7 @@ MediaStreamDevicesController::MediaStreamDevicesController( |
MediaStreamDevicesController::~MediaStreamDevicesController() { |
if (!callback_.is_null()) { |
+ RecordPermissionAction(request_, PermissionAction::IGNORED); |
mlamouri (slow - plz ping)
2015/10/13 10:00:43
Couldn't you used PermissionContextUmaUtil::Permis
tsergeant
2015/10/13 23:41:20
Calling RecordPermissionAction only records the mu
mlamouri (slow - plz ping)
2015/10/15 12:49:51
Would it make sense to deprecate Media.DevicePermi
kcarattini
2015/10/19 03:32:29
By centralized system do you mean use permission_c
|
callback_.Run(content::MediaStreamDevices(), |
content::MEDIA_DEVICE_FAILED_DUE_TO_SHUTDOWN, |
scoped_ptr<content::MediaStreamUI>()); |
@@ -212,6 +229,7 @@ void MediaStreamDevicesController::PermissionGranted() { |
UMA_HISTOGRAM_ENUMERATION("Media.DevicePermissionActions", |
kAllowHttp, kPermissionActionsMax); |
} |
+ RecordPermissionAction(request_, PermissionAction::GRANTED); |
mlamouri (slow - plz ping)
2015/10/13 10:00:43
ditto with Granted()
|
RunCallback(GetNewSetting(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, |
old_audio_setting_, CONTENT_SETTING_ALLOW), |
GetNewSetting(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, |
@@ -222,6 +240,7 @@ void MediaStreamDevicesController::PermissionGranted() { |
void MediaStreamDevicesController::PermissionDenied() { |
UMA_HISTOGRAM_ENUMERATION("Media.DevicePermissionActions", |
kDeny, kPermissionActionsMax); |
+ RecordPermissionAction(request_, PermissionAction::DENIED); |
mlamouri (slow - plz ping)
2015/10/13 10:00:43
ditto with Denied()
|
RunCallback(GetNewSetting(CONTENT_SETTINGS_TYPE_MEDIASTREAM_MIC, |
old_audio_setting_, CONTENT_SETTING_BLOCK), |
GetNewSetting(CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, |
@@ -232,6 +251,7 @@ void MediaStreamDevicesController::PermissionDenied() { |
void MediaStreamDevicesController::Cancelled() { |
UMA_HISTOGRAM_ENUMERATION("Media.DevicePermissionActions", |
kCancel, kPermissionActionsMax); |
+ RecordPermissionAction(request_, PermissionAction::DISMISSED); |
mlamouri (slow - plz ping)
2015/10/13 10:00:43
ditto with Dismissed()
|
RunCallback(old_audio_setting_, old_video_setting_, |
content::MEDIA_DEVICE_PERMISSION_DISMISSED); |
} |