// Copyright 2020 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_PERMISSIONS_PERMISSION_REVOCATION_REQUEST_H_ #define CHROME_BROWSER_PERMISSIONS_PERMISSION_REVOCATION_REQUEST_H_ #include <optional> #include "base/functional/callback.h" #include "base/memory/raw_ptr.h" #include "base/memory/weak_ptr.h" #include "base/time/time.h" #include "chrome/browser/permissions/crowd_deny_preload_data.h" #include "chrome/browser/permissions/crowd_deny_safe_browsing_request.h" #include "components/content_settings/core/common/content_settings_types.h" #include "url/gurl.h" class Profile; // Revokes the notifications permission if an origin marked as abusive or // disruptive. This is the case when: // 1) The notifications permission revocation experiment is enabled. // 2) The origin exists on ABUSIVE_PROMPTS, ABUSIVE_CONTENT or // DISRUPTIVE_BEHAVIOR blocking lists. // 3) The origin exists on SafeBrowsing. // 4) If a user granted notification permission via quiet permission prompt UI, // revocation will not applied. class PermissionRevocationRequest { … }; #endif // CHROME_BROWSER_PERMISSIONS_PERMISSION_REVOCATION_REQUEST_H_