Extend or remove a series of notification-related histograms

Expired and removed
  * Notifications.ExtensionNotificationActionCount
  * Notifications.ExtensionNotificationType

Expired because the Notification Triggers OT is ramping down, but we'd
like to keep the code for now as it's expected to ramp up again soon.
  * Notifications.Triggers.ShowTriggerDelay
  * Notifications.Triggers.HasShowTrigger

Relevent for on-going feature development (to M88)
  * GCM.AccountMappingMessageReceived

Relevant for on-going feature development (to M90)
  * Notifications.Permissions.RevokeDeleteCount
  * ServiceWorker.NotificationClickEvent.Time
  * Webapp.NavigationStatus

Networking reliability metrics (to M90)
  * GCM.CheckinRequestStatus
  * InstanceID.GetToken.NetErrorCode
  * PushMessaging.UnregistrationIIDResult

On-disk database reliability metrics (to M90)
  * GCM.Crypto.InitKeyStoreSuccessRate
  * Notifications.Database.WriteTriggeredResult
  * Notifications.Database.ReadResourcesResult
  * Notifications.Database.ReadResourcesForTriggeredResult
  * Notifications.Database.DeleteAllForOriginsResult

Bug: 1104954, 1104956, 1104957, 1105075, 1105077, 1105076
Bug: 1105078, 1105079, 1105081, 1104955, 1109826

