Verify an abusive origin.

This patch verifies if an origin is on CrowdDenyPreloadData or
CrowdDenySafeBrowsing blocking list. If yes, the notifications
permission will be revoked.

Bug: 1106283
Change-Id: I73e9434d74f67281a99246fee8515a7ca604efa4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2301969
Reviewed-by: Illia Klimov <[email protected]>
Reviewed-by: Andy Paicu <[email protected]>
Reviewed-by: Balazs Engedy <[email protected]>
Reviewed-by: Mike West <[email protected]>
Reviewed-by: Peter Beverloo <[email protected]>
Reviewed-by: Brian White <[email protected]>
Reviewed-by: Christian Dullweber <[email protected]>
Reviewed-by: Colin Blundell <[email protected]>
Commit-Queue: Illia Klimov <[email protected]>
Auto-Submit: Illia Klimov <[email protected]>
Cr-Commit-Position: refs/heads/master@{#812349}
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index d8aa0fc..e0e2201e 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -1934,6 +1934,15 @@
     "When a site wishes to show notifications, the usual modal dialog is "
     "replaced with a quieter version.";
 
+const char kAbusiveNotificationPermissionRevocationName[] =
+    "Abusive notification permission revocation";
+const char kAbusiveNotificationPermissionRevocationDescription[] =
+    "Enables notification permission revocation for abusive origins. "
+    "Prior to dispatching a push message to the service worker, the origin is "
+    "verified through Safe Browsing. Origins with abusive notification "
+    "permission requests or content will have the notification permission "
+    "revoked.";
+
 const char kContentSettingsRedesignName[] = "Content settings page redesign";
 const char kContentSettingsRedesignDescription[] =
     "Enables a new content settings page UI.";