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

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

Issue 2952003003: Log site engagement scores for permission actions (Closed)
Patch Set: Created 3 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
Index: chrome/browser/permissions/permission_request_manager.cc
diff --git a/chrome/browser/permissions/permission_request_manager.cc b/chrome/browser/permissions/permission_request_manager.cc
index 494b8804e62fc2f00771613833df54b4c931a36d..c54c6bca0317239276ffc739f30fe7e0cd46c89a 100644
--- a/chrome/browser/permissions/permission_request_manager.cc
+++ b/chrome/browser/permissions/permission_request_manager.cc
@@ -30,7 +30,8 @@ class CancelledRequest : public PermissionRequest {
message_(cancelled->GetMessageText()),
#endif
message_fragment_(cancelled->GetMessageTextFragment()),
- origin_(cancelled->GetOrigin()) {
+ origin_(cancelled->GetOrigin()),
+ request_type_(cancelled->GetPermissionRequestType()) {
}
~CancelledRequest() override {}
@@ -50,6 +51,10 @@ class CancelledRequest : public PermissionRequest {
void RequestFinished() override { delete this; }
+ PermissionRequestType GetPermissionRequestType() const override {
+ return request_type_;
+ }
+
private:
IconId icon_;
#if defined(OS_ANDROID)
@@ -57,6 +62,7 @@ class CancelledRequest : public PermissionRequest {
#endif
base::string16 message_fragment_;
GURL origin_;
+ PermissionRequestType request_type_;
};
bool IsMessageTextEqual(PermissionRequest* a,
@@ -121,6 +127,9 @@ PermissionRequestManager::PermissionRequestManager(
}
PermissionRequestManager::~PermissionRequestManager() {
+ if (!requests_.empty())
+ PermissionUmaUtil::PermissionPromptIgnored(requests_, web_contents());
raymes 2017/07/06 05:03:15 I think by this stage the requests may be empty.
Timothy Loh 2017/07/19 06:03:43 Moved to CleanUpRequests
+
if (view_ != NULL)
view_->SetDelegate(NULL);
@@ -200,6 +209,10 @@ void PermissionRequestManager::CancelRequest(PermissionRequest* request) {
// showing the dialog, or if we are showing it and it can accept the update.
bool can_erase = !view_ || view_->CanAcceptRequestUpdate();
if (can_erase) {
+ // Grouped (mic+camera) requests are currently never cancelled.
+ DCHECK_EQ(static_cast<size_t>(1), requests_.size());
+ PermissionUmaUtil::PermissionPromptIgnored(requests_, web_contents());
+
RequestFinishedIncludingDuplicates(*requests_iter);
requests_.erase(requests_iter);
@@ -339,7 +352,7 @@ void PermissionRequestManager::TogglePersist(bool new_value) {
}
void PermissionRequestManager::Accept() {
- PermissionUmaUtil::PermissionPromptAccepted(requests_);
+ PermissionUmaUtil::PermissionPromptAccepted(requests_, web_contents());
std::vector<PermissionRequest*>::iterator requests_iter;
for (requests_iter = requests_.begin(); requests_iter != requests_.end();
@@ -350,7 +363,7 @@ void PermissionRequestManager::Accept() {
}
void PermissionRequestManager::Deny() {
- PermissionUmaUtil::PermissionPromptDenied(requests_);
+ PermissionUmaUtil::PermissionPromptDenied(requests_, web_contents());
std::vector<PermissionRequest*>::iterator requests_iter;
for (requests_iter = requests_.begin();
@@ -362,6 +375,8 @@ void PermissionRequestManager::Deny() {
}
void PermissionRequestManager::Closing() {
+ PermissionUmaUtil::PermissionPromptDismissed(requests_, web_contents());
+
std::vector<PermissionRequest*>::iterator requests_iter;
for (requests_iter = requests_.begin();
requests_iter != requests_.end();

Powered by Google App Engine
This is Rietveld 408576698