| Index: chrome/browser/permissions/permission_context_base.cc
|
| diff --git a/chrome/browser/permissions/permission_context_base.cc b/chrome/browser/permissions/permission_context_base.cc
|
| index 2e939320d74c995138a5caaf1f52dc0d30239fe2..ee8324d5178da089295756c27a8cd9c8dbaa14e6 100644
|
| --- a/chrome/browser/permissions/permission_context_base.cc
|
| +++ b/chrome/browser/permissions/permission_context_base.cc
|
| @@ -178,10 +178,10 @@ void PermissionContextBase::DecidePermission(
|
| return;
|
| std::unique_ptr<PermissionBubbleRequest> request_ptr(
|
| new PermissionBubbleRequestImpl(
|
| - requesting_origin, permission_type_, profile_,
|
| + requesting_origin, permission_type_, user_gesture, profile_,
|
| base::Bind(&PermissionContextBase::PermissionDecided,
|
| weak_factory_.GetWeakPtr(), id, requesting_origin,
|
| - embedding_origin, callback),
|
| + embedding_origin, user_gesture, callback),
|
| base::Bind(&PermissionContextBase::CleanUpBubble,
|
| weak_factory_.GetWeakPtr(), id)));
|
| PermissionBubbleRequest* request = request_ptr.get();
|
| @@ -191,11 +191,13 @@ void PermissionContextBase::DecidePermission(
|
| DCHECK(inserted) << "Duplicate id " << id.ToString();
|
| permission_request_manager->AddRequest(request);
|
| #else
|
| + // TODO(stefanocs): Pass |user_gesture| to CreateInfoBarRequest to record
|
| + // permission actions in infobar.
|
| GetQueueController()->CreateInfoBarRequest(
|
| id, requesting_origin, embedding_origin,
|
| base::Bind(&PermissionContextBase::PermissionDecided,
|
| weak_factory_.GetWeakPtr(), id, requesting_origin,
|
| - embedding_origin, callback,
|
| + embedding_origin, user_gesture, callback,
|
| // the queue controller takes care of persisting the
|
| // permission
|
| false));
|
| @@ -206,6 +208,7 @@ void PermissionContextBase::PermissionDecided(
|
| const PermissionRequestID& id,
|
| const GURL& requesting_origin,
|
| const GURL& embedding_origin,
|
| + bool user_gesture,
|
| const BrowserPermissionCallback& callback,
|
| bool persist,
|
| ContentSetting content_setting) {
|
| @@ -215,16 +218,17 @@ void PermissionContextBase::PermissionDecided(
|
| if (persist) {
|
| DCHECK(content_setting == CONTENT_SETTING_ALLOW ||
|
| content_setting == CONTENT_SETTING_BLOCK);
|
| - if (content_setting == CONTENT_SETTING_ALLOW)
|
| - PermissionUmaUtil::PermissionGranted(permission_type_, requesting_origin,
|
| - profile_);
|
| - else
|
| - PermissionUmaUtil::PermissionDenied(permission_type_, requesting_origin,
|
| - profile_);
|
| + if (content_setting == CONTENT_SETTING_ALLOW) {
|
| + PermissionUmaUtil::PermissionGranted(permission_type_, user_gesture,
|
| + requesting_origin, profile_);
|
| + } else {
|
| + PermissionUmaUtil::PermissionDenied(permission_type_, user_gesture,
|
| + requesting_origin, profile_);
|
| + }
|
| } else {
|
| DCHECK_EQ(content_setting, CONTENT_SETTING_DEFAULT);
|
| - PermissionUmaUtil::PermissionDismissed(permission_type_, requesting_origin,
|
| - profile_);
|
| + PermissionUmaUtil::PermissionDismissed(permission_type_, user_gesture,
|
| + requesting_origin, profile_);
|
| }
|
| #endif
|
|
|
|
|