| Index: chrome/browser/ui/website_settings/website_settings.cc
|
| diff --git a/chrome/browser/ui/website_settings/website_settings.cc b/chrome/browser/ui/website_settings/website_settings.cc
|
| index a8549dddb7e8f68511f29b23c857127dbecb6272..3907724ba59e03bbd2aa428829cc482e14714361 100644
|
| --- a/chrome/browser/ui/website_settings/website_settings.cc
|
| +++ b/chrome/browser/ui/website_settings/website_settings.cc
|
| @@ -32,6 +32,8 @@
|
| #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_manager.h"
|
| +#include "chrome/browser/permissions/permission_result.h"
|
| #include "chrome/browser/permissions/permission_uma_util.h"
|
| #include "chrome/browser/permissions/permission_util.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| @@ -674,6 +676,23 @@ void WebsiteSettings::PresentSitePermissions() {
|
| NULL);
|
| }
|
|
|
| + // For permissions that are still prompting the user and haven't been
|
| + // explicitly set by another source, check its embargo status.
|
| + if (PermissionUtil::IsPermission(permission_info.type) &&
|
| + permission_info.setting == CONTENT_SETTING_DEFAULT &&
|
| + permission_info.source ==
|
| + content_settings::SettingSource::SETTING_SOURCE_USER) {
|
| + PermissionResult permission_result =
|
| + PermissionManager::Get(profile_)->GetPermissionStatus(
|
| + permission_info.type, site_url_, site_url_);
|
| +
|
| + // If under embargo, update |permission_info| to reflect that.
|
| + if (permission_result.content_setting == CONTENT_SETTING_BLOCK &&
|
| + permission_result.source != PermissionStatusSource::UNSPECIFIED) {
|
| + permission_info.setting = permission_result.content_setting;
|
| + }
|
| + }
|
| +
|
| permission_info_list.push_back(permission_info);
|
| }
|
|
|
|
|