| Index: chrome/browser/ui/page_info/page_info.cc
|
| diff --git a/chrome/browser/ui/page_info/page_info.cc b/chrome/browser/ui/page_info/page_info.cc
|
| index 63002bac6fb22c26dad497eca9ccf8b68dac2b46..05f6f8efc74f3a54109306785d1132b217f6ecb2 100644
|
| --- a/chrome/browser/ui/page_info/page_info.cc
|
| +++ b/chrome/browser/ui/page_info/page_info.cc
|
| @@ -32,6 +32,7 @@
|
| #include "chrome/browser/history/history_service_factory.h"
|
| #include "chrome/browser/infobars/infobar_service.h"
|
| #include "chrome/browser/permissions/chooser_context_base.h"
|
| +#include "chrome/browser/permissions/permission_decision_auto_blocker.h"
|
| #include "chrome/browser/permissions/permission_manager.h"
|
| #include "chrome/browser/permissions/permission_result.h"
|
| #include "chrome/browser/permissions/permission_uma_util.h"
|
| @@ -340,9 +341,14 @@ void PageInfo::OnSitePermissionChanged(ContentSettingsType type,
|
| RecordPageInfoAction(PAGE_INFO_CHANGED_PERMISSION);
|
|
|
| PermissionUtil::ScopedRevocationReporter scoped_revocation_reporter(
|
| - this->profile_, this->site_url_, this->site_url_, type,
|
| - PermissionSourceUI::OIB);
|
| + profile_, site_url_, site_url_, type, PermissionSourceUI::OIB);
|
|
|
| + // The permission may have been blocked due to being under embargo, so if it
|
| + // was changed away from BLOCK, clear embargo status if it exists.
|
| + if (setting != CONTENT_SETTING_BLOCK) {
|
| + PermissionDecisionAutoBlocker::GetForProfile(profile_)->RemoveEmbargoByUrl(
|
| + site_url_, type);
|
| + }
|
| content_settings_->SetNarrowestContentSetting(site_url_, site_url_, type,
|
| setting);
|
|
|
|
|