| Index: chrome/browser/notifications/platform_notification_service_impl.cc | 
| diff --git a/chrome/browser/notifications/platform_notification_service_impl.cc b/chrome/browser/notifications/platform_notification_service_impl.cc | 
| index 4c60c08daae8000ad58f8de373444e782274bc8e..0f0186f81fcb5a7fb540f2e581d8fcc4dfc9e175 100644 | 
| --- a/chrome/browser/notifications/platform_notification_service_impl.cc | 
| +++ b/chrome/browser/notifications/platform_notification_service_impl.cc | 
| @@ -11,6 +11,7 @@ | 
| #include "base/metrics/user_metrics.h" | 
| #include "base/metrics/user_metrics_action.h" | 
| #include "base/strings/utf_string_conversions.h" | 
| +#include "base/time/time.h" | 
| #include "build/build_config.h" | 
| #include "chrome/browser/browser_process.h" | 
| #include "chrome/browser/content_settings/host_content_settings_map_factory.h" | 
| @@ -18,6 +19,7 @@ | 
| #include "chrome/browser/notifications/notification_display_service_factory.h" | 
| #include "chrome/browser/notifications/notification_object_proxy.h" | 
| #include "chrome/browser/notifications/persistent_notification_delegate.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/profiles/profile.h" | 
| @@ -287,7 +289,18 @@ PlatformNotificationServiceImpl::CheckPermissionOnIOThread( | 
| if (setting == CONTENT_SETTING_BLOCK) | 
| return blink::mojom::PermissionStatus::DENIED; | 
|  | 
| -  return blink::mojom::PermissionStatus::ASK; | 
| +  // Check whether the permission has been embargoed (automatically blocked). | 
| +  // TODO(crbug.com/658020): make PermissionManager::GetPermissionStatus thread | 
| +  // safe so it isn't necessary to do this HostContentSettingsMap and embargo | 
| +  // check outside of the permissions code. | 
| +  PermissionResult result = PermissionDecisionAutoBlocker::GetEmbargoResult( | 
| +      host_content_settings_map, origin, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, | 
| +      base::Time::Now()); | 
| +  DCHECK(result.content_setting == CONTENT_SETTING_ASK || | 
| +         result.content_setting == CONTENT_SETTING_BLOCK); | 
| +  return result.content_setting == CONTENT_SETTING_ASK | 
| +             ? blink::mojom::PermissionStatus::ASK | 
| +             : blink::mojom::PermissionStatus::DENIED; | 
| } | 
|  | 
| void PlatformNotificationServiceImpl::DisplayNotification( | 
|  |