| Index: chrome/browser/content_settings/permission_infobar_delegate.cc
|
| diff --git a/chrome/browser/content_settings/permission_infobar_delegate.cc b/chrome/browser/content_settings/permission_infobar_delegate.cc
|
| index c2007076316d3a8bbec785ff1591aa9e5d607ec1..8d23b7d362dafdcc50cc843b37bdad343c5990fc 100644
|
| --- a/chrome/browser/content_settings/permission_infobar_delegate.cc
|
| +++ b/chrome/browser/content_settings/permission_infobar_delegate.cc
|
| @@ -4,19 +4,25 @@
|
|
|
| #include "chrome/browser/content_settings/permission_infobar_delegate.h"
|
|
|
| +#include "chrome/browser/content_settings/permission_context_uma_util.h"
|
| #include "chrome/browser/content_settings/permission_queue_controller.h"
|
| #include "components/infobars/core/infobar.h"
|
| #include "grit/generated_resources.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
|
|
| PermissionInfobarDelegate::~PermissionInfobarDelegate() {
|
| + if (!action_taken_)
|
| + PermissionContextUmaUtil::PermissionIgnored(type_);
|
| }
|
|
|
| PermissionInfobarDelegate::PermissionInfobarDelegate(
|
| PermissionQueueController* controller,
|
| const PermissionRequestID& id,
|
| - const GURL& requesting_origin)
|
| - : controller_(controller), id_(id), requesting_origin_(requesting_origin) {
|
| + const GURL& requesting_origin,
|
| + ContentSettingsType type)
|
| + : controller_(controller), id_(id), requesting_origin_(requesting_origin),
|
| + action_taken_(false),
|
| + type_(type) {
|
| }
|
|
|
| void PermissionInfobarDelegate::InfoBarDismissed() {
|
| @@ -46,6 +52,7 @@ bool PermissionInfobarDelegate::Cancel() {
|
|
|
| void PermissionInfobarDelegate::SetPermission(bool update_content_setting,
|
| bool allowed) {
|
| + action_taken_ = true;
|
| controller_->OnPermissionSet(
|
| id_, requesting_origin_,
|
| InfoBarService::WebContentsFromInfoBar(
|
|
|