| Index: chrome/browser/permissions/permission_queue_controller.cc
|
| diff --git a/chrome/browser/permissions/permission_queue_controller.cc b/chrome/browser/permissions/permission_queue_controller.cc
|
| index 161e04a10e95ba1f9aa7e04b4566b523cd91aa17..4ee480a327a27b42adc820374e5e5c8b5ab901d1 100644
|
| --- a/chrome/browser/permissions/permission_queue_controller.cc
|
| +++ b/chrome/browser/permissions/permission_queue_controller.cc
|
| @@ -13,6 +13,7 @@
|
| #include "chrome/browser/notifications/notification_permission_infobar_delegate.h"
|
| #include "chrome/browser/permissions/permission_request_id.h"
|
| #include "chrome/browser/permissions/permission_uma_util.h"
|
| +#include "chrome/browser/permissions/permission_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/tab_contents/tab_util.h"
|
| #include "components/content_settings/core/browser/host_content_settings_map.h"
|
| @@ -204,6 +205,15 @@ void PermissionQueueController::OnPermissionSet(
|
| bool allowed) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
|
|
| + // Check if we should convert a dismiss decision into a block decision. This
|
| + // is gated on enabling the kBlockPromptsIfDismissedOften feature.
|
| + if (!update_content_setting &&
|
| + PermissionUtil::ShouldChangeDismissalToBlock(profile_, requesting_frame,
|
| + permission_type_)) {
|
| + update_content_setting = true;
|
| + allowed = false;
|
| + }
|
| +
|
| // TODO(miguelg): move the permission persistence to
|
| // PermissionContextBase once all the types are moved there.
|
| if (update_content_setting) {
|
|
|