[Clean up] Delete obsolete histogram definitions in content/ and new_tab_page/

Bug: 1285123
Change-Id: I3772dee6c057ba051e05b111f28149b82dc3bb34
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3389009
Auto-Submit: Yue Ru Sun <yrsun@chromium.org>
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Commit-Queue: Robert Kaplow <rkaplow@chromium.org>
Cr-Commit-Position: refs/heads/main@{#960431}
diff --git a/tools/metrics/histograms/metadata/content/histograms.xml b/tools/metrics/histograms/metadata/content/histograms.xml
index 3e572954..4ae4e15b 100644
--- a/tools/metrics/histograms/metadata/content/histograms.xml
+++ b/tools/metrics/histograms/metadata/content/histograms.xml
@@ -36,22 +36,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentCapture.CaptureContentTime" units="microseconds"
-    expires_after="M87">
-  <obsolete>
-    Replaced by ContentCapture.CaptureContentTime2 since M87, the new histogram
-    records the grouping time additionally.
-  </obsolete>
-  <owner>michaelbai@chromium.org</owner>
-  <owner>src/third_party/blink/renderer/core/content_capture/OWNERS</owner>
-  <summary>
-    The time taken to capture the on-screen content.
-
-    Note that this metrics is only recorded on clients on which a
-    high-resolution clock is available.
-  </summary>
-</histogram>
-
 <histogram name="ContentCapture.CaptureContentTime2" units="microseconds"
     expires_after="2022-12-01">
   <owner>michaelbai@chromium.org</owner>
@@ -88,17 +72,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentCapture.SentContentCount" units="count"
-    expires_after="2021-04-04">
-  <obsolete>
-    Replaced by ContentCapture.SentContentCount2 in M89, which uses standard
-    buckets for 10k counts rather than exact linear buckets.
-  </obsolete>
-  <owner>michaelbai@chromium.org</owner>
-  <owner>src/third_party/blink/renderer/core/content_capture/OWNERS</owner>
-  <summary>The total number of content captures sent for a document.</summary>
-</histogram>
-
 <histogram name="ContentCapture.SentContentCount2" units="count"
     expires_after="2022-12-01">
   <owner>michaelbai@chromium.org</owner>
@@ -278,16 +251,6 @@
   <summary>The default notification setting at profile open.</summary>
 </histogram>
 
-<histogram name="ContentSettings.DefaultPluginsSetting" enum="ContentSetting"
-    expires_after="2021-06-19">
-  <obsolete>
-    Removed as of 09/2020. Flash / Plugins is deprecated.
-  </obsolete>
-  <owner>engedy@chromium.org</owner>
-  <owner>src/components/permissions/PERMISSIONS_OWNERS</owner>
-  <summary>The default plugins setting at profile open.</summary>
-</histogram>
-
 <histogram name="ContentSettings.DefaultPopupsSetting" enum="ContentSetting"
     expires_after="2022-06-19">
   <owner>engedy@chromium.org</owner>
@@ -335,18 +298,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentSettings.EphemeralFlashPermission"
-    enum="ContentSettings.EphemeralFlashPermission" expires_after="M89">
-  <obsolete>
-    Flash / Plugins is deprecated since M87 and removed in M89.
-  </obsolete>
-  <owner>engedy@chromium.org</owner>
-  <owner>src/components/permissions/PERMISSIONS_OWNERS</owner>
-  <summary>
-    Records the number of times Flash permission is granted for a host.
-  </summary>
-</histogram>
-
 <histogram name="ContentSettings.Exceptions" units="units"
     expires_after="never">
 <!-- expires-never: tracked as an important privacy metric. -->
@@ -474,60 +425,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentSettings.PermissionRequested_InsecureOrigin"
-    enum="PermissionType" expires_after="M90">
-  <obsolete>
-    Removed as of July 2021. No permissions are supported for insecure origins.
-  </obsolete>
-  <owner>dominickn@chromium.org</owner>
-  <owner>engedy@chromium.org</owner>
-  <owner>hkamila@chromium.org</owner>
-  <summary>
-    Number of times a given permission was requested by an insecure origin and
-    the user has the permission set to prompt (i.e. not blocked or allowed).
-
-    Note this is probably not the metric you want - it does not correspond to
-    the total number of times websites request a permission. Also, because
-    specific permissions have code that can automatically block or grant
-    permissions based on things like incognito, installed extensions etc., this
-    does also not correspond to the number of times users are prompted to allow
-    permissions.
-
-    For a better metric to track how often users are prompted, use
-    ContentSettings.PermissionsActions*.
-
-    See https://crbug.com/638076 for more details.
-  </summary>
-</histogram>
-
-<histogram name="ContentSettings.PermissionRequested_SecureOrigin"
-    enum="PermissionType" expires_after="M90">
-  <obsolete>
-    Removed as of July 2021. No permissions are supported for insecure origins.
-    So we don't need to differentiate between Secure and Insecure origins.
-    ContentSettings.PermissionRequested histogram is enough.
-  </obsolete>
-  <owner>dominickn@chromium.org</owner>
-  <owner>engedy@chromium.org</owner>
-  <owner>hkamila@chromium.org</owner>
-  <summary>
-    Number of times a given permission was requested by a secure origin and the
-    user has the permission set to prompt (i.e. not blocked or allowed).
-
-    Note this is probably not the metric you want - it does not correspond to
-    the total number of times websites request a permission. Also, because
-    specific permissions have code that can automatically block or grant
-    permissions based on things like incognito, installed extensions etc., this
-    does also not correspond to the number of times users are prompted to allow
-    permissions.
-
-    For a better metric to track how often users are prompted, use
-    ContentSettings.PermissionsActions*.
-
-    See https://crbug.com/638076 for more details.
-  </summary>
-</histogram>
-
 <histogram name="ContentSettings.Plugins" enum="ContentSettingPluginsAction"
     expires_after="M77">
   <owner>tommycli@chromium.org</owner>
@@ -633,86 +530,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentSuggestions.Feed.AppLifecycle.Events"
-    enum="AppLifecycleEvent" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: count of app lifecycle events reported to the Feed library.
-    Recorded as these events occur; e.g. when Chrome is foregrounded,
-    backgrounded, or the user clears cached browsing data.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.AppLifecycle.NumRowsForDeletion"
-    units="count" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: number of rows present in a history deletion that's causing all
-    current suggestions to be deleted. Each row should correspond to a url that
-    is beign removed from history. Is not emitted when entire history is being
-    cleared.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.AutoplayEvent"
-    enum="FeedAutoplayEvent" expires_after="M95">
-  <obsolete>
-    Removed as of 05/2021. Replaced by ContentSuggestions.Feed.VideoPlayEvent.
-  </obsolete>
-  <owner>jianli@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: records events triggered during the video autoplay.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.AvailableOffline.Opened"
-    enum="Boolean" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    When an article on the NTP is opened by the user, records whether it is
-    available offline. When an article is available offline, it will have an
-    offline badge in the UI on the NTP. Opening the article occurs when the user
-    navigates from the NTP to the article itself, which can be either in the
-    current tab or a new tab. Note that this is independent of whether the
-    article is actually opened as an offline page or not.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.AvailableOffline.Shown" enum="Boolean"
-    expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Records whether an article on the NTP that is shown to the user was also
-    available offline. When an article is available offline, it will have an
-    offline badge in the UI. The initial offline status of the article is used
-    for this metric. While it is possible for the offline status to change while
-    the article is on screen, this metric will not be re-emitted. The criteria
-    for an article to be &quot;shown&quot; is for 2/3 of its vertical height to
-    be on screen for any amount of time.
-  </summary>
-</histogram>
-
 <histogram name="ContentSuggestions.Feed.BrokenNTPHierarchy"
     enum="NTPBrokenViewHierarchyRelationship" expires_after="M99">
   <owner>adamta@google.com</owner>
@@ -774,20 +591,6 @@
   <summary>Actions related to the feed controls.</summary>
 </histogram>
 
-<histogram name="ContentSuggestions.Feed.Count" units="entries"
-    expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Tracks the number of entries for the Feed storage after database perform get
-    all keys request.
-  </summary>
-</histogram>
-
 <histogram name="ContentSuggestions.Feed.DisplayStatusOnOpen"
     enum="ContentSuggestionsDisplayStatus" expires_after="2022-06-26">
   <owner>carlosk@chromium.org</owner>
@@ -801,52 +604,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentSuggestions.Feed.FetchPendingSpinner.Shown"
-    enum="FeedSpinnerType" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The type of spinner when the content suggestion shows the loading
-    spinner. This is tracked based on if the spinner is shown, not how long it
-    is visible.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.FetchPendingSpinner.VisibleDuration"
-    units="ms" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: How long the content suggestion loading spinner is shown when a
-    loading spinner finishes showing. This is tracked based on when the spinner
-    is enabled in the UI, not how long it is actually visible on screen.
-  </summary>
-</histogram>
-
-<histogram
-    name="ContentSuggestions.Feed.FetchPendingSpinner.VisibleDurationWithoutCompleting"
-    units="ms" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: How long the content suggestion loading spinner is shown when a
-    spinner is destroyed without completing. This is tracked based on when the
-    spinner is enabled in the UI, not how long it is actually visible on screen.
-  </summary>
-</histogram>
-
 <histogram name="ContentSuggestions.Feed.ImageFetchStatus"
     enum="CombinedHttpResponseAndNetErrorCode" expires_after="2022-03-01">
   <owner>harringtond@chromium.org</owner>
@@ -858,58 +615,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentSuggestions.Feed.InterestHeader.NotInterestedInSource"
-    units="index" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    The position of an interest header on the NTP that the user has indicated
-    they aren't interested in the story's source.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.InterestHeader.NotInterestedInTopic"
-    units="index" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    The position of an interest header on the NTP that the user has indicated
-    they aren't interested in the story's topic.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.InternalError"
-    enum="FeedInternalError" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>The Feed library encountered an error at any time.</summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.LoadKeysTime" units="ms"
-    expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    The time it takes for the Feed to load all keys from the storage.
-  </summary>
-</histogram>
-
 <histogram base="true" name="ContentSuggestions.Feed.LoadStepLatency"
     units="ms" expires_after="2022-07-03">
   <owner>harringtond@chromium.org</owner>
@@ -935,19 +640,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentSuggestions.Feed.LoadTime" units="ms"
-    expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    The time it takes for the Feed to load entries from the storage.
-  </summary>
-</histogram>
-
 <histogram name="ContentSuggestions.Feed.Network.CompressedResponseSizeKB"
     units="KB" expires_after="2022-07-03">
   <owner>carlosk@chromium.org</owner>
@@ -1032,19 +724,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentSuggestions.Feed.Network.TokenDuration" units="ms"
-    expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    The amount of time it takes to get an access token for signed in users.
-  </summary>
-</histogram>
-
 <histogram name="ContentSuggestions.Feed.Network.TokenFetchStatus"
     enum="GoogleServiceAuthError" expires_after="2022-07-11">
   <owner>carlosk@chromium.org</owner>
@@ -1478,75 +1157,6 @@
   </summary>
 </histogram>
 
-<histogram name="ContentSuggestions.Feed.VisualElement.Clicked" units="index"
-    expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The position of a clicked element in the stream not accounting for
-    header views. The top being 0. Position does not change after initial
-    layout. Specifically the position does not update if dismisses/removes are
-    performed. This is similar to NewTabPage.ContentSuggestions.Opened, but
-    records the specific elementType that was clicked.
-  </summary>
-</histogram>
-
-<histogram
-    name="ContentSuggestions.Feed.VisualElement.Clicked.TimeSinceElementFetched"
-    units="ms" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The time since the content was made available on the device. This
-    could be the time for when this content was retrieved from the server or the
-    time the data was pushed to the device. Recorded when the user clicks the
-    element.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.VisualElement.Viewed" units="index"
-    expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The position of a viewed element in the stream not accounting for
-    header views. The top being 0. Position does not change after initial
-    layout. Specifically the position does not update if dismisses/removes are
-    performed. This is similar to NewTabPage.ContentSuggestions.Shown, but
-    records the view after it has been on the screen for 500 milliseconds of
-    time instead of on predraw.
-  </summary>
-</histogram>
-
-<histogram
-    name="ContentSuggestions.Feed.VisualElement.Viewed.TimeSinceElementFetched"
-    units="ms" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The time since the content was made available on the device. This
-    could be the time for when this content was retrieved from the server or the
-    time the data was pushed to the device. Recorded when the element has been
-    on the screen for 500 milliseconds.
-  </summary>
-</histogram>
-
 <histogram name="ContentSuggestions.Feed.WebFeed.FollowByIdResult"
     enum="WebFeedSubscriptionRequestStatus" expires_after="2022-07-01">
   <owner>harringtond@chromium.org</owner>
@@ -1720,48 +1330,6 @@
   </summary>
 </histogram>
 
-<histogram
-    name="ContentSuggestions.Feed.ZeroStateRefreshCompleted.ContentCount"
-    units="count" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    How many top level features were in an initial article fetch, typically
-    clusters. Recorded when an article fetch completes and were previously in
-    zero state.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.ZeroStateRefreshCompleted.TokenCount"
-    units="count" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    How many tokens were in an initial article fetch, typically ways to fetch
-    more articles. Recorded when an article fetch completes and were previously
-    in zero state.
-  </summary>
-</histogram>
-
-<histogram name="ContentSuggestions.Feed.ZeroStateShown.Reason"
-    enum="FeedZeroStateShowReason" expires_after="M89">
-  <obsolete>
-    Removed along with FeedV1 in M89
-  </obsolete>
-  <owner>carlosk@chromium.org</owner>
-  <owner>harringtond@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>The reason the zero state (no articles) is shown to a user.</summary>
-</histogram>
-
 <histogram name="ContentSuggestions.Feed.{PlayType}Video.InitializationError"
     enum="FeedVideoInitializationError" expires_after="M96">
   <owner>jianli@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/histogram_suffixes_list.xml b/tools/metrics/histograms/metadata/histogram_suffixes_list.xml
index 3739514..f6693a8 100644
--- a/tools/metrics/histograms/metadata/histogram_suffixes_list.xml
+++ b/tools/metrics/histograms/metadata/histogram_suffixes_list.xml
@@ -2603,10 +2603,6 @@
 <histogram_suffixes name="ContentSuggestionUndoableActions" separator=".">
   <suffix name="Commit" label="Action was committed"/>
   <suffix name="Undo" label="Action was undone"/>
-  <affected-histogram
-      name="ContentSuggestions.Feed.InterestHeader.NotInterestedInSource"/>
-  <affected-histogram
-      name="ContentSuggestions.Feed.InterestHeader.NotInterestedInTopic"/>
   <affected-histogram name="NewTabPage.ContentSuggestions.DismissedUnvisited"/>
   <affected-histogram name="NewTabPage.ContentSuggestions.DismissedVisited"/>
 </histogram_suffixes>
@@ -4939,12 +4935,6 @@
   <suffix name="InterestHeader" label="Interest header"/>
   <suffix name="Tooltip" label="Tooltip"/>
   <suffix name="UnknownElementType" label="Unknown element type"/>
-  <affected-histogram name="ContentSuggestions.Feed.VisualElement.Clicked"/>
-  <affected-histogram
-      name="ContentSuggestions.Feed.VisualElement.Clicked.TimeSinceElementFetched"/>
-  <affected-histogram name="ContentSuggestions.Feed.VisualElement.Viewed"/>
-  <affected-histogram
-      name="ContentSuggestions.Feed.VisualElement.Viewed.TimeSinceElementFetched"/>
 </histogram_suffixes>
 
 <histogram_suffixes name="FeedIsSynthetic" separator=".">
@@ -5026,19 +5016,12 @@
   <suffix name="MoreButton" label="More button"/>
   <suffix name="SyntheticToken" label="Synthetic token"/>
   <suffix name="ZeroStateRefresh" label="Zero state refresh"/>
-  <affected-histogram
-      name="ContentSuggestions.Feed.FetchPendingSpinner.VisibleDuration"/>
-  <affected-histogram
-      name="ContentSuggestions.Feed.FetchPendingSpinner.VisibleDurationWithoutCompleting"/>
 </histogram_suffixes>
 
 <histogram_suffixes name="FeedStorageType" separator="." ordering="prefix,2">
   <suffix name="ContentStorage" label="Database for content storage."/>
   <suffix name="JournalStorage" label="Database for journal storage."/>
   <affected-histogram name="ContentSuggestions.Feed.CommitMutationCount"/>
-  <affected-histogram name="ContentSuggestions.Feed.Count"/>
-  <affected-histogram name="ContentSuggestions.Feed.LoadKeysTime"/>
-  <affected-histogram name="ContentSuggestions.Feed.LoadTime"/>
   <affected-histogram name="ContentSuggestions.Feed.OperationCommitTime"/>
 </histogram_suffixes>
 
@@ -9104,7 +9087,6 @@
   <suffix name="SuccessWithSuggestions"
       label="Successfully fetched search suggestion data which contained
              suggestions"/>
-  <affected-histogram name="NewTabPage.SearchSuggestions.RequestLatencyV2"/>
 </histogram_suffixes>
 
 <histogram_suffixes name="NewTabPageIconTypes" separator=".">
@@ -9214,9 +9196,7 @@
     </obsolete>
   </suffix>
   <affected-histogram name="NewTabPage.MostVisited"/>
-  <affected-histogram name="NewTabPage.MostVisitedAge"/>
   <affected-histogram name="NewTabPage.SuggestionsImpression"/>
-  <affected-histogram name="NewTabPage.SuggestionsImpressionAge"/>
   <affected-histogram name="NewTabPage.TileTitle"/>
   <affected-histogram name="NewTabPage.TileTitleClicked"/>
   <affected-histogram name="NewTabPage.TileType"/>
diff --git a/tools/metrics/histograms/metadata/new_tab_page/histograms.xml b/tools/metrics/histograms/metadata/new_tab_page/histograms.xml
index 8f224ffa9..e9f100f 100644
--- a/tools/metrics/histograms/metadata/new_tab_page/histograms.xml
+++ b/tools/metrics/histograms/metadata/new_tab_page/histograms.xml
@@ -79,19 +79,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.BackgroundService.NextImage.RequestLatency"
-    units="ms" expires_after="M90">
-  <obsolete>
-    Never recorded. Marked obsolete 01/2021.
-  </obsolete>
-  <owner>yyushkina@chromium.org</owner>
-  <summary>
-    The time it took until a request from the New Tab Page for the next Backdrop
-    Image in a collection was served. The duration is measured from time the
-    client invokes the service call, to the time it receives the callback.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.Carts.AppliedDiscount" units="count"
     expires_after="2022-06-30">
   <owner>meiliang@chromium.org</owner>
@@ -833,56 +820,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.Lens.LensSupportStatus" enum="LensSupportStatus"
-    expires_after="2021-11-18">
-  <obsolete>
-    Removed 2021-03. Switch to use NewTabPage.LensSupportStatus.
-  </obsolete>
-  <owner>yusuyoutube@google.com</owner>
-  <owner>benwgold@google.com</owner>
-  <owner>fgorski@chromium.org</owner>
-  <owner>wylieb@chromium.org</owner>
-  <owner>lens-chrome@google.com</owner>
-  <summary>
-    Whether the user supports the camera assisted search with Google Lens and if
-    not, the reason why. Recorded only if the feature is enabled when the New
-    Tab Page search box is loaded.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Lens.TimeSpentInLens" units="ms"
-    expires_after="M94">
-  <obsolete>
-    Removed 2021-03. Switch to use NewTabPage.TimeSpentBeforeDismissLens.
-  </obsolete>
-  <owner>yusuyoutube@google.com</owner>
-  <owner>benwgold@google.com</owner>
-  <owner>fgorski@chromium.org</owner>
-  <owner>wylieb@chromium.org</owner>
-  <owner>lens-chrome@google.com</owner>
-  <summary>
-    Logged the elapsed time between the time when user enters the Google Lens
-    and the time when user returns to Chrome. Only logged on Android.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.LensSupportStatus" enum="LensSupportStatus"
-    expires_after="2021-11-18">
-  <obsolete>
-    Removed 2021-05. Switch to use Lens.Omnibox.LensSupportStatus.
-  </obsolete>
-  <owner>yusuyoutube@google.com</owner>
-  <owner>benwgold@google.com</owner>
-  <owner>fgorski@chromium.org</owner>
-  <owner>wylieb@chromium.org</owner>
-  <owner>lens-chrome@google.com</owner>
-  <summary>
-    Whether the user supports the camera assisted search with Google Lens and if
-    not, the reason why. Recorded only if the feature is enabled when the New
-    Tab Page search box is loaded.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.LoadTime" units="ms" expires_after="2022-07-11">
   <owner>tiborg@chromium.org</owner>
   <owner>yyushkina@chromium.org</owner>
@@ -1217,20 +1154,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.MostVisitedAge" units="seconds"
-    expires_after="2021-08-09">
-  <obsolete>
-    Removed 2021-07.
-  </obsolete>
-  <owner>tiborg@chromium.org</owner>
-  <owner>yyushkina@chromium.org</owner>
-  <owner>chrome-desktop-ntp@google.com</owner>
-  <summary>
-    The age of the data at click time, that is, the elapsed time since the
-    suggestion was generated by a ranking algorithm.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.MostVisitedMigratedDefaultAppType"
     enum="TypeOfDeletedMostVisitedApp" expires_after="M103">
   <owner>dibyapal@chromium.org</owner>
@@ -1251,21 +1174,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.NumberOfPreinstalledApps" units="count"
-    expires_after="M97">
-  <obsolete>
-    Removed from code in 2022-01.
-  </obsolete>
-  <owner>phillis@chromium.org</owner>
-  <owner>desktop-pwas-team@google.com</owner>
-  <summary>
-    The number of preinstalled apps that are in NTP tiles. Recorded when new tab
-    page is loaded. Recorded before reloading the suggestions, navigating to a
-    URL, switching tabs, changing the active window or closing the tab/shutting
-    down Chrome.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.NumberOfTiles" units="units"
     expires_after="2022-06-12">
   <owner>tiborg@chromium.org</owner>
@@ -1373,90 +1281,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.Promo.EnhancedProtectionPromo"
-    enum="AndroidEnhancedProtectionPromoAction" expires_after="2022-05-15">
-  <obsolete>
-    Removed from code in 2021-12.
-  </obsolete>
-  <owner>drubery@chromium.org</owner>
-  <owner>chrome-safebrowsing-core@google.com</owner>
-  <summary>
-    Records events related to the Safe Browsing Enhanced Protection promo card
-    on the new tab page. Recorded for Android only.
-  </summary>
-</histogram>
-
-<histogram
-    name="NewTabPage.Promo.EnhancedProtectionPromo.ImpressionUntilAction"
-    units="units" expires_after="2022-05-22">
-  <obsolete>
-    Removed from code in 2021-12.
-  </obsolete>
-  <owner>drubery@chromium.org</owner>
-  <owner>chrome-safebrowsing-core@google.com</owner>
-  <summary>
-    The number of times that the Safe Browsing Enhanced Protection promo was
-    shown to the user before they took action. Recorded when the user accepts
-    the homepage promo. Recorded for Android only.
-  </summary>
-</histogram>
-
-<histogram
-    name="NewTabPage.Promo.EnhancedProtectionPromo.ImpressionUntilDismissal"
-    units="units" expires_after="2022-05-29">
-  <obsolete>
-    Removed from code in 2021-12.
-  </obsolete>
-  <owner>drubery@chromium.org</owner>
-  <owner>chrome-safebrowsing-core@google.com</owner>
-  <summary>
-    The number of times that the Safe Browsing Enhanced Protection promo was
-    shown to the user before it was manually dismissed. Recorded when the user
-    dismisses the promo. Recorded for Android only.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Promo.HomepagePromo"
-    enum="AndroidHomepagePromoAction" expires_after="2021-05-09">
-  <obsolete>
-    Removed in January 2021.
-  </obsolete>
-  <owner>wenyufu@chromium.org</owner>
-  <owner>twellington@chromium.org</owner>
-  <summary>
-    Records events related to the homepage promo card on the new tab page.
-    Recorded for Android only.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Promo.HomepagePromo.ImpressionUntilAction"
-    units="units" expires_after="2021-05-09">
-  <obsolete>
-    Removed in January 2021.
-  </obsolete>
-  <owner>wenyufu@chromium.org</owner>
-  <owner>twellington@chromium.org</owner>
-  <summary>
-    The number of times that the homepage promo was shown to the user before
-    they took action. Recorded when the user accepts the homepage promo.
-    Recorded for Android only.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Promo.HomepagePromo.ImpressionUntilDismissal"
-    units="units" expires_after="2021-05-16">
-  <obsolete>
-    Removed in January 2021.
-  </obsolete>
-  <owner>wenyufu@chromium.org</owner>
-  <owner>twellington@chromium.org</owner>
-  <summary>
-    The number of times that the homepage promo was shown to the user before it
-    was manually dismissed. Recorded when the user dismisses the promo. Recorded
-    for Android only.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.Promos.LinkClicked" units="count"
     expires_after="never">
 <!-- expires-never: part of top-line metric (internal: go/chrome-browser-nsm) -->
@@ -1574,36 +1398,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.RepeatableQueries.ExtractedCount" units="count"
-    expires_after="2021-10-25">
-  <obsolete>
-    Removed in 05 2021.
-  </obsolete>
-  <owner>mahmadi@chromium.org</owner>
-  <owner>chrome-desktop-ntp@google.com</owner>
-  <summary>
-    The number of normalized search queries extracted from the in-memory URL DB
-    and examined (e.g., sorted) to produce repeatable query suggestions for
-    signed-out users. Triggered every time a signed-out user opens a new tab
-    when the repeatable queries are enabled.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.RepeatableQueries.ExtractionDuration" units="ms"
-    expires_after="2021-10-25">
-  <obsolete>
-    Removed in 05 2021.
-  </obsolete>
-  <owner>mahmadi@chromium.org</owner>
-  <owner>chrome-desktop-ntp@google.com</owner>
-  <summary>
-    The length of time it takes to extract normalized search queries from the
-    in-memory URL DB and examine (e.g., sort) them to produce repeatable query
-    suggestions for signed-out users. Triggered every time a signed-out user
-    opens a new tab when the repeatable queries are enabled.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.RequestThrottler.PerDay" units="requests"
     expires_after="2021-07-01">
   <owner>freedjm@chromium.org</owner>
@@ -1669,64 +1463,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.SearchSuggestions.IndexClicked" units="units"
-    expires_after="never">
-  <obsolete>
-    Not recorded since deprecation of search suggestions. Marked obsolete
-    09/2021.
-  </obsolete>
-  <owner>dbeam@chromium.org</owner>
-  <owner>yyushkina@chromium.org</owner>
-  <owner>chrome-analysis-team@google.com</owner>
-  <summary>
-    The index of the search suggestion tile that was clicked on the local NTP.
-
-    This histogram is of special interest to the chrome-analysis-team@. Do not
-    change its semantics or retire it without talking to them first.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.SearchSuggestions.RequestLatencyV2" units="ms"
-    expires_after="M82">
-  <obsolete>
-    Not recorded since deprecation of search suggestions. Marked obsolete
-    09/2021.
-  </obsolete>
-  <owner>dbeam@chromium.org</owner>
-  <owner>yyushkina@chromium.org</owner>
-  <summary>
-    The time it took until a request from the New Tab page for the search
-    suggestions script was served. Recorded only on the local NTP.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.SearchSuggestions.RequestStatusV2"
-    enum="NTPSearchSuggestionsRequestStatus" expires_after="M82">
-  <obsolete>
-    Not recorded since deprecation of search suggestions. Marked obsolete
-    09/2021.
-  </obsolete>
-  <owner>dbeam@chromium.org</owner>
-  <owner>yyushkina@chromium.org</owner>
-  <summary>
-    Whether a request was made for search suggestions on NTP load; and if a
-    request was not made, the reason why.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.SearchSuggestions.ShownCount" units="units"
-    expires_after="M82">
-  <obsolete>
-    Not recorded since deprecation of search suggestions. Marked obsolete
-    09/2021.
-  </obsolete>
-  <owner>dbeam@chromium.org</owner>
-  <owner>yyushkina@chromium.org</owner>
-  <summary>
-    The number of search suggestion tiles that were shown on the local NTP.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.ShoppingTasks.ProductClick" units="index"
     expires_after="2022-07-01">
   <owner>danpeng@google.com</owner>
@@ -1779,95 +1515,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.Snippets.DatabaseLoadTime" units="ms"
-    expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The time it took to load the database of persisted content
-    suggestions. Recorded only when the database is loaded successfully.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Snippets.EnteredState" enum="NTPSnippetsState"
-    expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The state of the RemoteSuggestionsProvider. Recorded when the state
-    changes, typically once at startup and rarely afterwards, e.g. on database
-    errors.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Snippets.FetchHttpResponseOrErrorCode"
-    enum="CombinedHttpResponseAndNetErrorCode" expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Response or error codes encountered when attempting to fetch snippets.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Snippets.FetchResult" enum="NtpSnippetsFetchResult"
-    expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Result of attempting a fetch, logged once per issued trigger.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Snippets.FetchTime" units="ms" expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Time spent fetching snippets. Only recorded for fetch attempts that resulted
-    in an actual network request.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Snippets.FetchTimeLocal" units="minutes"
-    expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Records the time of the day in minutes when a snippets background fetch was
-    initiated. Counts minutes since midnight UTC.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Snippets.FetchTimeUTC" units="minutes"
-    expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Records the time of the day in minutes when a snippets background fetch was
-    initiated. Counts minutes since midnight local time.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.Snippets.IncompleteSnippetsAfterFetch"
     enum="Boolean" expires_after="M85">
   <owner>maybelle@chromium.org</owner>
@@ -1877,59 +1524,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.Snippets.NumArticles" units="articles"
-    expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The number of snippet articles available to show on the NTP, logged
-    once every time the list is updated.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Snippets.NumArticlesFetched" units="articles"
-    expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The number of valid snippet articles fetched from the server,
-    logged every time a fetch finishes successfully.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Snippets.NumArticlesZeroDueToDiscarded"
-    units="articles" expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    Android: The number of snippet articles discarded by the user, logged every
-    time the list is updated resulting in an empty list (all articles
-    discarded).
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.Snippets.NumIncompleteSnippets" units="snippets"
-    expires_after="M85">
-  <obsolete>
-    Removed in October 2020.
-  </obsolete>
-  <owner>freedjm@chromium.org</owner>
-  <owner>feed@chromium.org</owner>
-  <summary>
-    The number of snippets that we discard per fetch due to having incomplete
-    data.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.SuggestionsImpression" enum="MostVisitedTileIndex"
     expires_after="2022-06-12">
   <owner>tiborg@chromium.org</owner>
@@ -1941,71 +1535,6 @@
   </summary>
 </histogram>
 
-<histogram name="NewTabPage.SuggestionsImpressionAge" units="seconds"
-    expires_after="2021-08-09">
-  <obsolete>
-    Removed 2021-07.
-  </obsolete>
-  <owner>tiborg@chromium.org</owner>
-  <owner>yyushkina@chromium.org</owner>
-  <owner>chrome-desktop-ntp@google.com</owner>
-  <summary>
-    The age of the data at impression time, that is, the elapsed time since the
-    suggestion was generated by a ranking algorithm.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.TasksSurface.Lens.LensSupportStatus"
-    enum="LensSupportStatus" expires_after="2021-11-18">
-  <obsolete>
-    Removed 2021-03. Switch to use NewTabPage.TasksSurface.LensSupportStatus.
-  </obsolete>
-  <owner>yusuyoutube@google.com</owner>
-  <owner>benwgold@google.com</owner>
-  <owner>fgorski@chromium.org</owner>
-  <owner>wylieb@chromium.org</owner>
-  <owner>lens-chrome@google.com</owner>
-  <summary>
-    Whether the user supports the camera assisted search with Google Lens and if
-    not, the reason why. Recorded only if the feature is enabled when the Task
-    Surface search box is loaded.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.TasksSurface.Lens.TimeSpentInLens" units="ms"
-    expires_after="M94">
-  <obsolete>
-    Removed 2021-03. Switch to use
-    NewTabPage.TasksSurface.TimeSpentBeforeDismissLens.
-  </obsolete>
-  <owner>yusuyoutube@google.com</owner>
-  <owner>benwgold@google.com</owner>
-  <owner>fgorski@chromium.org</owner>
-  <owner>wylieb@chromium.org</owner>
-  <owner>lens-chrome@google.com</owner>
-  <summary>
-    Logged the elapsed time between the time when user enters the Google Lens
-    and the time when user returns to Chrome. Only logged on Android.
-  </summary>
-</histogram>
-
-<histogram name="NewTabPage.TasksSurface.LensSupportStatus"
-    enum="LensSupportStatus" expires_after="2021-11-18">
-  <obsolete>
-    Removed 2021-05. Switch to use Lens.Omnibox.LensSupportStatus.
-  </obsolete>
-  <owner>yusuyoutube@google.com</owner>
-  <owner>benwgold@google.com</owner>
-  <owner>fgorski@chromium.org</owner>
-  <owner>wylieb@chromium.org</owner>
-  <owner>lens-chrome@google.com</owner>
-  <summary>
-    Whether the user supports the camera assisted search with Google Lens and if
-    not, the reason why. Recorded only if the feature is enabled when the Task
-    Surface search box is loaded.
-  </summary>
-</histogram>
-
 <histogram name="NewTabPage.TasksSurface.TimeSpentBeforeDismissLens" units="ms"
     expires_after="M97">
   <owner>yusuyoutube@google.com</owner>