Change-Id: I3269e6b54b012a863811e550c02ab3fe8b78e4ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2302111
Commit-Queue: Peter Beverloo <peter@chromium.org>
Reviewed-by: Richard Knoll <knollr@chromium.org>
Reviewed-by: Brian White <bcwhite@chromium.org>
Cr-Commit-Position: refs/heads/master@{#794142}
diff --git a/chrome/browser/extensions/api/notifications/notifications_api.cc b/chrome/browser/extensions/api/notifications/notifications_api.cc
index 5e865b5..3db3795f 100644
--- a/chrome/browser/extensions/api/notifications/notifications_api.cc
+++ b/chrome/browser/extensions/api/notifications/notifications_api.cc
@@ -12,7 +12,6 @@
 #include "base/callback.h"
 #include "base/guid.h"
 #include "base/macros.h"
-#include "base/metrics/histogram_macros.h"
 #include "base/rand_util.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/strings/stringprintf.h"
@@ -253,8 +252,6 @@
   // Extract required fields: type, title, message, and icon.
   message_center::NotificationType type =
       MapApiTemplateTypeToType(options->type);
-  UMA_HISTOGRAM_ENUMERATION("Notifications.ExtensionNotificationType", type,
-                            message_center::NOTIFICATION_TYPE_LAST);
 
   const base::string16 title(base::UTF8ToUTF16(*options->title));
   const base::string16 message(base::UTF8ToUTF16(*options->message));
@@ -294,12 +291,6 @@
     // Currently we allow up to 2 buttons.
     size_t number_of_buttons = options->buttons->size();
 
-    // Use distinct buckets for 1-16 notification action buttons, and an
-    // overflow bucket for 17 or more action buttons. Does not impact how many
-    // action buttons are shown.
-    UMA_HISTOGRAM_ENUMERATION("Notifications.ExtensionNotificationActionCount",
-                              number_of_buttons, 17);
-
     number_of_buttons = number_of_buttons > 2 ? 2 : number_of_buttons;
 
     for (size_t i = 0; i < number_of_buttons; i++) {
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 7ec6aed..b3b0fa7 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -4636,7 +4636,7 @@
 </histogram>
 
 <histogram name="Android.SelectFileDialogImgCount" units="images"
-    expires_after="2021-07-17">
+    expires_after="M90">
   <owner>finnur@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -4648,7 +4648,7 @@
 </histogram>
 
 <histogram name="Android.SelectFileDialogScope" enum="SelectFileDialogScope"
-    expires_after="2021-07-17">
+    expires_after="M90">
   <owner>peter@chromium.org</owner>
   <owner>finnur@chromium.org</owner>
   <summary>
@@ -63333,7 +63333,7 @@
 </histogram>
 
 <histogram name="GCM.AccountMappingMessageReceived" enum="BooleanReceived"
-    expires_after="2020-08-25">
+    expires_after="M88">
   <owner>peter@chromium.org</owner>
   <owner>knollr@chromium.org</owner>
   <summary>
@@ -63380,7 +63380,7 @@
 </histogram>
 
 <histogram name="GCM.CheckinRequestStatusNetError" enum="NetErrorCodes"
-    expires_after="2020-08-30">
+    expires_after="M90">
   <owner>peter@chromium.org</owner>
   <owner>knollr@chromium.org</owner>
   <summary>
@@ -63509,7 +63509,7 @@
 </histogram>
 
 <histogram name="GCM.Crypto.InitKeyStoreSuccessRate" enum="BooleanSuccess"
-    expires_after="2020-08-25">
+    expires_after="M90">
   <owner>peter@chromium.org</owner>
   <owner>zea@chromium.org</owner>
   <summary>
@@ -71569,7 +71569,7 @@
 </histogram>
 
 <histogram name="InstanceID.GetToken.NetErrorCode" enum="NetErrorCodes"
-    expires_after="2020-08-25">
+    expires_after="M90">
   <owner>peter@chromium.org</owner>
   <owner>platform-capabilities@chromium.org</owner>
   <summary>
@@ -111828,7 +111828,7 @@
 </histogram>
 
 <histogram name="Notifications.Database.DeleteAllForOriginsResult"
-    enum="NotificationDatabaseStatus" expires_after="M86">
+    enum="NotificationDatabaseStatus" expires_after="M90">
   <owner>knollr@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -111910,7 +111910,7 @@
 </histogram>
 
 <histogram name="Notifications.Database.ReadResourcesForTriggeredResult"
-    enum="NotificationDatabaseStatus" expires_after="M86">
+    enum="NotificationDatabaseStatus" expires_after="M90">
   <owner>knollr@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -111921,7 +111921,7 @@
 </histogram>
 
 <histogram name="Notifications.Database.ReadResourcesResult"
-    enum="NotificationDatabaseStatus" expires_after="M86">
+    enum="NotificationDatabaseStatus" expires_after="M90">
   <owner>knollr@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -111952,7 +111952,7 @@
 </histogram>
 
 <histogram name="Notifications.Database.WriteTriggeredResult"
-    enum="NotificationDatabaseStatus" expires_after="M86">
+    enum="NotificationDatabaseStatus" expires_after="M90">
   <owner>knollr@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -111991,6 +111991,10 @@
 
 <histogram name="Notifications.ExtensionNotificationActionCount"
     units="buttons" expires_after="M86">
+  <obsolete>
+    Removed in July 2020 as the metrics are not needed anymore, and
+    documentation has been amended as a result of this collection.
+  </obsolete>
   <owner>dewittj@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -112018,6 +112022,10 @@
 
 <histogram name="Notifications.ExtensionNotificationType"
     enum="ExtensionNotificationType" expires_after="M86">
+  <obsolete>
+    Removed in July 2020 as the metrics are not needed anymore as platforms have
+    moved to native notifications, for which these metrics were used.
+  </obsolete>
   <owner>dewittj@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -112226,7 +112234,7 @@
 </histogram>
 
 <histogram name="Notifications.Permissions.RevokeDeleteCount" units="units"
-    expires_after="M86">
+    expires_after="M90">
   <owner>knollr@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -112503,6 +112511,9 @@
 
 <histogram name="Notifications.Triggers.HasShowTrigger" enum="Boolean"
     expires_after="M86">
+  <obsolete>
+    Removed July 2020 as the Origin Trial is ramping down.
+  </obsolete>
   <owner>knollr@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -112514,6 +112525,9 @@
 
 <histogram name="Notifications.Triggers.ShowTriggerDelay" units="days"
     expires_after="M86">
+  <obsolete>
+    Removed July 2020 as the Origin Trial is ramping down.
+  </obsolete>
   <owner>knollr@chromium.org</owner>
   <owner>peter@chromium.org</owner>
   <summary>
@@ -141216,7 +141230,7 @@
 </histogram>
 
 <histogram name="PushMessaging.UnregistrationIIDResult" enum="InstanceIDResult"
-    expires_after="2020-08-25">
+    expires_after="M90">
   <owner>peter@chromium.org</owner>
   <owner>knollr@chromium.org</owner>
   <summary>
@@ -158660,7 +158674,7 @@
 </histogram>
 
 <histogram name="ServiceWorker.NotificationClickEvent.Time" units="ms"
-    expires_after="2020-08-25">
+    expires_after="M90">
   <owner>peter@chromium.org</owner>
   <owner>knollr@chromium.org</owner>
   <summary>
@@ -189981,7 +189995,7 @@
 </histogram>
 
 <histogram name="Webapp.NavigationStatus" enum="BooleanSuccess"
-    expires_after="2020-08-25">
+    expires_after="M90">
   <owner>peter@chromium.org</owner>
   <owner>hartmanng@chromium.org</owner>
   <summary>